.. _guest_service: Guest Service ============= The guest service provides endpoints to obtain information about accounts, guests, and stores that is usually guest-facing. .. contents:: Topics Endpoints --------- Get Printed Card Number For External Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/printedCardNumberForExternalAccount.json Obtains information about a primary card for an account associated with an external account code. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String accountCode: *(required)* The external account code associated with the account to get primary card information about. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object primaryCard: *(required)* The information about the primary card associated with the external account. See :http:jsonentity:`CardInformation` for the format of this object. :jsonparam List[Object] additionalCards: *(required)* The information about any additional cards associated with the external account. See :http:jsonentity:`CardInformation` for the format of this object. For example: .. code:: javascript { "result": "success", "primaryCard": { "maskedCardNumber": "200841", "printedCardNumber": "6000201000200841", "status": "ACTIVE" }, "additionalCards": [ { "maskedCardNumber": "399785", "printedCardNumber": "6000201000200841", "status": "DISABLED" }, { "maskedCardNumber": "374565", "printedCardNumber": "64556365000200841", "status": "ACTIVE" } ] } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Account Information (Balance Inquiry) By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/accountInformation.json Obtains information about an account (specified by a printed card number) including the wallet balances and the username associated with the account if it is registered to a user. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Printed card number associated with the account to get information about :query Integer accessFilterStoreGroupCode: *(optional)* Paytronix-assigned store group code that the account is associated with. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String username: *(required)* Username registered for this account if applicable :jsonparam String accountStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``SUSPENDED`` :jsonparam String queryCardStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String registrationStatus: *(required)* Possible values in a success reply: ``UNREGISTERED``, ``VERIFICATION_PENDING``, ``REGISTERED``. :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program in which the account is enrolled. :jsonparam String cardTemplateLabel: *(required)* The name of the program (i.e., card template) :jsonparam Integer tierCode: *(required)* Paytronix-assigned tier code identifying the grouping to which this user belongs. :jsonparam String tierLabel: *(required)* The name of the tier :jsonparam Object fields: *(required)* See :http:jsonentity:`AccountFields` for format of this object. :jsonparam Object primaryCard: *(required)* Information about the current primary card associated with the account, which may differ from the requested printed card number when the account has multiple associated cards. Object has the format ``{ "printedCardNumber": "1111222233334444", "maskedCardNumber": "334444", "status": "ACTIVE" }`` :jsonparam [Object] additionalCards: *(required)* Information about additional cards associated with the account. Each object is the same format as ``primaryCard`` - ``{ "printedCardNumber": "...", "maskedCardNumber": "...", "status": "..." }`` :jsonparam Object storedValueBalance: *(required)* Information about the stored value balance of the account, if the account has stored value enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam Object chargeBalance: *(required)* Information about the charge balance of the account, if the account has charge enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam [Object] pointBalances: *(required)* Information about the point balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] rewardBalances: *(required)* Information about the reward balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] pendingEventRewards: *(required)* List of pending rewards in an account. See :http:jsonentity:`PendingEventReward`. For example: .. code:: javascript { "result": "success", "accountStatus": "ACTIVE", "additionalCards": [], "cardTemplateCode": 0, "cardTemplateLabel": "Loyalty Card", "fields": { "customerNumber": "", "externalAccounts": [], "perks": [ { "code": 0, "label": "test1" }, { "code": 1, "label": "test2" } ] }, "pointBalances": [ { "balance": "3.0000", "name": "Drink Stamps", "walletCode": 5, "giftable": false, "hideExpirationDates": false } ], "primaryCard": { "maskedCardNumber": "200841", "printedCardNumber": "6000201000200841", "status": "ACTIVE" }, "queryCardStatus": "ACTIVE", "rewardBalances": [ { "balance": "0.0000", "name": "Birthday Free Drink", "walletCode": 3, "giftable": false, " hideExpirationDates": false }, { "balance": "1.0000", "name": "Free Drink", "walletCode": 6, "expirations": [ { "amount": 1, "expirationDate": "2011-05-01" } ], "giftable": false, "hideExpirationDates": false } ], "storedValueBalance": { "balance": "0.0000", "name": "Stored Value", "walletCode": 0, "giftable": false, "hideExpirationDates": true }, "tierCode": 1, "tierLabel": "Platinum", "username": "mmhc-112310" } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: invalid_status :jsonparam String result: *(required)* ``invalid_status`` :jsonparam String accountStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``SUSPENDED``, ``TERMINATED``, ``EXPIRED``, ``ABANDONED`` :jsonparam String cardStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Account Information (Balance Inquiry) By Account Id ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/accountInformationById.json Obtains information about an account (specified by an accountId) including the wallet balances and the username associated with the account if it is registered to a user. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query Integer accountId: *(required)* Account ID of the account :query Integer accessFilterStoreGroupCode: *(optional)* Paytronix-assigned store group code that the account is associated with. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String username: *(required)* Username registered for this account if applicable :jsonparam String accountStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``SUSPENDED`` :jsonparam String queryCardStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String registrationStatus: *(required)* Possible values in a success reply: ``UNREGISTERED``, ``VERIFICATION_PENDING``, ``REGISTERED``. :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program in which the account is enrolled. :jsonparam String cardTemplateLabel: *(required)* The name of the program (i.e., card template) :jsonparam Integer tierCode: *(required)* Paytronix-assigned tier code identifying the grouping to which this user belongs. :jsonparam String tierLabel: *(required)* The name of the tier :jsonparam Object fields: *(required)* See :http:jsonentity:`AccountFields` for format of this object. :jsonparam Object primaryCard: *(required)* Information about the current primary card associated with the account, which may differ from the requested printed card number when the account has multiple associated cards. Object has the format ``{ "printedCardNumber": "1111222233334444", "maskedCardNumber": "334444", "status": "ACTIVE" }`` :jsonparam [Object] additionalCards: *(required)* Information about additional cards associated with the account. Each object is the same format as ``primaryCard`` - ``{ "printedCardNumber": "...", "maskedCardNumber": "...", "status": "..." }`` :jsonparam Object storedValueBalance: *(required)* Information about the stored value balance of the account, if the account has stored value enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam Object chargeBalance: *(required)* Information about the charge balance of the account, if the account has charge enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam [Object] pointBalances: *(required)* Information about the point balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] rewardBalances: *(required)* Information about the reward balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] pendingEventRewards: *(required)* List of pending rewards in an account. See :http:jsonentity:`PendingEventReward`. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: invalid_status :jsonparam String result: *(required)* ``invalid_status`` :jsonparam String accountStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``SUSPENDED``, ``TERMINATED``, ``EXPIRED``, ``ABANDONED`` :jsonparam String cardStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Use Your Email As A Username ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/migrateEmailAsUsername.json Allows a user to use their email address as a username. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username of the account :query String email: *(required)* The email address of the account .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String newUsername: *(required)* The new username (which is now the user's email) of the account. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Account Information for eClub Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/eClubAccountInformation.json Obtains information about an account including the wallet balances associated with the account. The following authentication methods are allowed for this endpoint: * :ref:`email_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String email: *(required)* Email address associated with the account to get information about. :query Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the eClub template. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String accountStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``SUSPENDED`` :jsonparam String queryCardStatus: *(required)* Possible values in a success reply: ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String registrationStatus: *(required)* Possible values in a success reply: ``UNREGISTERED``, ``VERIFICATION_PENDING``, ``REGISTERED``. :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program in which the account is enrolled. :jsonparam String cardTemplateLabel: *(required)* The name of the program (i.e., card template) :jsonparam Integer tierCode: *(required)* Paytronix-assigned tier code identifying the grouping to which this user belongs. :jsonparam String tierLabel: *(required)* The name of the tier :jsonparam Object fields: *(required)* See :http:jsonentity:`AccountFields` for format of this object. :jsonparam Object primaryCard: *(required)* Information about the current primary card associated with the account, which may differ from the requested printed card number when the account has multiple associated cards. Object has the format ``{ "printedCardNumber": "1111222233334444", "maskedCardNumber": "334444", "status": "ACTIVE" }`` :jsonparam [Object] additionalCards: *(required)* Information about additional cards associated with the account. Each object is the same format as ``primaryCard`` - ``{ "printedCardNumber": "...", "maskedCardNumber": "...", "status": "..." }`` :jsonparam Object storedValueBalance: *(required)* Information about the stored value balance of the account, if the account has stored value enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam Object chargeBalance: *(required)* Information about the charge balance of the account, if the account has charge enabled. See :http:jsonentity:`BalanceInformation` for format of the object. :jsonparam [Object] pointBalances: *(required)* Information about the point balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] rewardBalances: *(required)* Information about the reward balances of the account. See :http:jsonentity:`BalanceInformation` for format of the objects. :jsonparam [Object] pendingEventRewards: *(required)* List of pending rewards in an account. See :http:jsonentity:`PendingEventReward`. For example: .. code:: javascript { "result": "success", "accountId": 331123425, "accountStatus": "ACTIVE", "additionalCards": [ ], "cardTemplateCode": 0, "cardTemplateLabel": "eClub", "enrollmentStore": { "code": "01", "label": "Store1" }, "fields": { "enrollDate": "2015-04-22", "externalAccounts": [ ], "perks": [ ] }, "registrationStatus": "REGISTERED", "pointBalances": [ ], "primaryCard": { "maskedCardNumber": "000571", "printedCardNumber": "92134000571", "status": "ACTIVE" }, "queryCardStatus": "ACTIVE", "rewardBalances": [ ], "tierCode": 0, "tierLabel": "eClub" } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: invalid_status :jsonparam String result: *(required)* ``invalid_status`` :jsonparam String accountStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``SUSPENDED``, ``TERMINATED``, ``EXPIRED``, ``ABANDONED`` :jsonparam String cardStatus: *(required)* ``EXISTS``, ``ACTIVE``, ``DISABLED``, ``EXCHANGED`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get User Information by Username ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/userInformation.json Obtains information about an account including the wallet balances and the username associated with the account if it is registered to a user. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* Username associated with the account to get information about .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object userInformation: *(required)* See :http:jsonentity:`UserInformation` for format of this object. For example: .. code:: javascript { "result": "success", "userInformation": { "fields": { "addressLabel":"Primary Address", "address1":"307 Waverly Oaks Road", "address2":"A Building", "city":"Waltham", "country":"US", "dateOfBirth":"1990-07-18", "email":"ajames@paytronix.com", "firstName":"Anthony", "lastName":"James", "mobilePhone":"2223334444", "optIn":false, "phone":"8883335555", "postalCode":"02452", "salutation":"Mr.", "stateProvince":"MA", "username":"_px_38828819" "companyName":"Paytronix" "fax":"4444444444" "anniversaryDate":"1990-11-26" }, "primaryCardNumbers":["6000208304000140"], "relatedGuests": { "relatedGuestCode": 5, "firstName": "Jumbo", "lastName": "Williams", "email": "cardinalsfan95@hotmail.net", "dateOfBirth": "1990-11-26", "salutation": "Mr." }, "addresses": [ { "addressId":99999, "addressLabel":"Primary Address", "address1":"307 Waverly Oaks Road", "address2":"A Building", "city":"Waltham", "country":"US", "postalCode":"02452", "stateProvince":"MA" }, { "addressId":99998, "addressLabel":"Secondary Address", "address1":"45 Bagel Bite Street", "address2":"Suite 9", "city":"Waltham", "country":"US", "postalCode":"02452", "stateProvince":"MA" } ] "accountIds": ["198412384789234", "594834571395877"] } } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get User Information by Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/userInformationByPrintedCardNumber.json Obtains information about a user (name, address, phone, etc.). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Printed card number associated with the account/user to get information about .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object userInformation: *(required)* See :http:jsonentity:`UserInformation` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get User Information by AccountId ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/userInformationByAccountId.json Obtains information about a user (name, address, phone, etc.). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query Integer accountId: *(required)* Account ID of the account .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object userInformation: *(required)* See :http:jsonentity:`UserInformation` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get User Information for an eClub Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/eClubUserInformation.json Obtains demographic information about an eClub account. The following authentication methods are allowed for this endpoint: * :ref:`email_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String email: *(required)* Email address associated with the account to get information about :query Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the eClub template. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object userInformation: *(required)* See :http:jsonentity:`UserInformation` for format of this object. For example: .. code:: javascript { "result": "success", "fields": { "dateOfBirth": "1990-01-01", "email": "test.mctest@test.com", "emailVerified": false, "firstName": "Test", "lastName": "McTesterson", "optIn": true, "phone": "9708675309", "smsOptInVerified": false, "textCampaignOptIn": false }, "primaryCardNumbers": [ "90012330571" ] } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get User And Account Information for By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/userAndAccountInformationByPrintedCardNumber.json Obtains both User Information and Account Information for a given printed card number The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Card Number of the account .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object userInformation: *(required)* See :http:jsonentity:`UserInformation` for format of this object. :jsonparam Object accountInformation: *(required)* See :http:jsonentity:`AccountInformation` for format of this object. For example: .. code:: javascript { "result": "success", "userInformation": {...}, "accountInformation": {...} } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Transaction History for Account By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/transactionHistory.json Obtains transaction history for an account by the printed card number. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Card Number of the account :query LocalDate dateStart: *(optional)* Limits the result to transactions that have happened since the date specified, in the format: ``yyyy-MM-dd`` (e.g. ``2012-03-23``) :query LocalDate dateEnd: *(optional)* Limits the result to transactions that have happened before the date specified, in the format: ``yyyy-MM-dd`` (e.g. ``2012-03-23``) :query Int maxNumberOfResults: *(optional)* The maximum number of results returned by the transaction history. :query Boolean limitToBalanceAffectingTransactions: *(optional)* Only include the balance affecting transactions. :query Boolean excludeNonBalanceAffectingIdentifyCustomerTransactions: *(optional)* Filter out the non balance affecting identity customer transactions. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] walletInfo: *(required)* See :http:jsonentity:`TransactionHistoryWalletInfo` for format of these objects. :jsonparam List[Object] transactions: *(required)* See :http:jsonentity:`TransactionHistoryTransaction` for format of these objects. For example: .. code:: javascript { "walletInfo": [ { "name": "Stored Value", "scale": 2, "walletCode": 1 }, { "name": "Free Donut", "scale": 0, "walletCode": 2 } ], "transactions": [ { "authorized": true, "datetime": "2012-03-23 12:01:53 -0400", "details": [ { "accrued": "2.34", "balance": "5.89", "redeemed": "0.0", "walletCode": 1 }, { "accrued": "0", "balance": "4", "redeemed": "1", "walletCode": 2 } ], "guestType": true, "operatorId": 32, "posTransactionNumber": "15", "pxAuthCode": "654321", "sender": "POS", "storeMerchant": "PX Pastries", "storeName": "Waltham Store", "storeNumber": "464", "terminalId": "term1", "transactionId": 12345, "requestEvent" : "LP207" }, { "authorized": true, "datetime": "2012-03-23 12:01:53 -0400", "details": [ { "accrued": "1", "balance": "5", "redeemed": "0", "walletCode": 2 } ], "guestType": true, "operatorId": 12, "posTransactionNumber": "76", "pxAuthCode": "733745", "sender": "POS", "storeMerchant": "PX Pastries", "storeName": "Boston Store", "storeNumber": "844", "terminalId": "term6", "transactionId": 67890, "requestEvent" : "LP211" } ] } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Transaction History for Account by Account ID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/transactionHistoryByAccount.json Obtains transaction history for an account by the account ID. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query Integer accountId: *(required)* The account ID of the account. :query LocalDate dateStart: *(optional)* Limits the result to transactions that have happened since the date specified, in the format: ``yyyy-MM-dd`` (e.g. ``2012-03-23``) :query LocalDate dateEnd: *(optional)* Limits the result to transactions that have happened before the date specified, in the format: ``yyyy-MM-dd`` (e.g. ``2012-03-23``) :query Int maxNumberOfResults: *(optional)* The maximum number of results returned by the transaction history. :query Boolean limitToBalanceAffectingTransactions: *(optional)* Only include the balance affecting transactions. :query Boolean excludeNonBalanceAffectingIdentifyCustomerTransactions: *(optional)* Filter out the non balance affecting identity customer transactions. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] walletInfo: *(required)* See :http:jsonentity:`TransactionHistoryWalletInfo` for format of these objects. :jsonparam List[Object] transactions: *(required)* See :http:jsonentity:`TransactionHistoryTransaction` for format of these objects. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Transaction Annotation for Account and Transaction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/transactionAnnotation.json Retrieves guest-visible CSR and system comments for a transaction. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation. :query Integer accountId: *(required)* Account ID of the account :query Long transactionId: *(required)* Transaction ID of the transaction being queried. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object annotation: *(required)* See :http:jsonentity:`TransactionAnnotation` for format of this object. For example: .. code:: javascript { "result": "success", "annotation":{ "comment": "A guest-visible CSR Comment", "systemComment": "A guest-visible system comment" } } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Attach Another Card to a User ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/attachCard.json Attaches another card to the user's account. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(required)* Printed card number associated with the account. :jsonparam String otherPrintedCardNumber: *(required)* The "other" printed card number to be attached. :jsonparam String otherRegistrationCode: *(required)* The registration code associated to the "other" printed card number (only if one exists). :jsonparam String otherUsername: *(required)* The username associated to the "other" card (if that card is already registered) :jsonparam String otherPassword: *(required)* The password associated to the "other" card (if that card is already registered) .. http:response:: success :jsonparam String result: *(required)* ``success`` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: more_info If the account requires more information than just the card number. For each field name returned, prompt the user for its value and resubmit the call. If the card has a registration code associated with it, then the field name ``registrationCode`` will be returned. If the card is already registered to another user, then the fields ``username`` and ``password`` will be returned. :jsonparam String result: *(required)* ``more_info`` :jsonparam List[String] fields: *(required)* A list of fields (for account verification) which must be provided when retrying the ``attachCard`` call Combine Attached Card Balances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/combineCard.json Combines a card (already attached to a user) to the main account of the same template linked to the current user. Main account of a template is determined by number of previously combined cards, account status, enrollment date, status of primary card of the account, and printed card number. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(required)* Printed card number to be combined. :jsonparam String otherPrintedCardNumber: *(required)* Obsolete as of v14.10. In a previous version, this is the "other" printed card number to be combined. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String username: *(required)* The username associated with the card that was combined. :jsonparam Int survivingAccountId: *(required)* The accountId associated with the current user. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: accountSuspended Depending on the server-side configuration, the cardholder's account may be suspended in cases where they combine too many cards to a single account. This behavior represents a potential fraud concern, though it may not be desirable to explicitly state such a concern to the user. The user would usually be directed to contact the merchant's customer service department to resolve the issue :jsonparam String result: *(required)* ``accountSuspended`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Attach and Combine Cards ~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/attachAndCombine.json Attaches a card to the user's account and combines it to the main account of the same template linked to the current user. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(required)* Printed card number associated with the account. :jsonparam String otherPrintedCardNumber: *(required)* The "other" printed card number to be attached. :jsonparam String otherRegistrationCode: *(required)* The registration code associated to the "other" printed card number (only if one exists). :jsonparam String otherUsername: *(required)* The username associated to the "other" card (if that card is already registered) :jsonparam String otherPassword: *(required)* The password associated to the "other" card (if that card is already registered) .. http:response:: success :jsonparam String result: *(required)* ``success`` .. http:response:: attach_failure This failure occurs if attach and combine fails at the 'attach' step. :jsonparam String result: *(required)* ``attach_failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: combine_failure This failure occurs if attach and combine fails at the 'combine' step. :jsonparam String result: *(required)* ``combine_failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: accountSuspended Depending on the server-side configuration, the cardholder's account may be suspended in cases where they combine too many cards to a single account. This behavior represents a potential fraud concern, though it may not be desirable to explicitly state such a concern to the user. The user would usually be directed to contact the merchant's customer service department to resolve the issue :jsonparam String result: *(required)* ``accountSuspended`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: more_info If the account requires more information than just the card number. For each field name returned, prompt the user for its value and resubmit the call. If the card has a registration code associated with it, then the field name ``registrationCode`` will be returned. If the card is already registered to another user, then the fields ``username`` and ``password`` will be returned. :jsonparam String result: *(required)* ``more_info`` :jsonparam List[String] fields: *(required)* A list of fields (for account verification) which must be provided when retrying the ``attachCard`` call Check If Cards Can Be Combined ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/isCardCombinable.json Check whether a card can be combined to the main account. Main account of a template is determined by number of previously combined cards, account status, enrollment date, status of primary card of the account, and printed card number. A card is combinable if it is not the main account and combine is enabled for the card template The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Printed card number to be tested. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Boolean isCombinable: *(required)* True if card can be combined .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Enable / Disable a Card ~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/changeCardStatus.json Allows the guest to disable their card in the event of a lost or stolen card. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(required)* Printed card number to disable or enable :jsonparam String status: *(required)* The status to assign to the card. Valid values are ACTIVE or DISABLED. .. http:response:: success :jsonparam String result: *(required)* ``success`` For example: .. code:: javascript { "result": "success" } .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get List of Referrals For User By Username ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/referralsByUsername.json Return the list of referrals for the user/account specified by the username. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* Username associated with the account to get information about. If you are OAuth authentication you must provide this parameter. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get List of Referrals For User By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/referralsByPrintedCardNumber.json Return the list of referrals for the user/account specified by the printed card number. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Printed card number associated with the account/user to get information about .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get List of Referrals For User By Account ID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/referralsByAccountId.json Return the list of referrals for the user/account specified by the accountId. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query Integer accountId: *(required)* Account ID associated with the account to get information about. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Add Referrals By Username ~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/addReferralsByUsername.json Add new referrals to this account/user (specified by username). Emails will be sent to each referent. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* Username associated with the account to get information about :jsonparam List[String] emails: *(required)* A list of email addresses of the referents :jsonparam String message: *(optional)* A message included in each email sent :jsonparam Integer cardTemplateCode: *(optional)* Paytronix-assigned card template code identifying the program to enroll the user in. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Add Referrals By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/addReferralsByPrintedCardNumber.json Add new referrals to this account/user (specified by printed card number). Emails will be sent to each referent. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(required)* Printed card number associated with the account/user to get information about :jsonparam List[String] emails: *(required)* A list of email addresses of the referents :jsonparam String message: *(optional)* A message included in each email sent .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Add Referrals By Account ID ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/addReferralsByAccountId.json Add new referrals to this account/user (specified by accountId). Emails will be sent to each referent. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam Int accountId: *(required)* Account ID associated with the account to get information about :jsonparam List[String] emails: *(required)* A list of email addresses of the referents :jsonparam String message: *(optional)* A message included in each email sent .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Integer numberOfAvailableUserReferrals: *(required)* The number of referrals available for the user/account :jsonparam List[Object] userReferrals: *(required)* See :http:jsonentity:`UserReferralFields` for format of this object. :jsonparam List[Object] bulkReferrals: *(required)* See :http:jsonentity:`BulkReferralFields` for format of this object. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Create Referral Code By Username ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/createReferralCodeByUsername.json Create a code that can be used by others during enrollment, which maps back to a single referrer (specified by username). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID in which to perform the operation. :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program in which to enroll the user. :jsonparam String username: *(required)* Username associated with the account on which you’d like information. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String code: *(required)* The referral code :jsonparam String name: *(required)* The name of the referrer associated to this code (if available). :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program to enroll the user in. :jsonparam String url: *(required)* The URL will be a string representation of the specific reverse-enroll URL for the individual and card template type. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Create Referral Code By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/createReferralCodeByPrintedCardNumber.json Create a code that can be used by others during enrollment, which maps back to a single referrer (specified by printed card number). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID in which to perform the operation. :jsonparam String printedCardNumber: *(required)* Printed card number associated with the account/user .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String code: *(required)* The referral code :jsonparam String name: *(required)* The name of the referrer associated to this code (if available). :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program to enroll the user in. :jsonparam String url: *(required)* The URL will be a string representation of the specific reverse-enroll URL for the individual and card template type. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Create Referral Code By Account ID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/createReferralCodeByAccountId.json Create a code that can be used by others during enrollment, which maps back to a single referrer (specified by account Id). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID in which to perform the operation. :jsonparam Integer accountId: *(required)* Account ID associated with the account on which you’d like information. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String code: *(required)* The referral code :jsonparam String name: *(required)* The name of the referrer associated to this code (if available). :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program to enroll the user in. :jsonparam String url: *(required)* The URL will be a string representation of the specific reverse-enroll URL for the individual and card template type. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Validate a Referral Code ~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/validateReferralCode.json Validate the given referral code. The following authentication methods are allowed for this endpoint: * :ref:`anonymous_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String code: *(required)* The referral code .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String code: *(required)* The referral code :jsonparam String name: *(required)* The name of the referrer associated to this code (if available). :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program to enroll the user in. .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Pending Event Rewards By Printed Card Number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/pendingEventRewards.json Get pending event rewards by printed card number. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String printedCardNumber: *(required)* Printed card number associated with the account to get information about .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam [Object] rewards: *(required)* See :http:jsonentity:`PendingEventReward` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Get Pending Event Rewards By Account ID ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: guest/pendingEventRewardsByAccountId.json Get pending event rewards by account id. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query Integer accountId: *(required)* Account ID associated with the account to get information about .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam [Object] rewards: *(required)* See :http:jsonentity:`PendingEventReward` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Apply Visit Code ~~~~~~~~~~~~~~~~ .. http:post:: guest/applyVisitCode.json Apply a visit code to an account (this account can either be specified by an ``accountId`` or a ``printedCardNumber``). Only one of these two should be provided, and it is considered an error if more than one is sent. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(See description)* Printed card number associated with the account to apply the visit code to. :jsonparam Integer accountId: *(See description)* Account ID associated with the account to apply the visit code to. :jsonparam String code: *(required)* The visit code to apply to an account. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object reply: *(required)* See :http:jsonentity:`AddRedeemReply` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Validate Visit Code ~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/validateVisitCode.json Validate that a visit code can be applied to an account (this account can either be specified by an ``accountId`` or a ``printedCardNumber``). Only one of these two should be provided, and it is considered an error if more than one is sent. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(See description)* Printed card number associated with the account to apply the visit code to. :jsonparam Integer accountId: *(See description)* Account ID associated with the account to apply the visit code to. :jsonparam String code: *(required)* The visit code to apply to an account. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String codeInfo: *(required)* The information of the code that was entered. See :http:jsonentity:`VisitCode` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. .. http:response:: invalidVisitCode :jsonparam String result: *(required)* ``invalidVisitCode`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. :jsonparam String codeInfo: *(required)* The information of the code that was entered. See :http:jsonentity:`VisitCode` Update Message Frequency ~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/updateMessageFrequency.json Update a user's message frequency preference, including opting in or out of messaging. Account is specified by ``username``. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* Username associated with the account to apply the message frequency to. :jsonparam String preference: *(required)* The messaging frequency the guest would like. See Message Frequency Values. .. http:response:: success :jsonparam String result: *(required)* ``success`` .. http:response:: failure :jsonparam String result: *(required)* ``failure`` :jsonparam String errorCode: *(required)* The error code of the failure. :jsonparam String errorMessage: *(required)* The (human readable) error message of the failure. Update User Language Preference ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: guest/updateUserLanguagePrefByUsername.json Update a user's language preference. Account is specified by ``username``. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* Username associated with the account to apply the language preference to. :jsonparam String languageCode: *(required)* The language code associated with the language to set the preference to. See Language Preference Values. .. http:post:: guest/updateUserLanguagePrefByPrintedCardNumber.json Update a user's language preference. Account is specified by ``printedCardNumber``. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String printedCardNumber: *(See description)* Printed card number associated with the account to apply the visit code to. :jsonparam String languageCode: *(required)* The language code associated with the language to set the preference to. See Language Preference Values. .. http:post:: guest/updateUserLanguagePrefByAccountId.json Update a user's language preference. Account is specified by ``accountId``. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam Integer accountId: *(See description)* Account ID associated with the account to apply the visit code to. :jsonparam String languageCode: *(required)* The language code associated with the language to set the preference to. See Language Preference Values. Constant Values --------------- .. _referral_status: Referral ``status`` Values ~~~~~~~~~~~~~~~~~~~~~~~~~~ ``INVITATION_SENT`` Invitation (email) sent by referrer ``ENROLLED`` The referent has enrolled but has not yet satisfied the conditions for rewarding the referrer ``REWARD_EARNED`` The referrer has earned their reward from this referral ``CARD_LINKED`` Bulk card associated to this account ``CARD_USED`` Bulk card used but has not yet satisfied the conditions for rewarding the referrer
.. _message_frequency: Message Frequency Values ~~~~~~~~~~~~~~~~~~~~~~~~~~ ``ALL`` Receive all marketing messages. ``ONCE_PER_WEEK`` Receive a message no more than once a week. ``ONCE_PER_FORTNIGHT`` Receive a message no more than once every other week. ``ONCE_PER_MONTH`` Receive a message no more than once a month. ``SNOOZE`` Temporarily snooze marketing communications. Guest will not receive a marketing message for 14 days. ``UNSUBSCRIBE`` Unsubscribe from all marketing messages. Language Preference Values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``en-US`` English used in the US. ``en-GB`` English used in the UK. ``es-ES`` Spanish language. ``fr-FR`` French language used in France. ``fr-CA`` French language used in Canada. ``da-DK`` Danish language. ``nl-NL`` Dutch language. ``fi-FI`` Finnish language. ``de-DE`` German language. ``it-IT`` Italian language. ``nb-NO`` Norwegian language. ``pt-BR`` Portuguese language. ``sv-SE`` Swedish language. Reply Objects ------------- .. http:jsonentity:: UserInformation User information can be supplied in the ``"userInformation"`` member of the reply: :jsonparam Object fields: *(required)* See :http:jsonentity:`UserFields` for format of this object. :jsonparam List[String] primaryCardNumbers: *(required)* List of primary card numbers associated with a user. :jsonparam List[Object] relatedGuests: *(optional)* List of `RelatedGuest` objects. See :http:jsonentity:`RelatedGuest` for format of those objects. :jsonparam List[Object] addresses: *(required)* List of `AddressInformation` objects. See :http:jsonentity:`AddressInformation` for format of those objects. :jsonparam List[Int] accountIds: *(required)* List of Account ID's associated with a user. .. http:jsonentity:: BalanceInformation Balance information is returned in several locations in the reply and gives information about a single wallet for the account. A wallet is a discrete balance associated with the account, such as "Points", "Stored Value", or "Free Bagels". :jsonparam Integer walletCode: *(required)* Code number for the wallet. This will never change for a particular wallet unless Paytronix makes a specific change to do so. For example, wallet code 0 might be associated with "Points". :jsonparam String name: *(required)* Human readable label for the wallet which may change over time. Should only be used for display to a user, as the name might change from time to time. :jsonparam Decimal balance: *(required)* Current balance of the wallet, e.g. ``"120.33"`` :jsonparam [Object] expirations: *(required)* List of expiring balances, if some or all of the balance of the wallet might expire. Each object is of the form ``{ "amount": "12", "expirationDate": "2011-05-01" }`` :jsonparam Decimal additionalExpiringBalance: *(required)* Points balance which will expire at some later date(s) not explicitly shown :jsonparam Boolean hideExpirationDates: *(required)* True if the wallet associated with this balance has the option to hide expiration dates from the guest selected :jsonparam Boolean giftable: *(required)* True if items in this wallet can be sent as a gift. :jsonparam String description: *(required)* If available, this is a long description of the wallet. :jsonparam String imageCode: *(required)* If available, this is a code or partial URL or absolute URL used to specify an image of the wallet. :jsonparam String link: *(required)* If available, this is a URL for a page describing the wallet. :jsonparam String linkLabel: *(required)* If available, this is the label for the link. :jsonparam String tinyName: *(required)* Tiny version of wallet name. :jsonparam String shortName: *(required)* Short version of wallet name. :jsonparam String longName: *(required)* Long version of wallet name. :jsonparam String rewardType: *(optional)* One of "FIXED_AMOUNT", "OPEN_AMOUNT". :jsonparam String rewardValueType: *(optional)* One of "PERCENT_DISCOUNT", "DOLLAR_DISCOUNT", "POS_DISCOUNT", "REDUCE_PRICE_TO", "PRECENT_OFF_CATEGORY", "PER_UNIT_DISCOUNT". .. http:jsonentity:: AccountFields Additional account information can be supplied in the ``"fields"`` member of the reply: :jsonparam String customerNumber: *(required)* The external customer number of the account, usually used to maintain accurate tracking with an external billing or customer tracking system. Its use varies by program. :jsonparam [Object] perks: *(required)* Any perks associated with the account, in the form ``{ "code": 123, "label": "Gluten free" }`` :jsonparam Date perksModifiedDate: *(required)* The last time the perks were modified for this account :jsonparam Object favoriteStore: *(required)* User's Favorite Store formatted as ``{"label": "Store 1", "code": "001"}`` :jsonparam Date enrollDate: *(required)* The date the account was enrolled :jsonparam [Object] externalAccounts: *(required)* List of associations with external accounts in other systems (e.g., social media). Each object has the format: ``{ "integration": "see below", "accountCode": "..." }`` :jsonparam Object favoriteStores: *(required)* List of user's Favorite Stores, excluding the primary favorite store. Each object has the format: ``{"label": "Store 1", "code": "001"}`` Possible externalAccount values: - Facebook - ``xhDE_Ea4QhsfC8h3pUtHJnLZ9lRXYgysJVXnR4XNO0`` - Foursquare - ``1gVdgGicN7m7MD9BxzXar2uqCnH3I4Qf7Zcw2mjYXL`` - Twitter - ``LUozKjcV2jxM0B4Gueb6kzH7W_5UPqZ_5zkOJgjpCe`` Please note that additional setup is required to use externalAccounts. .. http:jsonentity:: UserFields Additional account information can be supplied in the ``"fields"`` member of the reply: :jsonparam bool optIn: *(required)* Whether or not the user has opted to receive information about special offers etc. :jsonparam string salutation: *(required)* "Mr.", "Ms.", "Mrs.", "Dr." or "Rev." :jsonparam string firstName: *(optional)* :jsonparam string lastName: *(optional)* :jsonparam string email: *(optional)* :jsonparam string addressLabel: *(optional)* :jsonparam string address1: *(optional)* :jsonparam string address2: *(optional)* :jsonparam string city: *(optional)* :jsonparam string stateProvince: *(optional)* :jsonparam string postalCode: *(optional)* :jsonparam string phone: *(optional)* :jsonparam string fax: *(optional)* :jsonparam string mobilePhone: *(optional)* :jsonparam string dateOfBirth: *(optional)* :jsonparam string anniversaryDate: *(optional)* :jsonparam string country: *(optional)* :jsonparam string username: *(optional)* :jsonparam bool emailVerified: *(optional)* Whether or not the user's email address has been verified. :jsonparam string userLanguagePref: *(optional)* The user's language preference. :jsonparam List[Object] relatedGuests: *(optional)* See :http:jsonentity:`RelatedGuest` for format of these objects. .. http:jsonentity:: RelatedGuest Information pertaining to a guest related to an account holder. This user does not have an account of their own. :jsonparam int relatedGuestCode: *(required)* Unique number identifying the related guest :jsonparam string firstName: *(required)* first name of the related guest. :jsonparam string lastName: *(required)* last name of the related guest. :jsonparam string email: *(optional)* email of the related guest. :jsonparam string dateOfBirth: *(optional)* date of birth of the related guest. :jsonparam string salutation: *(optional)* "Mr.", "Ms.", "Mrs.", "Dr." or "Rev." .. http:jsonentity:: TransactionHistoryWalletInfo Columns describe all the possible wallets used in the transactions. The walletCode in the columns will correspond to the walletCode in the details inside the transactions. :jsonparam Integer walletCode: *(required)* Code for the wallet. :jsonparam Integer name: *(required)* The name of the wallet :jsonparam Integer scale: *(required)* The scaling factor for the Decimal wallet amount in the Details .. http:jsonentity:: TransactionHistoryTransaction Additional account information can be supplied in the ``"fields"`` member of the reply: :jsonparam String transactionType: *(required)* The name of the transaction :jsonparam Boolean guestType: *(required)* True if this transaction should be displayed to the user (guest). :jsonparam Boolean authorized: *(required)* True if this transaction was authorized. If false, do not display this transaction to the user (guest) :jsonparam Integer transactionId: *(required)* The unique id of this transaction :jsonparam String posTransactionNumber: *(required)* Usually the "Check Number" sent from the POS :jsonparam String datetime: *(required)* The date and time the transaction occurred :jsonparam String storeMerchant: *(required)* The name of the merchant :jsonparam String storeCode: *(required)* A short code to uniquely identify the store where this transaction occurred. Normally the storeName is displayed instead since the guest won't know these codes :jsonparam String storeName: *(required)* Full name of the store :jsonparam String terminalId: *(required)* Internal to Paytronix :jsonparam Integer operatorId: *(required)* Internal to Paytronix :jsonparam String sender: *(required)* Internal to Paytronix :jsonparam String promotionName: *(required)* Internal to Paytronix :jsonparam String pxAuthCode: *(required)* Internal to Paytronix :jsonparam List[Object] details: *(required)* See :http:jsonentity:`TransactionHistoryDetail` for format of these objects. :jsonparam String requestEvent: *(required)* Code that corresponds to transaction type internal to Paytronix. .. http:jsonentity:: TransactionHistoryDetail The details of the change to a particular wallet :jsonparam Integer walletCode: *(required)* Code for the wallet. :jsonparam Decimal accrued: *(required)* The amount added to this wallet during the transaction :jsonparam Decimal redeemed: *(required)* The amount removed to this wallet during the transaction :jsonparam Decimal balance: *(required)* The final balance of the wallet after the accrued and redeemed values have been applied to the wallet .. http:jsonentity:: TransactionAnnotation The guest-visible comments of a particular transaction :jsonparam String comment: *(optional)* The CSR comment for a transaction, if it exists and is guest-visible :jsonparam String systemComment: *(optional)* The system comment for a transaction, if it exists and is guest-visible .. http:jsonentity:: UserReferralFields Information about each referral initiated by the account/user: :jsonparam String email: *(required)* The email to which he referral was sent. :jsonparam String status: *(required)* See :ref:`referral_status`. :jsonparam String reward: *(required)* The reward earned by the referrer .. http:jsonentity:: BulkReferralFields Information about each bulk referral. A bulk referral is when the referrer does not explicitly identify the people to refer. There are 2 types of bulk referrals: #. A CSR associates a group of anonymous cards to an account. #. An encrypted referralCode is embedded in an enrollment link inside an email or posted on a social media site. :jsonparam String detail: *(required)* The masked card number linked to this referral if the bulk referral was by anonymous cards or the name of the referent if the bulk referral was created using a ``referralCode`` :jsonparam String status: *(required)* See :ref:`referral_status`. :jsonparam String reward: *(required)* The reward earned by the referrer .. http:jsonentity:: PendingEventReward Information about a pending reward in an account which is part of an active ActionToLoad or ClickToLoad event but the reward has not yet converted to a redeemable reward in the account: :jsonparam String name: *(required)* :jsonparam String tinyName: *(optional)* :jsonparam String shortName: *(optional)* :jsonparam String longName: *(optional)* :jsonparam Decimal amount: *(required)* :jsonparam Date expirationDate: *(optional)* :jsonparam String eventName: *(required)* :jsonparam String eventCode: *(required)* (in some endpoints may be called clickToLoadCode). :jsonparam String alternateImageUrl: *(optional)* .. http:jsonentity:: AddRedeemReply Information about what was changed about the Wallet when the visit code was applied. .. http:jsonentity:: VisitCode The information of a Visit Code :jsonparam String storeCode: *(required)* The code of the store associated with the Visit Code. :jsonparam String checkNumber: *(required)* The number of the check associated with the Visit Code. :jsonparam Decimal dollarSpent: *(required)* The dollars spend on the check associated with the Visit Code. :jsonparam Date checkDate: *(required)* The date of which the Visit Code was issued. :jsonparam String normalizedCode: *(required)* The normalized Visit Code. .. http:jsonentity:: CardInformation The information of associated with a card. :jsonparam String printedCardNumber: *(required)* The string representation of the card number. :jsonparam String maskedCardNumber: *(required)* The masked string representation of the card number. :jsonparam String status: *(required)* The status of the card. Valid values are ACTIVE or DISABLED. .. http:jsonentity:: AddressInformation :jsonparam String addressId: *(optional)* Unique id referring to existing address record. Needed for calls to edit or delete address :jsonparam String label: *(required)* :jsonparam String address1: *(optional)* :jsonparam String address2: *(optional)* :jsonparam String city: *(optional)* :jsonparam String stateProvince: *(optional)* :jsonparam String postalCode: *(optional)* :jsonparam String country: *(optional)* Error Codes ----------- The following are the possible codes and messages that can be returned by the Guest Service. There are other system-level errors which may be returned which are not documented here. The caller of the endpoint can use the returned message to display to the end user or, if different wording is desired, can provide their own mapping of code to message. +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | Code | Message | +==============================================+============================================================================================================+ | ``account_info.error`` | failed to perform operation | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.invalid_card`` | could not load given card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.invalid_account`` | could not load account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.invalid_user`` | could not load user | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.invalid_card_status`` | card in invalid state | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.invalid_account_status`` | account in invalid state | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.no_template_error`` | no card template associated with account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``account_info.no_tier_error`` | no tier associated with account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.error`` | Failed to perform operation | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_card`` | Could not load card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_other_card`` | Could not load other card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_account`` | Could not load account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_user`` | Could not load user | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_address`` | Could not load address | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.not_enabled`` | Attach Card feature not enabled | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_reg_code`` | Other registration code is invalid | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.already_attached`` | Other card already attached | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.account_not_active`` | Account not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.card_not_active`` | Card not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.other_account_not_active`` | Other account not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.other_card_not_active`` | Other card not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.user_pwd_invalid`` | Other username or password invalid | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``attach_card.invalid_card_template`` | Could not load other card template | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.error`` | Failed to perform operation | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.not_enabled`` | Combine Card feature not enabled | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.not_attached`` | The other card does not exist or is not attached to this account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.not_combinable_template`` | Cards of this type cannot be combined | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.same_card`` | Cannot combine a card with itself | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.already_combined`` | The specified cards are already combined | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.account_not_active`` | Account not active - cannot combine an account that is not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.card_not_active`` | Card not active - cannot combine a card that is not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.other_account_not_active`` | Other account not active - cannot combine with an account that is not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.other_card_not_active`` | Other card not active - cannot combine with a card that is not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.invalid_card`` | Could not load card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.invalid_other`` | Could not load other card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.combine_different_templates`` | Cannot combine cards of different types | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``combine_card.account_suspended`` | Account suspended. Contact support. | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``referral_code.invalid_code`` | Invalid referral code | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_card`` | Could not load card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_account`` | Could not load account | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_user`` | Could not load user | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_argument`` | Must supply only one of: printedCardNumber, username or email | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_argument`` | Must supply printedCardNumber, username or email | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_email_address`` | Invalid email address format | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.email_not_unique`` | More than one user matches the specified email address; cannot uniquely identify whose password to reset | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.non_matching_email`` | No user found with the specified email address | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.not_registered`` | Cardholder is not registered | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.no_email`` | No email address defined for cardholder | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.email_excluded`` | Email address is undeliverable for cardholder | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.is_juvenile`` | Cardholder is a juvenile | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.invalid_answer`` | Invalid answer | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.server_error`` | Internal server error | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``reset_password.email_not_sent`` | | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``transaction_history.error`` | Failed to perform operation | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``transaction_history.card_not_found`` | could not load given card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``transaction_history.card_exchanged`` | card exchanged | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``transaction_history.card_inactive`` | card inactive | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``transaction_annotation.error`` | Failed to perform operation | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.invalid_merchant`` | Invalid merchant ID | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.account_not_active`` | Account not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.card_exchanged`` | Card has been exchanged | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.card_inactive`` | Card is not active | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.invalid_status`` | Cards cannot be set to the requested status | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.invalid_card`` | Failed to find the card | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+ | ``card_status.internal_error`` | An internal error occurred | +----------------------------------------------+------------------------------------------------------------------------------------------------------------+