<?php
define('MAPI_EXCEPTION_AFFILIATE_BASE_ERROR',101);
define('MAPI_EXCEPTION_AFFILIATE_UNKNOWN_AFFILIATE',102);
define('MAPI_EXCEPTION_AFFILIATE_INCORRECT_EU',103);
define('MAPI_EXCEPTION_AFFILIATE_CUSTOMER_ID_ERROR',104);
define('MAPI_EXCEPTION_AFFILIATE_ACCOUNT_ID_ERROR',105);
define('MAPI_EXCEPTION_AFFILIATE_VALUE_ERROR',106);
define('MAPI_EXCEPTION_AFFILIATE_INCORRECT_TAG',107);


define('MAPI_EXCEPTION_INSTALLMENT_BASE_ERROR',201);
define('MAPI_EXCEPTION_INSTALLMENT_SETFIRST_ERROR',202);
define('MAPI_EXCEPTION_INSTALLMENT_FIRST_BOOLEAN',203);
define('MAPI_EXCEPTION_INSTALLMENT_PRICE_ERROR',204);
define('MAPI_EXCEPTION_INSTALLMENT_INCORRECT_TAG',205);
define('MAPI_EXCEPTION_INSTALLMENT_TAX_ERROR',206);


define('MAPI_EXCEPTION_MULTIPLEP_ORDER_TAG_CONTENT_ERROR',301);
define('MAPI_EXCEPTION_MULTIPLEP_ORDER_TAG_TOO_MANY_OBJECTS',302);
define('MAPI_EXCEPTION_MULTIPLEP_ITEMS_TAG_CONTENT_ERROR',303);
define('MAPI_EXCEPTION_MULTIPLEP_ITEMS_TAG_TOO_MANY_OBJECTS',304);
define('MAPI_EXCEPTION_MULTIPLEP_INCORRECT_TAG',305);
define('MAPI_EXCEPTION_MULTIPLEP_CONSTRUCT_ERROR',306);


define('MAPI_EXCEPTION_ORDER_BASE_ERROR',401);
define('MAPI_EXCEPTION_ORDER_UNKNOWN_CATEGORY',402);
define('MAPI_EXCEPTION_ORDER_TITLE_ERROR',403);
define('MAPI_EXCEPTION_ORDER_INFO_ERROR',404);
define('MAPI_EXCEPTION_ORDER_UNKNOWN_TAG',405);
define('MAPI_EXCEPTION_ORDER_SHIPPING_ERROR',406);
define('MAPI_EXCEPTION_ORDER_INSURANCE_ERROR',407);
define('MAPI_EXCEPTION_ORDER_FCOST_ERROR',408);
define('MAPI_EXCEPTION_ORDER_AFFILIATE_ERROR',409);


define('MAPI_EXCEPTION_SIMPLEP_ORDER_TAG_CONTENT_ERROR',501);
define('MAPI_EXCEPTION_SIMPLEP_ITEMS_TAG_CONTENT_ERROR',502);
define('MAPI_EXCEPTION_SIMPLEP_INCORRECT_TAG',503);
define('MAPI_EXCEPTION_SIMPLEP_CONSTRUCT_ERROR',504);

define('MAPI_EXCEPTION_PARAMS_BASE_ERROR',601);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_LOGIN',602);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_PASSWORD',603);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_LOGIN_2',604);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_ITEM_ACCT',605);
define('MAPI_EXCEPTION_PARAMS_FORBIDDEN_ITEM_ACCT',606);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_ITEM_ACCT_2',607);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_TAX_ACCT',608);
define('MAPI_EXCEPTION_PARAMS_FORBIDDEN_TAX_ACCT',609);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_TAX_ACCT_2',610);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_INS_ACCT',611);
define('MAPI_EXCEPTION_PARAMS_FORBIDDEN_INS_ACCT',612);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_INS_ACCT_2',613);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_FCOST_ACCT',614);
define('MAPI_EXCEPTION_PARAMS_FORBIDDEN_FCOST_ACCT',615);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_FCOST_ACCT_2',616);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_SHIP_ACCT',617);
define('MAPI_EXCEPTION_PARAMS_FORBIDDEN_SHIP_ACCT',618);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_SHIP_ACCT_2',619);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_EU_ID',620);
define('MAPI_EXCEPTION_PARAMS_NO_LANG_AVAILABLE',621);
define('MAPI_EXCEPTION_PARAMS_LANG_NOT_SUPPORTED',622);
define('MAPI_EXCEPTION_PARAMS_NO_MEDIA_AVAILABLE',623);
define('MAPI_EXCEPTION_PARAMS_MEDIA_NOT_SUPPORTED',624);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_RATING',625);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_PAYMENT_METHOD',626);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_CURRENCY',627);
define('MAPI_EXCEPTION_PARAMS_INCORRECT_MERCH_SITE_ID',628);
define('MAPI_EXCEPTION_PARAMS_LANG_ERROR',629);
define('MAPI_EXCEPTION_PARAMS_MEDIA_ERROR',630);
define('MAPI_EXCEPTION_PARAMS_RATING_ERROR',631);
define('MAPI_EXCEPTION_PARAMS_METHOD_ERROR',632);
define('MAPI_EXCEPTION_PARAMS_CAPTURE_DAY_ERROR',633);
define('MAPI_EXCEPTION_PARAMS_CURRENCY_ERROR',634);
define('MAPI_EXCEPTION_PARAMS_ID_MERCHANT_ERROR',635);
define('MAPI_EXCEPTION_PARAMS_SITE_ID_ERROR',636);
define('MAPI_EXCEPTION_PARAMS_URLOK_ERROR',637);
define('MAPI_EXCEPTION_PARAMS_URLNOK_ERROR',638);
define('MAPI_EXCEPTION_PARAMS_URLCAN_ERROR',639);
define('MAPI_EXCEPTION_PARAMS_URLACK_ERROR',640);
define('MAPI_EXCEPTION_PARAMS_ACKWD_ERROR',641);
define('MAPI_EXCEPTION_PARAMS_EMAILACK_ERROR',642);
define('MAPI_EXCEPTION_PARAMS_BGCOLOR_ERROR',643);
define('MAPI_EXCEPTION_PARAMS_URLLOGO_ERROR',644);
define('MAPI_EXCEPTION_PARAMS_MDATAS_ERROR',645);
define('MAPI_EXCEPTION_PARAMS_UNKNOWN_TAG',646);
define('MAPI_EXCEPTION_PARAMS_LOGIN_ERROR',647);
define('MAPI_EXCEPTION_PARAMS_ACCTS_ERROR',648);
define('MAPI_EXCEPTION_PARAMS_ID_GROUP_ERROR',649);


define('MAPI_EXCEPTION_PRODUCT_BASE_ERROR',701);
define('MAPI_EXCEPTION_PRODUCT_NAME_ERROR',702);
define('MAPI_EXCEPTION_PRODUCT_INFO_ERROR',703);
define('MAPI_EXCEPTION_PRODUCT_QUANTITY_ERROR',704);
define('MAPI_EXCEPTION_PRODUCT_REF_ERROR',705);
define('MAPI_EXCEPTION_PRODUCT_CATEGORY_ERROR',706);
define('MAPI_EXCEPTION_PRODUCT_PRICE_ERROR',707);
define('MAPI_EXCEPTION_PRODUCT_INCORRECT_TAG',708);
define('MAPI_EXCEPTION_PRODUCT_TAX_ERROR',709);

define('MAPI_EXCEPTION_TAX_BASE_ERROR',801);
define('MAPI_EXCEPTION_TAX_NAME_ERROR',802);
define('MAPI_EXCEPTION_TAX_ACCOUNT_ERROR',803);
define('MAPI_EXCEPTION_TAX_PERCENTAGE_NOT_BOOLEAN_ERROR',804);
define('MAPI_EXCEPTION_TAX_VALUE_ERROR',805);
define('MAPI_EXCEPTION_TAX_INCORRECT_TAG',806);

class MAPI_Exception extends Exception {
	private $keyword;
	private $value;
	function __construct($keyword,$value,$msg,$code=0) {
		$this->keyword=$keyword;
		$this->value=$value;
		parent::__construct($msg,$code);
	}
	
	public function getKeyword() {
		return $this->keyword;
	}
	public function getValue() {
		return $this->value;
	}
}
