{"info":{"_postman_id":"5730a519-1b42-470d-bf56-f5bed29fcdcb","name":"API Reference","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"7410394","collectionId":"5730a519-1b42-470d-bf56-f5bed29fcdcb","publishedId":"S1M2Qjxr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2019-05-17T17:20:58.000Z"},"item":[{"name":"Placing an order","item":[{"name":"onscreen_create","id":"35e1a5db-3ed2-4855-ac12-6640cbaee76f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"card_number\": \"brandin@spoonity.com\"\n}"},"url":"{{endpoint}}/onscreen?api_key={{apikey}}","description":"<p>This is the call that occurs when a customer is in store engaging with a cashier, and provides information that can be used to identify this customer. The identification of the customer is crucial for the next step in the workflow, and is made accessible to that request via the hash value that is returned in the response of this request.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><p><code>card_number</code> (string): part of the user's identification which allows us to access details about account holder, can be given as:</p>\n<ul>\n<li><p>card number</p>\n</li>\n<li><p>email address</p>\n</li>\n<li><p>mobile phone number</p>\n</li>\n<li><p>app token</p>\n</li>\n<li><p>cedula</p>\n</li>\n<li><p>passport number</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>pos_session</code>: an object that holds information about the current point of sale session that has been created with this request, this object contains:</p>\n<ul>\n<li><p><code>id</code>: an internal reference number for this current session</p>\n</li>\n<li><p><code>hash</code>: the hash value associated with this current order session</p>\n</li>\n<li><p><code>date_created</code>: holds the time this session was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>date_updated</code>: holds the last time this session was updated as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>status</code> (see Appendix): an object that holds information about the current status of the order</p>\n</li>\n</ul>\n</li>\n<li><p><code>vendor</code>: an object that contains information about the vendor this order has been created through</p>\n<ul>\n<li><p><code>id</code>: an internal reference number for this vendor</p>\n</li>\n<li><p><code>point_of_sale</code>: an object that holds information about this current point of sale</p>\n<ul>\n<li><p><code>id</code>: an internal reference number which indicates the type of point of sale</p>\n</li>\n<li><p><code>name</code>: indicates the type of point of sale in a way that is more user friendly</p>\n</li>\n<li><p><code>status</code> (see Appendix): an object that holds information about the current status of the point of sale</p>\n</li>\n</ul>\n</li>\n<li><p><code>modules</code>: an object which contains information about the modules used for this order</p>\n<ul>\n<li><p><code>data</code>: an array of objects where each object holds information about a module used, each object contains:</p>\n<ul>\n<li><p><code>id</code>: an internal reference number indicating the current module in use</p>\n</li>\n<li><p><code>name</code>: indicates the current module in use in a way that is more user friendly</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>api_key</code>: used for a small subset of point of sale integration, can likely be ignored</p>\n<ul>\n<li><code>workstation_identifer</code>: string identifier for the key used in point of sale integration, can likely be ignored</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n  }\n\n</code></pre>\n<ul>\n<li><p><code>id</code>: an internal reference number indicating the status</p>\n</li>\n<li><p><code>name</code>: indicates the current status in a way that is more user friendly</p>\n</li>\n</ul>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"8109afb4-c64b-46ec-9b81-1a2586d24a05","name":"onscreen_create","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\"card_number\": \"brandin@spoonity.com\"\n}"},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 14:11:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Pos-Session-Hash","value":"71c61a3b5792027672d010fe5426b92f"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1131"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23471296,\n        \"object\": \"pos_session\",\n        \"hash\": \"71c61a3b5792027672d010fe5426b92f\",\n        \"date_created\": 1557324704,\n        \"date_updated\": 1557324704,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"object\": \"vendor\",\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"object\": \"pointofsale\",\n            \"id\": 5,\n            \"name\": \"Manual\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"modules\": {\n            \"object\": \"collection\",\n            \"data\": [\n                {\n                    \"object\": \"middlewaremodule\",\n                    \"id\": 1,\n                    \"name\": \"Loyalty\"\n                },\n                {\n                    \"object\": \"middlewaremodule\",\n                    \"id\": 2,\n                    \"name\": \"Quick Pay\"\n                }\n            ],\n            \"page_size\": 2,\n            \"count\": 2,\n            \"page\": 1\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"}],"_postman_id":"35e1a5db-3ed2-4855-ac12-6640cbaee76f"},{"name":"onscreen_read","id":"83fd4a3b-3356-408e-b193-15f7bbf075b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{orderHash}}","description":"<p>This request uses the point of sale session hash key that was generated with the onscreen_create request to access the identification information that was provided by the user. This identification information allows us to retrieve the user's account, which gives us information like their first and last names, their birthday, and a list of rewards this user is currently eligible for. The user's loyalty and quick pay balances are also retrieved at this point, which are necessary in the step for the authorization of payments.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code> (string): passed in using query parameters, must match the hash found in the response of the onscreen_create request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>pos_session</code>: an object that holds information regarding this specific point of sale session, this object contains:  </p>\n<ul>\n<li><code>pos_session_id</code>: the internal reference number that is related to the current point of sale session  </li>\n<li><code>hash</code>: the hash value associated with this current order session  </li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the order</li>\n</ul>\n</li>\n<li><p>Only one of the following three arguments will have a value that is not null at any given time. The argument that gets a non-null value depends on how the user checked in.</p>\n<ul>\n<li><code>card</code>: if the user checked in with a card, that information is held here and the other two arguments are null</li>\n<li><code>card_third_party</code>: if the user checked in with a third party card, that information is held here and the other two arguments are null</li>\n<li><code>token</code>: if the user used any other method to check in, that information is held here and the other two arguments are null</li>\n</ul>\n</li>\n<li><p><code>user</code>: an object that holds all information related to the user in the current session</p>\n<ul>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>default_billing_profile</code>: an identification number associated with the user's default billing profile</li>\n<li><code>birthdate</code>: the user's date of birth, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>address</code>: the user's address</li>\n<li><code>phone_number</code>: the user's phone number</li>\n<li><code>cedula</code>: the user's cedula, if applicable</li>\n<li><code>clover_id</code>: the user's clover id</li>\n<li><code>passport_number</code>: the user's passport number</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>is_employee</code>: true if the user is an employee with this vendor, false if the user is not</li>\n<li><code>id</code>: the internal reference number for the user</li>\n<li><code>birthday</code>: the user's birthday</li>\n<li><code>last_visit</code>: the date the user last visited this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><p><code>favourite_items</code>: an array that contains information about the user's favourite items</p>\n</li>\n<li><p><code>reload</code>: an object that contains information regarding the user's auto-reload configuration</p>\n<ul>\n<li><code>amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>billing_profile</code>: the user's billing profile that is selected for automatic reload</li>\n</ul>\n</li>\n<li><p><code>favorite</code>: deprecated</p>\n</li>\n<li><p><code>last_visit</code>: deprecated</p>\n</li>\n<li><p><code>loyalty_balance</code>: an object that contains information about the loyalty balance associated with this user, this object contains</p>\n<ul>\n<li><code>data</code>: an array of objects where each contains a different piece of information about a user's loyalty balance<ul>\n<li><code>amount</code>: the number of units of a certain currency that is associated with the user's account</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>rules</code>: an object that holds information about the rules for this current point of sale, each object contains:</p>\n<ul>\n<li><code>earning</code>: an object which contains information about the rules related to earning loyalty points, this object contains:<ul>\n<li><code>data</code>: an array that holds all necessary information for the loyalty point earning process, each object contains earning information for one perk<ul>\n<li><code>id</code>: an internal reference number for this earning rule</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the type of current in a way that is more user friendly</li>\n<li><code>perk_type</code>: an object that holds information about the type of perk offered that is earning points<ul>\n<li><code>id</code>: an internal reference number that is unique to each type of perk</li>\n<li><code>name</code>: indicates the type of perk in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>round_policy</code>: an object that holds information about how points will be rounded during this point of sale<ul>\n<li><code>id</code>: an internal reference number that indicates the type of rounding that is to occur</li>\n<li><code>name</code>: indicates the type of rounding in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>award_amount</code>: the ratio of points awarded when the earning rule is invoked</li>\n<li><code>max_award_amount</code>: the maximum number of points that can be earned in a single instance of a point of sale</li>\n<li><code>start_date</code>: the date this perk begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this perk ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the earning rule</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>spending</code>: an object that holds information about the rules related to spending loyalty points, each object contains:<ul>\n<li><code>data</code>: an array that contains all information necessary to the loyalty point spending process, each object in the array contains spending information for one reward:<ul>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>id</code>: the internal reference number unique to each reward</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the type of reward in a way that is more user friendly</li>\n<li><code>description</code>: a description of what the reward entails</li>\n<li><code>summary</code>: a brief overview of what the promotion is and what points will be removed</li>\n<li><code>cost</code>: how many points this promotion costs to redeem</li>\n<li><code>start_date</code>: the date this promotion begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this promotion ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>available</code>: how many perks of this type the user is able to redeem with their current loyalty balance</li>\n<li><code>progress</code>: the number of points the user has towards qualifying for a perk of this type</li>\n<li><code>catalog</code>: an object that holds information regarding the item that is attached to this redemption<ul>\n<li><code>id</code>: an internal reference number that is unique to each item</li>\n<li><code>identifier</code>: the reference number for this item that is supplied by the point of sale</li>\n<li><code>name</code>: indicates the item in a way that is more user friendly</li>\n<li><code>type</code>: in spending rules, perks are exclusively type discount<ul>\n<li><code>id</code>: an internal reference number that is unique to type discount</li>\n<li><code>name</code>: indicates the type of the current spending rule in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>tier</code>: an object that holds information about the prestige level of the user<ul>\n<li><code>count</code>: total number of tiers this vendor has</li>\n<li><code>current</code>: an object that holds information about the current tier<ul>\n<li><code>name</code>: indicates the current tier in a way that is more user friendly</li>\n<li><code>since</code>: the date this tier was achieved, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>type</code>: an object that contains the specific information for this tier<ul>\n<li><code>id</code>: an internal reference number unique to each type of tier</li>\n<li><code>name</code>: indicates the type of this tier in a way that is more user friendly</li>\n<li><code>ranking</code>: the rank of this tier</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>next</code>: an object that contains information about the next tier level to be attained<ul>\n<li><code>name</code>: indicates the name of the next tier in a way that is more user friendly</li>\n<li><code>amount</code>: the number of criteria required to achieve this tier</li>\n<li><code>progress</code>: the number of criteria the user currently has towards reaching the next tier</li>\n<li><code>summary</code>: a summary of the perks offered at the next tier</li>\n<li><code>description</code>: a description of the next tier</li>\n</ul>\n</li>\n<li><code>all</code>: an object that contains information about all tiers possible at this vendor<ul>\n<li><code>vendor_tier_changed</code>: the last date the user's tier changed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>tier_immunity_days</code>: a configuration value from the vendor, indicates how long a user has on this tier before being downgraded</li>\n<li><code>days_remaining</code>: the time left between now and when the user will be downgraded</li>\n<li><code>data</code>: an array of objects that each hold information about one tier, one object for each tier holds the same information found in <code>next</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>quick_pay_balance</code>: an object that holds information about the quick pay balance a user has linked to their account</p>\n<ul>\n<li><code>amount</code>: the total units of currency available</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    \"code\": \"CAD\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>code</code>: the ISO 4217 code associated with this type of currency, a null value here indicates a loyalty currency</li>\n</ul>\n<h6 id=\"expiring\">expiring</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"data\": []\n    }\n</code></pre>\n<ul>\n<li><code>data</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}],"variable":[]}},"response":[{"id":"c4203bd1-88e2-4735-9fa7-09c387547f4b","name":"onscreen_read","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{hash}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{hash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 14:38:12 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"2953"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"pos_session_id\": \"23471297\",\n        \"hash\": \"fd322bcc9364864dabb582dcc6b88fec\",\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        },\n        \"card\": null,\n        \"card_third_party\": null,\n        \"token\": null\n    },\n    \"user\": {\n        \"email_address\": \"brandin@spoonity.com\",\n        \"default_billing_profile\": null,\n        \"birthdate\": 1573448400,\n        \"address\": \"213-24 York Street\",\n        \"phone_number\": \"6138057421\",\n        \"cedula\": \"1122334455\",\n        \"clover_id\": \"582846\",\n        \"passport_number\": \"PASS-CAD-8904295\",\n        \"first_name\": \"brandin\",\n        \"last_name\": \"chiu\",\n        \"is_employee\": false,\n        \"id\": 582846,\n        \"birthday\": \"2019-11-11\",\n        \"last_visit\": null\n    },\n    \"favourite_items\": [],\n    \"reload\": {\n        \"amount\": 0,\n        \"threshold\": 0,\n        \"billing_profile\": null\n    },\n    \"favorite\": null,\n    \"last_visit\": null,\n    \"loyalty_balance\": {\n        \"data\": [\n            {\n                \"amount\": 9696,\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\",\n                    \"code\": null\n                },\n                \"expiring\": {\n                    \"data\": [],\n                    \"page_size\": 0,\n                    \"count\": 0,\n                    \"page\": 1\n                }\n            },\n            {\n                \"amount\": 12900\n            }\n        ],\n        \"page_size\": 1,\n        \"count\": 1,\n        \"page\": 1\n    },\n    \"rules\": {\n        \"earning\": {\n            \"data\": [\n                {\n                    \"catalogs\": [],\n                    \"id\": 1339,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Points\",\n                    \"perk_type\": {\n                        \"id\": 2,\n                        \"name\": \"Points per item\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 1,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1464753600,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                },\n                {\n                    \"catalogs\": [],\n                    \"id\": 1371,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Sandwich Points\",\n                    \"perk_type\": {\n                        \"id\": 6,\n                        \"name\": \"Currency per dollar (total)\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 10,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1483246800,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                }\n            ]\n        },\n        \"spending\": {\n            \"data\": [\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 642,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Free Item\",\n                    \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n                    \"summary\": \"Spend 50 points to get a free sandwich\",\n                    \"cost\": 50,\n                    \"start_date\": 1500004800,\n                    \"end_date\": 2114312400,\n                    \"available\": 193,\n                    \"progress\": 46,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3570252,\n                        \"identifier\": \"clover_discount\",\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                },\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 756,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Birthday Reward\",\n                    \"description\": null,\n                    \"summary\": \"Free birthday reward\",\n                    \"cost\": 100,\n                    \"start_date\": 1537904763,\n                    \"end_date\": 2114312400,\n                    \"available\": 96,\n                    \"progress\": 96,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3568698,\n                        \"identifier\": \"free_sandwich\",\n                        \"name\": \"Free Sandwich\",\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                }\n            ],\n            \"tier\": {\n                \"count\": 1,\n                \"current\": {\n                    \"name\": \"Default\",\n                    \"since\": 1468431720,\n                    \"type\": {\n                        \"id\": 1,\n                        \"name\": \"Normal\",\n                        \"ranking\": 1\n                    }\n                },\n                \"next\": {\n                    \"name\": \"\",\n                    \"amount\": \"\",\n                    \"progress\": 0,\n                    \"summary\": \"\",\n                    \"description\": \"\"\n                },\n                \"all\": {\n                    \"vendor_tier_changed\": 1468431720,\n                    \"tier_immunity_days\": 0,\n                    \"days_remaining\": null,\n                    \"data\": []\n                }\n            }\n        }\n    },\n    \"quick_pay_balance\": {\n        \"amount\": 6.3600000000000003,\n        \"currency\": {\n            \"id\": 191,\n            \"name\": \"Canadian Dollar\",\n            \"code\": \"CAD\"\n        },\n        \"expiring\": {\n            \"data\": [],\n            \"page_size\": 0,\n            \"count\": 0,\n            \"page\": 1\n        }\n    }\n}"}],"_postman_id":"83fd4a3b-3356-408e-b193-15f7bbf075b0"},{"name":"vendor_perk_redemption_list","id":"bcd83ffc-ef1f-40ce-a7c5-e1ebf333c112","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/vendor/perk/redemption/list?api_key={{apikey}}","description":"<p>This request is not necessary to the workflow as it only gives information about the vendor and their perks, but can be loosely included in the \"checking in\" step. All the active perks at this vendor are listed, regardless of if the user qualifies or not. </p>\n<h4 id=\"request\">Request:</h4>\n<p>The only information required for this request is the <code>api_key</code> given in the query parameters.</p>\n<h4 id=\"response\">Response:</h4>\n<p>The response appears as an array of objects where each object contains information about an individual perk. Each object contains:</p>\n<ul>\n<li><code>vendor_perk_redemption_id</code>: an internal reference number that is unique to each perk</li>\n<li><code>vendor</code>: an object that holds information about the current vendor, this object contains:<ul>\n<li><code>vendor_id</code>: an internal reference number that is unique to each vendor</li>\n<li><code>name</code>: indicates the current vendor in a way that is more user friendly</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of this vendor</li>\n</ul>\n</li>\n<li><code>type</code>: an object that contains information about the type of perk that is being offered, this object contains:<ul>\n<li><code>perkRedemptionType_id</code>: an internal reference number that is unique to each type of perk</li>\n<li><code>name</code>: indicates the type of perk in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>currency</code> (see Appendix):  an object that contains information about the type of currency being used</li>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>name</code>: indicates the name of the perk in a way that is more user friendly</li>\n<li><code>summary</code>: a brief overview of what the perk is and what points will be removed</li>\n<li><code>description</code>: a description of what the perk entails</li>\n<li><code>cost</code>: how many points this perk costs to redeem</li>\n<li><code>start_date</code>: the date this perk begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this perk ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_created</code>: the date this perk was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last date this perk was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of this list</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n  }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","perk","redemption","list"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"d2ecc893-96f0-456a-b2a2-8c85db43fc1a","name":"vendor_perk_redemption_list","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/vendor/perk/redemption/list?api_key={{apikey}}","host":["{{endpoint}}"],"path":["vendor","perk","redemption","list"],"query":[{"key":"","value":"","disabled":true},{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 15:34:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1024"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"vendor_perk_redemption_id\": 642,\n        \"vendor\": {\n            \"vendor_id\": 1,\n            \"name\": \"Spoonity\",\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"type\": {\n            \"perkRedemptionType_id\": 1,\n            \"name\": \"Regular\"\n        },\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\"\n        },\n        \"template\": {\n            \"id\": 2,\n            \"name\": \"POINT\"\n        },\n        \"name\": \"Free Item\",\n        \"summary\": \"Spend 50 points to get a free sandwich\",\n        \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n        \"cost\": \"50.00\",\n        \"start_date\": 1499990400,\n        \"end_date\": 2114294400,\n        \"date_created\": 1499990400,\n        \"date_updated\": 1508345395,\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    {\n        \"vendor_perk_redemption_id\": 756,\n        \"vendor\": {\n            \"vendor_id\": 1,\n            \"name\": \"Spoonity\",\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"type\": {\n            \"perkRedemptionType_id\": 1,\n            \"name\": \"Regular\"\n        },\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\"\n        },\n        \"template\": {\n            \"id\": 2,\n            \"name\": \"POINT\"\n        },\n        \"name\": \"Birthday Reward\",\n        \"summary\": \"Free birthday reward\",\n        \"description\": null,\n        \"cost\": \"100.00\",\n        \"start_date\": 1537890363,\n        \"end_date\": 2114294400,\n        \"date_created\": 1537904763,\n        \"date_updated\": 1537904774,\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    }\n]"}],"_postman_id":"bcd83ffc-ef1f-40ce-a7c5-e1ebf333c112"},{"name":"order_process (gift card)","id":"beed427f-f89e-4633-90d8-16f41c50ba88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>This request is used if the user authorizes payment for the current order with their quick pay balance. The quick pay balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to spend the desired amount in quick pay, or if the user has sufficient funds to load their quick pay balance.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</li>\n<li><code>amount</code> (float): indicates how much is being added to or removed from the user's account, a positive value here adds this amount and a negative value removes this amount</li>\n<li><code>date</code> (integer): the date this authorization is occurring, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 in the customer's local time</li>\n<li><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</li>\n<li><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request. Contains:<ul>\n<li><code>lines</code>: shows the process was successful in a way that is user friendly</li>\n<li><code>user</code>: contains more in depth information about the user making the order:<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>card_number</code>: the same card_number that was provided in the request</li>\n<li><code>balances</code>: an array that contains information about the different balances a user has on their profile. Each object in balances contains:<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>currency</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>balance</code>: the amount of this currency that is available</li>\n<li><code>type</code>: indicates the category of payment being used</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number assigned to a cashier</li>\n<li><code>name</code> (string): the name of the cashier</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"7c68c4af-f6fd-43cd-9750-070bb6cc6b55","name":"order_process (giftcard)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"till","type":"text","value":"","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:08:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"330"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"reference_number\": \"17074472\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"Successfully added 10 quick pay balance\"\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"card_number\": \"brandin@spoonity.com\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"beed427f-f89e-4633-90d8-16f41c50ba88"},{"name":"payment_loyalty_pay","id":"81021858-de10-4de1-a7b6-f6b7fb7c585e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"card_number\": \"grace@spoonity.com\",\n    \"receipt_number\": \"MAINT-3065-demo-1\",\n    \"discounts\": [\n        {\n    \t\t\"id\": \"discount_auto_apply_test\",\n    \t\t\"name\": \"auto apply test\",\n    \t\t\"quantity\": 2\n    \t}\n    ]\n}"},"url":"{{endpoint}}/order/redemption?api_key={{apikey}}&pos_session_hash={{orderHash}}","description":"<p>This request is used if the user authorizes payment for the current order with their loyalty balance. The loyalty balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to use the desired amount in loyalty points.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>amount</code> (float): the amount that is being paid in dollars by the user</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>amount</code>: indicates the amount in dollars that was removed from the user's account, amount of points actually removed varies based on individual loyalty systems</li>\n<li><code>transaction_id</code>: a reference number that only supplements the order, this number only references the payment itself</li>\n</ul>\n","urlObject":{"path":["order","redemption"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}],"variable":[]}},"response":[{"id":"f379d74b-a3bb-473e-ac71-eaa6e2a61812","name":"payment_loyalty_pay","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"card_number\": \"brandin@spoonity.com\",\n\t\"amount\": 10.00\n}"},"url":{"raw":"{{endpoint}}/order/payments/loyalty?api_key={{apikey}}&pos_session_hash={{orderHash}}","host":["{{endpoint}}"],"path":["order","payments","loyalty"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:41:30 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"111"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"amount\": -10,\n    \"transaction_id\": \"20720675\",\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"81021858-de10-4de1-a7b6-f6b7fb7c585e"},{"name":"order_process (loyalty)","id":"b4ed2ef7-0c1b-4e58-9ec8-e5e780307f78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-059\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>Here, details about the items in the order, discounts on these items, and discounts on the overall order are sent to our system to complete the sale. If the user is spending points on this order, this request removes them from the user's account. If there are any points to be gained on this order, this request will also add those points to the user's account. The appearance of the response of this request may change based on the structure of the loyalty system with each vendor. Once this order is complete, often the DEL onscreen_close request is called immediately to close the session.</p>\n<blockquote>\n<p>Note: to see examples for both spending points and earning points, toggle between the two options at the top of the example request. </p>\n</blockquote>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><p><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:</p>\n<ul>\n<li><p>card number</p>\n</li>\n<li><p>email address</p>\n</li>\n<li><p>mobile phone number</p>\n</li>\n<li><p>app token</p>\n</li>\n<li><p>cedula</p>\n</li>\n<li><p>passport number</p>\n</li>\n</ul>\n</li>\n<li><p><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</p>\n</li>\n<li><p><code>receipt_number</code> (string): the invoice id from the point of sale</p>\n</li>\n<li><p><code>subtotal</code> (float): the only value that is used to calculate points earned from this order</p>\n</li>\n<li><p><code>taxes</code> (array): holds information about what taxes are on the order, not relevant to the calculation of points</p>\n</li>\n<li><p><code>total</code> (float): the amount the customer actually pays, not relevant to the calculation of points</p>\n</li>\n<li><p><code>payment_method</code> (string): how the customer pays for the order</p>\n</li>\n<li><p><code>date</code> (integer): the date this authorization is occurring, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 in the customer's local time</p>\n</li>\n<li><p><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</p>\n</li>\n<li><p><code>line_items</code> (array of line_item objects, see Appendix below): holds information about each item in the order</p>\n</li>\n<li><p><code>discount</code> (array of discount objects, see Appendix): holds objects that have information about discounts on the overall order</p>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</p>\n</li>\n<li><p><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</p>\n</li>\n<li><p><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request, contains:</p>\n<ul>\n<li><p><code>lines</code>: shows the process was successful in a way that is user friendly</p>\n</li>\n<li><p><code>points</code>: contains information about the points that are being redeemed or earned, each object in this array contains</p>\n<ul>\n<li><p><code>currency</code> (see Appendix): an object that holds information about the type of currency being used</p>\n</li>\n<li><p><code>amount</code>: indicates the quantity of the points that are being removed or added</p>\n</li>\n<li><p><code>expiryDate</code>: indicates the date that these points will expire, as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n</ul>\n</li>\n<li><p><code>user</code>: contains more in depth information about the user making the order:</p>\n<ul>\n<li><p><code>id</code>: an internal reference number that is unique to each user</p>\n</li>\n<li><p><code>card_number</code>: the same card_number that was provided in the request</p>\n</li>\n<li><p><code>balances</code>: an array that contains information about the different balances a user has on their profile</p>\n<ul>\n<li><p><code>id</code>: an internal reference number for the type of currency</p>\n</li>\n<li><p><code>currency</code>: indicates the type of currency in a way that is more user friendly</p>\n</li>\n<li><p><code>balance</code>: the amount of this currency that is available</p>\n</li>\n<li><p><code>type</code>: indicates the category of payment being used</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an identification number assigned to a cashier</p>\n</li>\n<li><p><code>name</code> (string): the name of the cashier</p>\n</li>\n</ul>\n<h6 id=\"line_item\">line_item</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an identification number that is unique to this item</p>\n</li>\n<li><p><code>name</code> (string): identifies the item in a way that is more user friendly</p>\n</li>\n<li><p><code>categories</code> (array): not relevant to the order, can be ignored</p>\n</li>\n<li><p><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a discount specific to this line item</p>\n</li>\n<li><p><code>price</code> (float): indicates the price of 1 unit of this item, must be a positive value</p>\n</li>\n<li><p><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</p>\n</li>\n<li><p><code>modifiers</code> (array of line_items, see Appendix): contains information about items which modify the current item being ordered</p>\n</li>\n</ul>\n<h6 id=\"discounts\">discounts</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"clover_discount\",\n    \"name\": \"Free item\",\n    \"amount\": 2\n        }\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an internal reference that is unique to this item</p>\n</li>\n<li><p><code>name</code> (string): identifies the item in a way that is more user friendly</p>\n</li>\n<li><p><code>amount</code> (float): indicates how much this discount is worth in dollars, must be a positive value</p>\n</li>\n</ul>\n<h6 id=\"modifiers\">modifiers</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an identification number that is unique to this item</p>\n</li>\n<li><p><code>name</code> (string): identifies the item in a way that is more user friendly</p>\n</li>\n<li><p><code>categories</code> (array): not relevant to the order, can be ignored</p>\n</li>\n<li><p><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a unique discount</p>\n</li>\n<li><p><code>price</code> (float): indicates the price of 1 unit of this item</p>\n</li>\n<li><p><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</p>\n</li>\n<li><p><code>modifiers</code>: each modifier has another array of modifiers, making it possible for modifiers to be nested infinitely</p>\n</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\"\n    }\n\n</code></pre>\n<ul>\n<li><p><code>id</code>: an identification number for the type of currency</p>\n</li>\n<li><p><code>name</code>: indicates the type of currency in a way that is more user friendly</p>\n</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"8efc4214-19fe-491e-a902-9b0ee3d38b7c","name":"order_process (loyalty, spending)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-058\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 16:10:57 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"488"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074481\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"-60 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -10,\n                \"expiryDate\": null\n            },\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -50,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9786,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"},{"id":"e2b6f857-1adc-4ecf-a5e6-a7ec225242d9","name":"order_process (loyalty, earning)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-005\",\n  \"subtotal\": 10,\n  \"taxes\": [],\n  \"total\": 10,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"__unknown_id\",\n    \"name\": \"Unknown product\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 10,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 14 May 2019 12:07:42 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"417"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074524\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"100 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": 100,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 6.3600000000000003,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9886,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"b4ed2ef7-0c1b-4e58-9ec8-e5e780307f78"},{"name":"onscreen_close","id":"97d75bcd-9840-4d9f-858a-563a208e24b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"9c18e2d6bc8e9771a96b248061f2a5ff\"\n}"},"url":"{{endpoint}}/onscreen?api_key={{apikey}}","description":"<p>This request uses the session hash key that was generated in the first call of this workflow to close the current session so the next user can check in. In most cases, the Spoonity API automatically closes the most recent session once an order is complete, however this request can also be called manually.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code>: the hash value for the session that is being closed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status of \"200 OK\" indicates successful closure.</p>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"8c6746d9-3946-4136-97fa-fe0d14bdc76c","name":"onscreen_close","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"9c18e2d6bc8e9771a96b248061f2a5ff\"\n\n}"},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 13 May 2019 15:39:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"97d75bcd-9840-4d9f-858a-563a208e24b3"},{"name":"order_void","id":"0e53a88c-4b73-4a6e-ad8e-98387b92de92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":"{{endpoint}}/order/void?api_key={{apikey}}","description":"<p>This request is used to void an order if necessary. Orders can only be voided in order from the most recent sale. To void a sale that was not the most recent, the more recent orders must be voided until the desired order to void is reached, that order must be voided, then the more recent orders must be re-applied in the sequence they occurred.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>receipt</code> (integer): identifies which order is meant to be voided, matches the <code>reference_number</code> that is found in the response of the order_process (loyalty) request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>voided</code>: true if this order was successfully voided</li>\n</ul>\n","urlObject":{"path":["order","void"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"15e54094-074d-4bf7-8662-89947c0d0a09","name":"order_void","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":{"raw":"{{endpoint}}/order/void?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order","void"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 13 May 2019 15:36:31 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"15"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"voided\": true\n}"}],"_postman_id":"0e53a88c-4b73-4a6e-ad8e-98387b92de92"}],"id":"84fdd399-2f99-4211-b7a5-e2338e6f437d","description":"<h6 id=\"1-the-customer-checks-in\">1. The customer checks in</h6>\n<p>The customer physically walks into the vendor, interacts with a cashier, and provides information that we can use to identify this customer. We run a search against our API with this information and determine the customer's account information.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /onscreen\n    - GET /onscreen\n    - GET /vendor/perk/redemption/list\n\n</code></pre><h6 id=\"2-the-payment-is-authorized\">2. The payment is authorized</h6>\n<p>In this step, the account information given by the customer is used to determine if they have sufficient funds for the payment they are trying to authorize. After reviewing their balances, if it is determined that the customer has the funds, their account can be credited or debited according to the type of transaction they are authorizing.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order\n    - POST /order/payments/loyalty\n\n</code></pre><h6 id=\"3-the-order-is-placed\">3. The order is placed</h6>\n<p>Here, information relating to the items in this order, discounts on these items, and any discounts on the overall order are sent to our system to complete the sale.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order\n\n</code></pre><h6 id=\"4-the-session-is-closed\">4. The session is closed</h6>\n<p>The session must be closed in order to allow the next customer to check in. In most cases, this step occurs automatically once the order process is complete, but can also be called manually.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - DEL /onscreen\n\n</code></pre><h6 id=\"5-if-necessary-the-order-is-voided\">5. If necessary, the order is voided</h6>\n<p>This request will cancel a transaction using the reference number from that order. It is important to note that this can only occur in order from the most recent sale. To void a sale that was not the most recent, more recent orders must be voided until the desired order is reached, that order voided, then the more recent orders must be re-applied in the sequence they occurred.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order/void\n\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"8173994f-65b9-4292-ab78-fdc7b500693c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"f57e8f41-0a6e-477e-b48d-f223006ce120","type":"text/javascript","exec":[""]}}],"_postman_id":"84fdd399-2f99-4211-b7a5-e2338e6f437d"},{"name":"Retrieving a list of checked in users","item":[{"name":"onscreen_queue","id":"202b2e1b-191c-438f-b8ad-81c7a7ccbc3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/onscreen/queue?api_key={{apikey}}","description":"<p>This request is used to access a list of users who are already checked in, which can be done by the customer through a mobile application or manually by a cashier. The request returns an array of sessions of checked in users, each with a unique point of sale hash key which is referenced whenever that session's user information is required. </p>\n<h4 id=\"request\">Request:</h4>\n<p>The only information required for this request is the <code>api_key</code> given in the query parameters.</p>\n<h4 id=\"response\">Response:</h4>\n<p>Each object in the array has information for:</p>\n<ul>\n<li><code>pos_session</code>: an object that holds information regarding this specific point of sale session, this object contains:  <ul>\n<li><code>id</code>: the internal reference number that is related to the current point of sale session  </li>\n<li><code>hash</code>: the hash value associated with this current order session</li>\n<li><code>vendor</code>: an object that contains information about the current vendor, this object includes:<ul>\n<li><code>vendor_id</code>: an internal reference number unique to each vendor</li>\n<li><code>name</code>: indicates the vendor in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>user</code>: an object that holds information about the user checking into this session, this object contains:<ul>\n<li><code>user_id</code>: an internal reference number unique to each user</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>email_address</code>: the user's email address</li>\n</ul>\n</li>\n<li><code>table_number</code>: the table number the user has checked in to</li>\n<li><code>redemptions</code> (see Appendix): an array of all redemptions a user desires to use this session, which was specified through the mobile application</li>\n<li><code>payments</code> (see Appendix): an array of all payment options a user desires to use this session, which was specified through the mobile application</li>\n<li><code>date_created</code>: the date this session was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last date this session was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the point of sale session</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"redemptions-array-example\">redemptions array example</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">\"redemptions\": [{\n    \"vendor_perk_redemption_id\": 121,\n    \"name\": \"Free Coffee\",\n    \"currency\": {\n        \"currency_id\": 45,\n        \"name\": \"Coffee Point\"\n        },\n    \"cost\": 10\n    }]\n</code></pre>\n<ul>\n<li><code>vendor_perk_redemption_id</code>: internal reference number that is unique to each vendor perk redemption</li>\n<li><code>name</code>: indicates the vendor perk redemption in a way that is more user friendly</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>cost</code>:  indicates the price of 1 unit of this redemption</li>\n</ul>\n<h6 id=\"payments-array-example\">payments array example</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">\"payments\": [{\n    \"method\": \"quickpay\",\n    \"amount\": 20.00\n    }]\n</code></pre>\n<ul>\n<li><code>method</code>: the payment method the customer has specified to use, can be:<ul>\n<li>quickpay</li>\n<li>loyaly_pay</li>\n<li>billing_profile</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n<p>Note: if the method provided is billing_profile, another parameter is necessary:\n <code>user_billingProfile_id</code>: the internal reference number associated with the user's billing profile</p>\n</blockquote>\n<ul>\n<li><code>amount</code>: the amount that is being authorized to be paid out of this account</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"currency_id\": 45,\n    \"name\": \"Coffee Point\"\n    },\n</code></pre>\n<ul>\n<li><code>currency_id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen","queue"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"79b7f4d5-a8a7-4830-981d-9bcefe8b6ff8","name":"onscreen_queue","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/onscreen/queue?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","queue"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 15:40:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1627"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"pos_session\": {\n            \"id\": 23471267,\n            \"object\": \"pos_session\",\n            \"hash\": \"e777c6662bcfa23f327b9a8b07b7e50c\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"1000454652113\",\n                \"first_name\": \"Guest\",\n                \"last_name\": \"\",\n                \"email_address\": \"guest_8a732bcec1ed306df35780788648c2ea\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1556646066,\n            \"date_updated\": 1556646066,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471268,\n            \"object\": \"pos_session\",\n            \"hash\": \"f38cd0bd184a5c675cf892d5f1839fce\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"1000454652114\",\n                \"first_name\": \"Guest\",\n                \"last_name\": \"\",\n                \"email_address\": \"guest_6c9d4d209ffc9b58d030b7e7767c1962\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1556646073,\n            \"date_updated\": 1556646073,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471296,\n            \"object\": \"pos_session\",\n            \"hash\": \"71c61a3b5792027672d010fe5426b92f\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"582846\",\n                \"first_name\": \"brandin\",\n                \"last_name\": \"chiu\",\n                \"email_address\": \"brandin@spoonity.com\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1557324704,\n            \"date_updated\": 1557324704,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471297,\n            \"object\": \"pos_session\",\n            \"hash\": \"fd322bcc9364864dabb582dcc6b88fec\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"582846\",\n                \"first_name\": \"brandin\",\n                \"last_name\": \"chiu\",\n                \"email_address\": \"brandin@spoonity.com\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1557325306,\n            \"date_updated\": 1557325306,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    }\n]"}],"_postman_id":"202b2e1b-191c-438f-b8ad-81c7a7ccbc3e"},{"name":"onscreen_read","id":"63d6b8f1-f27e-4b70-972f-b3ee2b3e2ff1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{checkedinHash}}","description":"<p>This request uses the point of sale session hash key to access the identification information that was provided by the user. This identification information allows us to retrieve the user's account, which gives us information like their first and last names, their birthday, and a list of rewards this user is currently eligible for. The user's loyalty and quick pay balances are also retrieved at this point, which are necessary in the step for the authorization of payments.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code> (string): passed in using query parameters, must match the hash found in the response of the onscreen_create request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>pos_session</code>: an object that holds information regarding this specific point of sale session, this object contains:  </p>\n<ul>\n<li><code>pos_session_id</code>: the internal reference number that is related to the current point of sale session  </li>\n<li><code>hash</code>: the hash value associated with this current order session  </li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the point of sale session</li>\n</ul>\n</li>\n<li><p>Only one of the following three arguments will have a value that is not null at any given time. The argument that gets a non-null value depends on how the user checked in.</p>\n<ul>\n<li><code>card</code>: if the user checked in with a card, that information is held here and the other two arguments are null</li>\n<li><code>card_third_party</code>: if the user checked in with a third party card, that information is held here and the other two arguments are null</li>\n<li><code>token</code>: if the used any other method to check in, that information is held here and the other two arguments are null</li>\n</ul>\n</li>\n<li><p><code>user</code>: an object that holds all information related to the user in the current session</p>\n<ul>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>default_billing_profile</code>: an identification number associated with the user's default billing profile</li>\n<li><code>birthdate</code>: the user's date of birth as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>address</code>: the user's address</li>\n<li><code>phone_number</code>: the user's phone number</li>\n<li><code>cedula</code>: the user's cedula, if applicable</li>\n<li><code>clover_id</code>: the user's clover id</li>\n<li><code>passport_number</code>: the user's passport number</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>is_employee</code>: true if the user is an employee with this vendor, false if the user is not</li>\n<li><code>id</code>: the internal reference number for the user</li>\n<li><code>birthday</code>: the user's birthday</li>\n<li><code>last_visit</code>: the date the user last visited this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><p><code>favourite_items</code>: an array that contains information about the user's favourite items</p>\n</li>\n<li><p><code>reload</code>: an object that contains the information regarding the user's auto-reload configuration</p>\n<ul>\n<li><code>amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>billing_profile</code>: the user's billing profile that is selected for automatic reload</li>\n</ul>\n</li>\n<li><p><code>favorite</code>: deprecated</p>\n</li>\n<li><p><code>last_visit</code>: deprecated</p>\n</li>\n<li><p><code>loyalty_balance</code>: an object that contains information about the loyalty balance associated with this user, this object contains</p>\n<ul>\n<li><code>data</code>: an array of objects where each contains a different piece of information about the user's loyalty balance<ul>\n<li><code>amount</code>: the number of units of a certain currency that is associated with the user's account</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>rules</code>: an object that holds information about the rules for this current point of sale, each object contains:</p>\n<ul>\n<li><code>earning</code>: an object which contains information about the rules related to earning loyalty points, this object contains:<ul>\n<li><code>data</code>: an array that holds all necessary information for the loyalty point earning process, each object contains earning information for one perk<ul>\n<li><code>id</code>: an internal reference number for this earning rule</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicate the type of currency in a way that is more user friendly</li>\n<li><code>perk_type</code>: an object that holds information about the type of perk offered that is earning points<ul>\n<li><code>id</code>: an internal reference number that is unique to each type of perk</li>\n<li><code>name</code>: indicates the type of perk in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>round_policy</code>: an object that holds information about how points will be rounded during this point of sale<ul>\n<li><code>id</code>: an internal reference number that indicates the type of rounding that is to occur</li>\n<li><code>name</code>: indicates the type of rounding in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>award_amount</code>: the ratio of points awarded when the earning rule is invoked</li>\n<li><code>max_award_amount</code>: the maximum number of points that can be earned in a single instance of a point of sale</li>\n<li><code>start_date</code>: the date this perk begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this perk ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the earning rule</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>spending</code>: an object that holds information about the rules related to spending loyalty points, each object contains:<ul>\n<li><code>data</code>: an array that contains all information necessary to the loyalty point spending process, each object in the array contains spending information for one reward:<ul>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>id</code>: the internal reference number unique to each reward</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the type of reward in a way that is more user friendly</li>\n<li><code>description</code>: a description of what the reward entails</li>\n<li><code>summary</code>: a brief overview of what the promotion is and what points will be removed</li>\n<li><code>cost</code>: how many points this promotion costs to redeem</li>\n<li><code>start_date</code>: the date this promotion begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this promotion ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>available</code>: how many perks of this type the user is able to redeem with their current loyalty balance</li>\n<li><code>progress</code>: the number of points the user has towards qualifying for a perk of this type</li>\n<li><code>catalog</code>: an object that holds information regarding the item that is attached to this redemption<ul>\n<li><code>id</code>: an internal reference number that is unique to each item</li>\n<li><code>identifier</code>: the reference number for this item that is supplied by the point of sale</li>\n<li><code>name</code>: indicates the item in a way that is more user friendly</li>\n<li><code>type</code>: in spending rules, perks are exclusively type discount<ul>\n<li><code>id</code>: an internal reference number that is unique to type discount</li>\n<li><code>name</code>: indicates the type of the current spending rule in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>tier</code>: an object that holds information about the prestige level of the user<ul>\n<li><code>count</code>: total number of tiers this vendor has</li>\n<li><code>current</code>: an object that holds information about the current tier<ul>\n<li><code>name</code>:  indicates the current tier in a way that is more user friendly</li>\n<li><code>since</code>: the date this tier was achieved, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>type</code>: an object that contains the specific information for this tier<ul>\n<li><code>id</code>: an internal reference number unique to each tier</li>\n<li><code>name</code>: indicates the type of this tier in a way that is more user friendly</li>\n<li><code>ranking</code>: the rank of this tier</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>next</code>: an object that contains information about the next tier level to be attained<ul>\n<li><code>name</code>: indicates the name of the next tier in a way that is more user friendly</li>\n<li><code>amount</code>: the number of criteria required to achieve this tier</li>\n<li><code>progress</code>: the number of criteria the user currently has towards reaching the next tier</li>\n<li><code>summary</code>: a summary of the perks offered at the next tier</li>\n<li><code>description</code>: a description of the next tier</li>\n</ul>\n</li>\n<li><code>all</code>: an object that contains information about all tiers possible at this vendor<ul>\n<li><code>vendor_tier_changed</code>: the last date the user's tier changed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 </li>\n<li><code>tier_immunity_days</code>: a configuration value from the vendor, indicates how long a user has on this tier before being downgraded</li>\n<li><code>days_remaining</code>: the time left between now and when the user will be downgraded</li>\n<li><code>data</code>: an array of objects that each hold information about one tier, one object for each tier holds the same information found in <code>current</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>quick_pay_balance</code>: an object that holds information about the quick pay balance a user has linked to their account</p>\n<ul>\n<li><code>amount</code>: the total units of currency available</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    \"code\": \"CAD\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>code</code>: the ISO 4217 code associated with this type of currency, a null value here indicates a loyalty currency</li>\n</ul>\n<h6 id=\"expiring\">expiring</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"data\": []\n    }\n</code></pre>\n<ul>\n<li><code>data</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date)</li>\n</ul>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{checkedinHash}}"}],"variable":[]}},"response":[{"id":"492fa4dd-9c6b-4027-8292-52bd017844d2","name":"onscreen_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{checkedinHash}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{checkedinHash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 15:46:59 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"2881"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"pos_session_id\": \"23471267\",\n        \"hash\": \"e777c6662bcfa23f327b9a8b07b7e50c\",\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        },\n        \"card\": null,\n        \"card_third_party\": {\n            \"number\": \"9999013856174613\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"token\": null\n    },\n    \"user\": {\n        \"email_address\": \"guest_8a732bcec1ed306df35780788648c2ea\",\n        \"default_billing_profile\": null,\n        \"birthdate\": null,\n        \"address\": null,\n        \"phone_number\": \"\",\n        \"clover_id\": \"1000454652113\",\n        \"first_name\": \"Guest\",\n        \"last_name\": \"\",\n        \"is_employee\": false,\n        \"id\": 1000454652113,\n        \"last_visit\": null\n    },\n    \"favourite_items\": [],\n    \"reload\": {\n        \"amount\": 0,\n        \"threshold\": 0,\n        \"billing_profile\": null\n    },\n    \"favorite\": null,\n    \"last_visit\": null,\n    \"loyalty_balance\": {\n        \"data\": [\n            {\n                \"amount\": 0,\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\",\n                    \"code\": null\n                },\n                \"expiring\": {\n                    \"data\": [],\n                    \"page_size\": 0,\n                    \"count\": 0,\n                    \"page\": 1\n                }\n            }\n        ],\n        \"page_size\": 1,\n        \"count\": 1,\n        \"page\": 1\n    },\n    \"rules\": {\n        \"earning\": {\n            \"data\": [\n                {\n                    \"catalogs\": [],\n                    \"id\": 1339,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Points\",\n                    \"perk_type\": {\n                        \"id\": 2,\n                        \"name\": \"Points per item\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 1,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1464753600,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                },\n                {\n                    \"catalogs\": [],\n                    \"id\": 1371,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Sandwich Points\",\n                    \"perk_type\": {\n                        \"id\": 6,\n                        \"name\": \"Currency per dollar (total)\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 10,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1483246800,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                }\n            ]\n        },\n        \"spending\": {\n            \"data\": [\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 642,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Free Item\",\n                    \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n                    \"summary\": \"Spend 50 points to get a free sandwich\",\n                    \"cost\": 50,\n                    \"start_date\": 1500004800,\n                    \"end_date\": 2114312400,\n                    \"available\": 0,\n                    \"progress\": 0,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3570252,\n                        \"identifier\": \"clover_discount\",\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                },\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 756,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Birthday Reward\",\n                    \"description\": null,\n                    \"summary\": \"Free birthday reward\",\n                    \"cost\": 100,\n                    \"start_date\": 1537904763,\n                    \"end_date\": 2114312400,\n                    \"available\": 0,\n                    \"progress\": 0,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3568698,\n                        \"identifier\": \"free_sandwich\",\n                        \"name\": \"Free Sandwich\",\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                }\n            ],\n            \"tier\": {\n                \"count\": 1,\n                \"current\": {\n                    \"name\": \"Default\",\n                    \"since\": 1556660466,\n                    \"type\": {\n                        \"id\": 1,\n                        \"name\": \"Normal\",\n                        \"ranking\": 1\n                    }\n                },\n                \"next\": {\n                    \"name\": \"\",\n                    \"amount\": \"\",\n                    \"progress\": 0,\n                    \"summary\": \"\",\n                    \"description\": \"\"\n                },\n                \"all\": {\n                    \"vendor_tier_changed\": 1556660466,\n                    \"tier_immunity_days\": 0,\n                    \"days_remaining\": null,\n                    \"data\": []\n                }\n            }\n        }\n    },\n    \"quick_pay_balance\": {\n        \"amount\": 0,\n        \"currency\": {\n            \"id\": 191,\n            \"name\": \"Canadian Dollar\",\n            \"code\": \"CAD\"\n        },\n        \"expiring\": {\n            \"data\": [],\n            \"page_size\": 0,\n            \"count\": 0,\n            \"page\": 1\n        }\n    }\n}"}],"_postman_id":"63d6b8f1-f27e-4b70-972f-b3ee2b3e2ff1"},{"name":"order_process (giftcard)","id":"768bfd13-2aba-4fa2-97ac-8f7f1e99ddb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>This request is used if the user authorizes payment for the current order with their quick pay balance. The quick pay balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to spend the desired amount in quick pay, or if the user has sufficient funds to load their quick pay balance.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</li>\n<li><code>amount</code> (float): indicates how much is being added to or removed from the user's account, a positive value here adds this amount and a negative value removes this amount</li>\n<li><code>date</code> (integer): the date this request is being made, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</li>\n<li><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request<ul>\n<li><code>lines</code>: shows the process was successful in a way that is user friendly</li>\n<li><code>user</code>: contains more in depth information about the user making the order:<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>card_number</code>: the same card_number that was provided in the request</li>\n<li><code>balances</code>: an array that contains information about the different balances a user has on their profile. Each object in balances contains:<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>currency</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>balance</code>: the amount of this currency that is available</li>\n<li><code>type</code>: indicates the category of payment being used</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number assigned to a cashier</li>\n<li><code>name</code> (string): the name of the cashier</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"629fb54d-ddd5-48ae-abfa-2ebfd6170e73","name":"order_process (giftcard)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"till","type":"text","value":"","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:08:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"330"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"reference_number\": \"17074472\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"Successfully added 10 quick pay balance\"\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"card_number\": \"brandin@spoonity.com\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"768bfd13-2aba-4fa2-97ac-8f7f1e99ddb5"},{"name":"payment_loyalty_pay","id":"1f702897-2278-456f-8ba6-93c4020c5b15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"card_number\": \"brandin@spoonity.com\",\n\t\"amount\": 10.00\n}"},"url":"{{endpoint}}/order/payments/loyalty?api_key={{apikey}}&pos_session_hash={{orderHash}}","description":"<p>This request is used if the user authorizes payment for the current order with their loyalty balance. The loyalty balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to use the desired amount in loyalty points.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>amount</code> (float): the amount that is being paid in dollars by the user</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>amount</code>: indicates the amount in dollars that was removed from the user's account, the amount of points actually removed varies based on individual loyalty systems</li>\n<li><code>transaction_id</code>: a reference number that only supplements the order, this number only references the payment itself</li>\n</ul>\n","urlObject":{"path":["order","payments","loyalty"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}],"variable":[]}},"response":[{"id":"6dc6e3ef-6ccc-43a4-8840-a4fd2c617e30","name":"payment_loyalty_pay","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"card_number\": \"brandin@spoonity.com\",\n\t\"amount\": 10.00\n}"},"url":{"raw":"{{endpoint}}/order/payments/loyalty?api_key={{apikey}}&pos_session_hash={{orderHash}}","host":["{{endpoint}}"],"path":["order","payments","loyalty"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:41:30 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"111"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"amount\": -10,\n    \"transaction_id\": \"20720675\",\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"1f702897-2278-456f-8ba6-93c4020c5b15"},{"name":"order_process (loyalty)","id":"a4aa2fea-e742-4a77-bd08-5d5b88f39aa9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-058\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>Here, details about the items in the order, discounts on these items, and discounts on the overall order are sent to our system to complete the sale. If the user is spending points on this order, this request removes them from the user's account. If there are any points to be gained on this order, this request will also add those points to the user's account. The appearance of the response of this request may change based on the structure of the loyalty system with each vendor. Once this order is complete, often the DEL onscreen_close request is called immediately to close the session.</p>\n<blockquote>\n<p>Note: to see examples for both spending points and earning points, toggle between the two options at the top of the example request.</p>\n</blockquote>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</li>\n<li><code>receipt_number</code> (string): the invoice id from the point of sale</li>\n<li><code>subtotal</code> (float): the only value that is used to calculate points earned from this order</li>\n<li><code>taxes</code> (array): holds information about what taxes are on the order, not relevant to the calculation of points</li>\n<li><code>total</code> (float): the amount the customer actually pays, not relevant to the calculation of points</li>\n<li><code>payment_method</code> (string): how the customer pays for the order</li>\n<li><code>date</code> (integer): the date of this order, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</li>\n<li><code>line_items</code> (array of line_item objects, see Appendix below): holds information about each item in the order</li>\n<li><code>discount</code> (array of discount objects, see Appendix): holds objects that have information about discounts on the overall order</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</li>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request, contains:<ul>\n<li><code>lines</code>: shows the process was successful in a way that is user friendly</li>\n<li><code>points</code>: contains information about the points that are being used or earned, each object in this array contains<ul>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>amount</code>: indicates the quantity of the points that are being removed or added</li>\n<li><code>expiryDate</code>: indicates the date that these points will expire, as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>user</code>: contains more in depth information about the user making the order:<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>card_number</code>: the same card_number that was provided in the request</li>\n<li><code>balances</code>: an array that contains information about the different balances a user has on their profile. Each object in balances contains:<ul>\n<li><code>id</code>: an internal reference number for the type of currency</li>\n<li><code>currency</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>balance</code>: the amount of this currency that is available</li>\n<li><code>type</code>: indicates the category of payment being used</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number assigned to a cashier</li>\n<li><code>name</code> (string): the name of the cashier</li>\n</ul>\n<h6 id=\"line_item\">line_item</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>categories</code> (array): not relevant to the order, can be ignored</li>\n<li><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a discount specific to this line item</li>\n<li><code>price</code> (float): indicates the price of 1 unit of this item, must be a positive value</li>\n<li><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</li>\n<li><code>modifiers</code> (array of line_items, see Appendix): contains information about items which modify the current item being ordered</li>\n</ul>\n<h6 id=\"discounts\">discounts</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"clover_discount\",\n    \"name\": \"Free item\",\n    \"amount\": 2\n        }\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>amount</code> (float): indicates how much this discount is worth in dollars, must be a positive amount</li>\n</ul>\n<h6 id=\"modifiers\">modifiers</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>categories</code> (array): not relevant to the order, can be ignored</li>\n<li><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a unique discount</li>\n<li><code>price</code> (float): indicates the price of 1 unit of this item</li>\n<li><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</li>\n<li><code>modifiers</code>: each modifier has another array of modifiers, making it possible for modifiers to be nested infinitely</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"5c330359-e6b4-4fb6-b7d5-79c0d0fba32e","name":"order_process (loyalty, spending)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-058\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 16:10:57 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"488"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074481\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"-60 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -10,\n                \"expiryDate\": null\n            },\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -50,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9786,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"},{"id":"8a293652-fe4e-40e9-afb5-7a1c65dc2bee","name":"order_process (loyalty, earning)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-005\",\n  \"subtotal\": 10,\n  \"taxes\": [],\n  \"total\": 10,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"__unknown_id\",\n    \"name\": \"Unknown product\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 10,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 14 May 2019 12:07:42 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"417"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074524\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"100 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": 100,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 6.3600000000000003,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9886,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"a4aa2fea-e742-4a77-bd08-5d5b88f39aa9"},{"name":"onscreen_close","id":"2c30310c-67ff-4dd2-b51c-174f937f98ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"e777c6662bcfa23f327b9a8b07b7e50c\"\n}"},"url":"{{endpoint}}/onscreen?api_key={{apikey}}","description":"<p>This request uses the session hash key that was generated in the first call of this workflow to close the current session. In most cases, most recent session is closed once an order is complete, however this request can also be called manually.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code>: the hash value for the session that is being closed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status of \"200 OK\" indicates successful closure.</p>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"72755cde-cee9-4528-88c8-4d0a4967fd6e","name":"onscreen_close","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"e777c6662bcfa23f327b9a8b07b7e50c\"\n}"},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 14 May 2019 14:03:05 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2c30310c-67ff-4dd2-b51c-174f937f98ac"},{"name":"order_void","id":"769293db-0db1-402f-aac5-4ddb5d71787f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":"{{endpoint}}/order/void?api_key={{apikey}}","description":"<p>This request is used to void an order if necessary. Orders can only be voided in order from the most recent sale. To void a sale that was not the most recent, the more recent orders must be voided until the desired order to void is reached, that order must be voided, then the more recent orders must be re-applied in the sequence they occurred.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>receipt</code> (integer): identifies which order is meant to be voided, matches the <code>reference_number</code> that is found in the response of the order_process (loyalty) request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>voided</code>: indicates if this order was successfully voided or not</li>\n</ul>\n","urlObject":{"path":["order","void"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"eb00b345-6315-4edf-a23d-064336c6ae94","name":"order_void","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":{"raw":"{{endpoint}}/order/void?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order","void"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 13 May 2019 15:36:31 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"15"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"voided\": true\n}"}],"_postman_id":"769293db-0db1-402f-aac5-4ddb5d71787f"}],"id":"5d19efb8-5a25-4e94-acb9-32ae2868e50d","description":"<h6 id=\"1-the-customer-checks-in\">1. The customer checks in</h6>\n<p>The customer checks into the vendor with a mobile application and includes information that we can use to identify them. This design is ideal for vendors that allow customers to make reservations, or that seat customers, so they can indicate when they are in store. Using the information the customer supplies on check in, we run a search against our API and determine the customer's account information.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /onscreen/queue\n    - GET /onscreen\n</code></pre><h6 id=\"2-the-payment-is-authorized\">2. The payment is authorized</h6>\n<p>In this step, the customer's account information can be used to determine if they have sufficient funds for the payment they are trying to authorize. After reviewing their balances, if it is determined that the customer has the funds, their account can be credited or debited according to the type of transaction they are authorizing.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order\n    - POST /order/payments/loyalty\n</code></pre><h6 id=\"3-the-order-is-placed\">3. The order is placed</h6>\n<p>Here, information relating to the items in this order, discounts on these items, and any discounts on the overall order are sent to our system to complete the sale. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order\n</code></pre><h6 id=\"4-the-session-is-closed\">4. The session is closed</h6>\n<p>In most cases, the session is automatically closed once the order process is complete, but the call to do this can also be done manually.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - DEL /onscreen\n</code></pre><h6 id=\"5-if-necessary-the-order-is-voided\">5. If necessary, the order is voided</h6>\n<p>This request will cancel a transaction using the reference number from that order. It is important to note that this can only occur in order from the most recent sale. To void a sale that was not the most recent, more recent orders must be voided until the desired order is reached, that order voided, then the more recent orders must be re-applied in the sequence they occurred. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /order/void\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"d8828035-08ed-4bee-b657-754b8020add7","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c5421998-9845-42ff-bb9a-abd4c912da4c","type":"text/javascript","exec":[""]}}],"_postman_id":"5d19efb8-5a25-4e94-acb9-32ae2868e50d"},{"name":"Registering an account","item":[{"name":"user_email_exists","id":"1419f4a2-967b-4a45-90c1-99bbb099691d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{endpoint}}/user/email/exists?email={{email}}&vendor={{vendor}}","description":"<p>This request determines if the given email is linked with any account at Spoonity.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email</code> (string): passed in using query parameters, the email that is being attempted to be found</li>\n<li><code>vendor</code> (integer): passed in using query parameters, the vendor with which the email is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>exists</code>: a boolean, true if this email exists, false otherwise</li>\n<li><code>vendor</code> (see Appendix): an object that contains information about the vendor this email was first registered with</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","email","exists"],"host":["{{endpoint}}"],"query":[{"key":"email","value":"{{email}}"},{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"ca0f8f81-e2ac-4083-9ccf-965d271d0a0b","name":"user_email_exists","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/user/email/exists?email={{email}}&vendor={{vendor}}","host":["{{endpoint}}"],"path":["user","email","exists"],"query":[{"key":"email","value":"{{email}}"},{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:45:37 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"59"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"exists\": true,\n    \"vendor\": {\n        \"id\": 1044383,\n        \"name\": \"Cookie Hut\"\n    }\n}"}],"_postman_id":"1419f4a2-967b-4a45-90c1-99bbb099691d"},{"name":"user_cedula_exists","id":"77a67324-4f9f-4f5f-8079-f6bc5c696098","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/cedula/exists?cedula=0915931042&vendor=1","description":"<p>This request determines if a cedula is linked to any account at Spoonity. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>cedula</code> (string): passed in using query parameters, the cedula that is being searched</li>\n<li><code>vendor</code> (integer): passed in using the query parameters, the vendor with which the cedula is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>exists</code>: a boolean, true if the cedula exists in our system</li>\n<li><code>valid</code>: a boolean, true if the cedula provided is valid in the vendor's country of residence</li>\n<li><code>vendor</code>: an object that contains information about the vendor this cedula was first registered with</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","cedula","exists"],"host":["{{endpoint}}"],"query":[{"key":"cedula","value":"0915931042"},{"key":"vendor","value":"1"}],"variable":[]}},"response":[{"id":"50cfdd10-703a-4e94-9cb6-ba604cb6e9b5","name":"user_cedula_exists","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/cedula/exists?cedula=0915931042&vendor=1","host":["{{endpoint}}"],"path":["user","cedula","exists"],"query":[{"key":"cedula","value":"0915931042"},{"key":"vendor","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 29 May 2019 18:35:18 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"81"},{"key":"Keep-Alive","value":"timeout=5, max=99"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"exists\": false,\n    \"valid\": true,\n    \"vendor\": {\n        \"id\": 101331,\n        \"name\": \"Sweet & Coffee\"\n    }\n}"}],"_postman_id":"77a67324-4f9f-4f5f-8079-f6bc5c696098"},{"name":"user_mobile_exists","id":"bdf1f662-d820-44f8-9454-aca5882733a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/mobile/exists?mobile={{phone}}&country={{country_identifier}}&vendor={{vendor}}","description":"<p>This request determines if a mobile phone number is linked with any account at Spoonity.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>mobile</code> (string): passed in using query parameters, the desired mobile number to be found</li>\n<li><code>country</code> (string): passed in using query parameters, the two letter ISO 3166-1 code for the country this mobile number should be checked against</li>\n<li><code>vendor</code> (integer): passed in using query parameters, the id of the vendor with which the mobile number is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>available</code>: a boolean, true if this is a valid phone number that is available to be registered, false otherwise</li>\n</ul>\n","urlObject":{"path":["user","mobile","exists"],"host":["{{endpoint}}"],"query":[{"key":"mobile","value":"{{phone}}"},{"key":"country","value":"{{country_identifier}}"},{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"ca6d3805-109d-4f21-b7f4-5cb00543402c","name":"user_mobile_exists","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/mobile/exists?mobile={{phone}}&country={{country_identifier}}&vendor={{vendor}}","host":["{{endpoint}}"],"path":["user","mobile","exists"],"query":[{"key":"mobile","value":"{{phone}}"},{"key":"country","value":"{{country_identifier}}"},{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.1"},{"key":"Date","value":"Tue, 04 Apr 2023 13:11:02 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"18"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"available\": true\n}"}],"_postman_id":"bdf1f662-d820-44f8-9454-aca5882733a0"},{"name":"user_register","id":"c6efbfcf-b83a-4723-b284-eaecb486e79b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"first_name\": \"Grace\",\n   \"last_name\": \"Duncan\",\n   \"anonymous\": 0,\n   \"email_address\": \"grace+1@spoonity.com\",\n   \"password\": \"Spoonity4\",\n   \"birthdate\": 780162621,\n   \"vendor\": 1,\n   \"language\": 1,\n   \"terms\": 1\n}"},"url":"{{endpoint}}/user/register","description":"<p>This request is responsible for creating a profile for a new user. This sets up an account with basic user information such as first and last names, the user's email address, and the user's preferred language.</p>\n<h4 id=\"request\">Request:</h4>\n<p>Required parameters:</p>\n<ul>\n<li><code>first_name</code> (string): the first name of the user that is registering</li>\n<li><code>last_name</code> (string): the last name of the user that is registering</li>\n<li><code>anonymous</code> (boolean): always set to false</li>\n<li><code>email_address</code> (string): the email the user wants linked to their account</li>\n<li><code>password</code> (string): the password the user will use to access their account</li>\n<li><code>terms</code> (boolean): always set to true</li>\n<li><code>vendor</code> (integer): the internal reference number associated with the specific vendor with which the user is registering</li>\n</ul>\n<p>Optional parameters:</p>\n<ul>\n<li><code>phone_number</code> (see Appendix): an object containing information about the phone number to be linked to this account</li>\n<li><code>birthdate</code> (integer): the user's date of birth as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>language</code> (integer, see Appendix): an internal reference number that indicates the user's preferred language</li>\n<li><code>cedula</code> (string): the cedula of the user that is registering, only needed in South America</li>\n<li><code>contact_consent</code> (integer, see Appendix): an internal reference number that represents the user's consent to being contacted</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>id</code>: an internal reference number associated with this user</li>\n<li><code>first_name</code>: the first name the user registered with</li>\n<li><code>last_name</code>: the last name this user registered with</li>\n<li><code>email_address</code>: the email address this user registered with</li>\n<li><code>birthdate</code>: the user's date of birth if it was included as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_created</code>: the date this account was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the date this account was last updated as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the user</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"phone_number\">phone_number</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"code\": \"1\"\n    \"number\": \"1234567890\",\n}\n</code></pre>\n<ul>\n<li><code>code</code> (string): the country code associated with this number</li>\n<li><code>number</code> (string): the user's phone number</li>\n</ul>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status of the user</li>\n<li><code>name</code>: indicates the user's current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n</code></pre><h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n</code></pre>","urlObject":{"path":["user","register"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"bfc83ce6-5347-41d3-aff9-ae4fe31b801f","name":"user_register","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"first_name\": \"Grace\",\n   \"last_name\": \"Duncan\",\n   \"anonymous\": 0,\n   \"email_address\": \"grace@spoonity.com\",\n   \"password\": \"Spoonity4\",\n   \"birthdate\": 845908004,\n   \"vendor\": 1,\n   \"language\": 1,\n   \"terms\": 1\n}"},"url":"{{endpoint}}/user/register"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:27:33 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"408"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"user\",\n    \"id\": \"1000454652210\",\n    \"first_name\": \"Grace\",\n    \"last_name\": \"Duncan\",\n    \"email_address\": \"grace@spoonity.com\",\n    \"facebook_identifier\": null,\n    \"twitter_identifier\": null,\n    \"google_identifier\": null,\n    \"linkedin_identifier\": null,\n    \"birthdate\": 845908004,\n    \"date_created\": 1558967253,\n    \"date_updated\": 1558967253,\n    \"status\": {\n        \"id\": 1,\n    \t\"name\": \"Active\"\n    }\n}"}],"_postman_id":"c6efbfcf-b83a-4723-b284-eaecb486e79b"},{"name":"user_authenticate","id":"96f48f41-7e5f-481f-ba56-3bd2c53e0ec1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"password\": \"Spoonity4\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/authenticate","description":"<p>This request authenticates a user's credentials and creates a login session. Here, information about the user as it applies to this vendor is returned. The session identifier value is crucial to accessing this current login session at any given time. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email_address</code> (string): the email with which the user registered their account</li>\n<li><code>password</code> (string): the password with which the user registered their account</li>\n<li><code>vendor</code> (integer): the internal reference number for the vendor with which the user is attempting to log in</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>first_login</code>: a boolean value indicating if this is the user's first login to this vendor with this account</li>\n<li><code>online_order_token</code>: unique to this login session, allows a specific third party to access this same login session, in most cases this is safe to ignore</li>\n<li><code>vendor_user</code>: in this case will always be null, safe to ignore</li>\n<li><code>session_identifier</code>: a key unique to this current login session</li>\n<li><code>user_vendor</code>: an object that contains information about the user that is specific to this vendor, this object contains:<ul>\n<li><code>language</code> (see Appendix): an object that holds information about the language the user selected with this vendor</li>\n<li><code>vendor</code>: an object that holds information about the current vendor</li>\n<li><code>anonymous</code>: a boolean set with account registration, always false</li>\n<li><code>reload_amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>reload_threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>contact_consent</code> (see Appendix): an integer indicating if the user has allowed the vendor to contact them</li>\n<li><code>created</code>: the date the account was created with this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>billing_profile</code>: the internal reference number of the billing profile used for automatic reload</li>\n<li><code>tier</code> (see Appendix): an object that contains information about the prestige level of the user with the current vendor</li>\n<li><code>tier_since</code>: the date this user reached this tier, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code> (see Appendix): an object that contains information about the current user</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"language\">language</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"code\": \"en\",\n    \"id\": 1,\n    \"name\": \"English\"\n}\n</code></pre>\n<ul>\n<li><code>code</code>: the two letter ISO 639-1 code associated with this language</li>\n<li><code>id</code>: the internal reference number Spoonity uses to identify this language</li>\n<li><code>name</code>: identifies the language in a way that is more user friendly</li>\n</ul>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n<h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n</code></pre><h6 id=\"tier\">tier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 12,\n    \"name\": \"Default\",\n    \"summary\": \"\",\n    \"description\": \"\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number unique to each tier</li>\n<li><code>name</code>: identifies the tier in a way that is more user friendly</li>\n<li><code>summary</code>: a summary of the perks offered at this tier</li>\n<li><code>description</code>: a description of the current tier</li>\n</ul>\n<h6 id=\"user\">user</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"582846\",\n    \"first_name\": \"brandin\",\n    \"last_name\": \"chiu\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number unique to each user</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n</ul>\n","urlObject":{"path":["user","authenticate"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"f7dad705-8df0-4b63-8a79-eb10db4de7ba","name":"user_authenticate","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"password\": \"Spoonity4\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/authenticate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 13:07:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"955"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"first_login\": false,\n    \"object\": \"user_session\",\n    \"online_order_token\": \"edd13104b9e256cc12ab8f458db6cb34\",\n    \"vendor_user\": null,\n    \"session_identifier\": \"056930a5606663c59129029552932d9d\",\n    \"user_vendor\": {\n        \"language\": null,\n        \"object\": \"user_vendor\",\n        \"vendor\": {\n            \"id\": 1,\n            \"name\": \"Spoonity\",\n            \"object\": \"vendor\"\n        },\n        \"anonymous\": false,\n        \"reload_amount\": 0,\n        \"reload_threshold\": 0,\n        \"contact_consent\": 0,\n        \"created\": 1468417320,\n        \"billing_profile\": null,\n        \"tier\": {\n            \"object\": \"vendor_tier\",\n            \"id\": 12,\n            \"name\": \"Default\",\n            \"summary\": \"\",\n            \"description\": \"\"\n        },\n        \"tier_since\": 1468417320,\n        \"user\": {\n            \"object\": \"user\",\n            \"id\": \"582846\",\n            \"first_name\": \"brandin\",\n            \"last_name\": \"chiu\"\n        }\n    }\n}"}],"_postman_id":"96f48f41-7e5f-481f-ba56-3bd2c53e0ec1"},{"name":"user_activate_create","id":"dfecff71-bf04-46f4-b445-3bba55a71e32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate?token={{token}}&session_identifier={{user_session_key}}","description":"<p>This request activates a user's account. The user must have an active login session, and must have received an activation token in an email or SMS. This token is necessary to activate the account.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>token</code> (string): passed in using query parameters, the value that was sent to the user via email</li>\n<li><code>session_identifier</code> (string): passed in using query parameters, must match the session identifier key found in the response of the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p> The response will always be empty, however a status code of 200 OK indicates successful activation.</p>\n","urlObject":{"path":["user","activate"],"host":["{{endpoint}}"],"query":[{"key":"token","value":"{{token}}"},{"key":"session_identifier","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"a1bebc6d-e3a8-4cf8-9248-3cceee5743c3","name":"user_activate_create","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate?token={{token}}&session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate"],"query":[{"key":"token","value":"{{token}}"},{"key":"session_identifier","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:13:40 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"dfecff71-bf04-46f4-b445-3bba55a71e32"},{"name":"user_send_activation_email_read","id":"26817795-15b2-4b9b-b005-44c25768b86a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate/email?session_identifier={{user_session_key}}","description":"<p>This request sends an email to the user currently logged into the given session, this email contains the information necessary to verify that email address.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_identifier</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate the email was sent successfully.</p>\n","urlObject":{"path":["user","activate","email"],"host":["{{endpoint}}"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"ea207a56-11ee-4168-a4d9-483b0b63e25c","name":"user_send_activation_email_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/email?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","email"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:27:42 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"26817795-15b2-4b9b-b005-44c25768b86a"},{"name":"user_send_activation_sms_read","id":"08d4b15e-77fd-4213-95b9-18a68b6af499","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}&phone={{phone}}&country=CA","description":"<p>This request sends an SMS message to the user currently logged into the given session, and contains the information necessary to verify the mobile number on the account. If the user would like to change the mobile number this SMS message is sent to, extra query parameters <code>phone</code> and <code>country</code> must be included.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_identifier</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request</li>\n<li>Optionally, a <code>phone</code> parameter can be included, allowing the user to change the phone number during SMS validation (in case of error). When this parameter is included, it is also necessary to have:<ul>\n<li><code>country</code> (string): the two letter ISO 3166-1 code that indicates which country this phone number is registered in</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate the SMS message was sent successfully.</p>\n","urlObject":{"path":["user","activate","sms"],"host":["{{endpoint}}"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}"},{"key":"country","value":"CA"}],"variable":[]}},"response":[{"id":"92d52f80-9ee9-4268-bde3-7620402a8681","name":"user_send_activation_sms_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","sms"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}","disabled":true},{"key":"country","value":"CA","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:28:38 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"b83b8a71-b917-4dc9-9564-001b06e18165","name":"user_send_activation_sms_read (error)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","sms"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}","disabled":true},{"key":"country","value":"CA","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:40:14 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"406"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": {\n        \"code\": 0,\n        \"reference_id\": null,\n        \"more_info\": \"http://api.spoonity.com/doc/#apiMethod\",\n        \"errors\": [\n            {\n                \"reason\": \"exception\",\n                \"message\": \"There was an error trying to verify your number, please try again.  If the problem persists, please contact support.\"\n            }\n        ]\n    },\n    \"object\": \"error\"\n}"}],"_postman_id":"08d4b15e-77fd-4213-95b9-18a68b6af499"},{"name":"user_is_validated","id":"14d4d222-bfde-4d0d-9732-cbaaccbb2b5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/isValidated?session={{user_session_key}}","description":"<p>This request checks if a user is validated at a specific vendor. The session key gives access to information about which user has activated this session and with what vendor, making it unnecessary to supply any other information.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session</code> (string): passed in using query parameters, must match the session identifier found in the response of the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>isValidated</code>: a boolean, true if the user is validated, false if not</li>\n<li><code>phone_number</code>: the phone number associated with this user</li>\n<li><code>methods</code>: an array verification methods that are enabled with this vendor, user must have at least one of these verified in order to be validated </li>\n<li><code>status</code>: an object that holds information about the status of validation for this user<ul>\n<li><code>No Verification</code>: a boolean, true if the user has had their validation overridden by the vendor and does not have to validate their account, false otherwise</li>\n<li><code>Email</code>: a boolean, true if the user has validated their account through email, false otherwise</li>\n<li><code>Sms</code>: a boolean, true if the user has validated their account through SMS, false otherwise</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["user","isValidated"],"host":["{{endpoint}}"],"query":[{"key":"session","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"007e853e-fa21-44e8-b3ce-4c72188c7002","name":"user_is_validated","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/isValidated?session={{user_session_key}}","host":["{{endpoint}}"],"path":["user","isValidated"],"query":[{"key":"session","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:15:38 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"126"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"isValidated\": true,\n    \"phone_number\": null,\n    \"methods\": [\n        \"Email\",\n        \"Sms\"\n    ],\n    \"status\": {\n        \"No Verification\": false,\n        \"Email\": true,\n        \"Sms\": false\n    }\n}"}],"_postman_id":"14d4d222-bfde-4d0d-9732-cbaaccbb2b5c"},{"name":"user_logout","id":"b2721cd9-738f-454f-a7f9-86a047cb15a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/user/logout?session_key={{user_session_key}}","description":"<p>This request uses the session identifier key that was generated in the user_authenticate request to log out of the session.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key that was created with the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates successful logging out.</p>\n","urlObject":{"path":["user","logout"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"ec7faee2-f48d-4036-a31d-e7cf0de09e62","name":"user_logout","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":{"raw":"{{endpoint}}/user/logout?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","logout"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:42:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b2721cd9-738f-454f-a7f9-86a047cb15a0"},{"name":"user_password_reset_reset","id":"22a2d9ba-5f08-46b9-bf85-1f21faf49e3e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/password-reset/reset","description":"<p>With this request, the user can reset the password linked to their account. This request is used when a user indicates they forgot their password, so the user must only supply an email address to receive the reset information. An email is sent to the given address with a \"token\", which must be sent with the next request to finalize the password reset.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email_address</code> (string): the email address for the account for which the password is being reset </li>\n<li><code>vendor</code> (integer): the internal reference number for the vendor with which the user is resetting their password</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status 200 OK code indicates the email was sent to the user.</p>\n","urlObject":{"path":["user","password-reset","reset"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"6d01145c-bac8-436d-8382-6ed713fe9519","name":"user_password_reset_reset","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/password-reset/reset"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:39:49 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"22a2d9ba-5f08-46b9-bf85-1f21faf49e3e"},{"name":"user_password_reset_apply","id":"58ee4b78-eec2-4ef7-b72f-576a9f037413","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"token\": \"8ac39a5f61785061a6c4a1c8abe8dd9c\",\n\t\"password\": \"Spoonity1\"\n}"},"url":"{{endpoint}}/user/password-reset/apply","description":"<p>The token sent in the email to the user is used in this request to access the user's account and apply the new password. Requiring this token adds an extra measure of security, as it means the user is authorized to access to the email that is linked to the account being changed. Without this, any user could change the password to any given account for which they know an email address, regardless of authorization to access that email or Spoonity account ownership.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>token</code> (string): the value that was sent to the customer via the email they entered in the previous request</li>\n<li><code>password</code> (string): the new password for this user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate that the new password was applied.</p>\n","urlObject":{"path":["user","password-reset","apply"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"b806495d-72ae-4a09-b602-34b1fdbeac75","name":"user_password_reset_apply","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"token\": \"8ac39a5f61785061a6c4a1c8abe8dd9c\",\n\t\"password\": \"Spoonity1\"\n\n}"},"url":"{{endpoint}}/user/password-reset/apply"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:44:03 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"58ee4b78-eec2-4ef7-b72f-576a9f037413"}],"id":"a31ecdc1-0cb0-4574-b8a9-c57d2d76ec02","description":"<h6 id=\"1-registration\">1. Registration</h6>\n<p>A new user registers for an account. The <code>/exists</code> requests are designed to be used as helper methods to assist with front end validation, but their use is not mandatory. The register request sends the new user's information to our systems to create a new profile.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/email/exists\n    - GET /user/cedula/exists\n    - GET /user/mobile/exists\n    - POST /user/register\n</code></pre><h6 id=\"2-log-inout\">2. Log in/out</h6>\n<p>The user's email and password are required to log into their account. These pieces of information are sent to our system for authentication, and the user's login session is returned along with information relevant to the vendor with which they have logged in. When the user decides to log out of their account, the session information is used to access the login session and do so. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/authenticate\n    - POST /user/logout\n</code></pre><h6 id=\"3-activate\">3. Activate</h6>\n<p>Often, vendors require users to validate their account, to ensure the account information supplied by the user is valid and belongs to a real person. A token, sent via email or SMS to the user for security, and the user's current login session are both necessary for this account activation. Once the user has activated their account, their validation will hold a value of true with this vendor. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/activate\n    - GET /user/activate/email\n    - GET /user/activate/sms\n    - GET /user/isValidated\n</code></pre><h6 id=\"4-forgot-password\">4. Forgot password</h6>\n<p>These requests are necessary when a user has forgotten the password they linked to their account. In order to reset the password, a token is sent to the user via their email. This token is used to apply the user's new password to their account.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/password-reset/reset\n    - POST /user/password-reset/apply\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"17edb228-5fbb-4cd2-adf8-d81d094efb2c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"657fcd6c-2dce-416b-8cbf-1d9c68256129","type":"text/javascript","exec":[""]}}],"_postman_id":"a31ecdc1-0cb0-4574-b8a9-c57d2d76ec02"},{"name":"Profile","item":[{"name":"user_profile_read","id":"57609b1c-ea3b-424c-9030-ae5715c43c56","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/profile?session_key={{user_session_key}}","description":"<p>This request is used to get a user's profile information. The session_identifier that was produced on the user's login is used to fetch general information about the user such as their address, first and last names, push notification settings, contact consent settings, etc. This request will also return any optional information that is linked to the user's account, such as a user's favourite location if this has been specified.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>anonymous</code>: a boolean, always set to false</li>\n<li><code>billing_profile</code> (see Appendix): the user's billing profile that is selected for automatic reload, null if this feature is disabled</li>\n<li><code>contact_consent</code> (see Appendix): an internal reference number that represents the user's consent to be contacted by this vendor</li>\n<li><code>created</code>: the date this user's profile was created with this specific vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>flagged</code>: a boolean, true if this user's account has been flagged for suspicious or fraudulent behaviour</li>\n<li><code>id</code>: an internal reference number that links the user's account to this specific vendor</li>\n<li><code>is_verified</code> (see Appendix): an object that indicates if the user is verified or not, similar to the response of the <code>user_is_validated</code> request in the \"Registering an account\" workflow</li>\n<li><code>language</code> (see Appendix): an internal reference number indicating the language that the user has specified to use</li>\n<li><code>metadata</code> (see Appendix): an array of objects that each store details about information that is surplus to the user's required profile data</li>\n<li><code>online_order_token</code>: unique to this login session, allows a specific third party to access this same login session, in most cases this is safe to ignore</li>\n<li><code>push_endpoints</code> (see Appendix): unique id that can be used to send the user push notifications</li>\n<li><code>referral_url</code>: a url that this user can share with a new user to earn points or apply a discount to both accounts</li>\n<li><code>reload_amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>reload_threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the user</li>\n<li><code>updated</code>: the last date this profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code> (see Appendix): an object that contains information about the user whose profile is being read</li>\n<li><code>vendor</code>: an object that is always returned empty, safe to ignore</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"billing_profile\">billing_profile</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    card: \"4242 xxxx xxxx 4242\",\n    created: 1562871344,\n    expiry: 1564531200,\n    id: \"69235\",\n    name: \"nickname\",\n    object: \"user_billingprofile\",\n    status: {},\n    type: \"Visa\",\n    updated: 1563299711\n}\n\n</code></pre><ul>\n<li><p><code>card</code>: the first and last 4 digits of the credit card number linked to this profile</p>\n</li>\n<li><p><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>id</code>: an internal reference number that identifies this billing profile</p>\n</li>\n<li><p><code>name</code>: user specific card reference, as it was entered in the description when the card was added</p>\n</li>\n<li><p><code>status</code>: (see Appendix): an object that contains information about the current status of the billing profile</p>\n</li>\n<li><p><code>type</code>: indicates the type of card in a way that is user friendly</p>\n</li>\n<li><p><code>updated</code>: the last date this billing profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n</ul>\n<h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n\n</code></pre><h6 id=\"is_verified\">is_verified</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"status\": true,\n    \"methods\": {\n        \"No Verification\": false,\n        \"Email\": true,\n        \"Sms\": true\n    }\n\n</code></pre>\n<ul>\n<li><code>status</code>: a boolean, true if the user is validated</li>\n<li><code>methods</code>: an object that holds information about the enabled verification methods with this vendor, each object contains:<ul>\n<li><code>No Verification</code>: a boolean, true if the user has had their validation overridden by the vendor and does not have to validate their account, false otherwise</li>\n<li><code>Email</code>: a boolean, true if the user has validated their account through email, false otherwise</li>\n<li><code>Sms</code>: a boolean, true if the user has validated their account through SMS, false otherwise</li>\n</ul>\n</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n\n</code></pre><h6 id=\"metadata\">metadata</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"user_metadata_id\": \"6770055\",\n    \"user_metadataField_id\": 7,\n    \"field\": \"Address\",\n    \"value\": \"123 Smith St\",\n    \"validation\": null,\n    \"input_type\": null\n    }\n\n</code></pre>\n<ul>\n<li><code>user_metadata_id</code>: an internal reference number that is unique to each user metadata object</li>\n<li><code>user_metadataField_id</code>: an internal reference number that refers to the type of information help by this object</li>\n<li><code>field</code>: indicates the type of information stored in this object in a way that is more user friendly</li>\n<li><code>value</code>: the input for this type of information as it applies to the user</li>\n</ul>\n<h6 id=\"push_endpoints\">push_endpoints</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"gcm\": [],\n    \"apns\": []\n    }\n\n</code></pre>\n<ul>\n<li><code>gcm</code> and <code>apns</code> are arrays that hold information for push notifications</li>\n</ul>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"user\">user</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"object\": \"user\",\n    \"id\": 1000454652210,\n    \"cid\": null,\n    \"facebook_identifier\": null,\n    \"email_address\": \"grace@spoonity.com\",\n    \"first_name\": \"Grace\",\n    \"last_name\": \"Duncan\",\n    \"phone_number\": \"11234567890\",\n    \"passport_number\": null,\n    \"address\": {\n      \"address1\": \"123 Smith St\",\n      \"address2\": \"\",\n      \"city\": \"\",\n      \"region\": null,\n      \"country\": null,\n      \"postal_code\": \"\"\n      },\n    \"birthdate\": 845856000,\n    \"pet\": {\n      \"name\": null,\n      \"date_of_birth\": null\n    },\n    \"created\": 1558967253,\n    \"updated\": 1559225428,\n    \"status\": {}\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>cid</code>: safe to ignore</li>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>phone_number</code>: the user's phone number</li>\n<li><code>passport_number</code>: the user's passport number</li>\n<li><code>address</code> (see Appendix): an object that holds information about the user's address</li>\n<li><code>birthdate</code>: the user's birthdate, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>created</code>: the date the user's profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>updated</code>: the last date this user's profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see above Appendix entry): an object that contains information about the current status of the user</li>\n</ul>\n<h6 id=\"address\">address</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"address1\": \"123 Smith St\",\n    \"address2\": \"\",\n    \"city\": \"\",\n    \"region\": null,\n    \"country\": null,\n    \"postal_code\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>address1</code>: the first line of the user's address</li>\n<li><code>address2</code>: the second line of the user's address, if applicable</li>\n<li><code>city</code>: the user's city</li>\n<li><code>region</code>: an object that contains information about the user's region<ul>\n<li><code>region_id</code>: an internal reference number unique to each region</li>\n<li><code>name</code>: indicates the region in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>country</code>: an object that holds information about the user's country<ul>\n<li><code>country_id</code>: an internal reference number unique to each country</li>\n<li><code>name</code>: indicates the country in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>postal_code</code>: the user's postal or zip code</li>\n</ul>\n","urlObject":{"path":["user","profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"48320ff9-e44d-42a1-b844-8abf00818d43","name":"user_profile_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 14:10:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"3581"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"anonymous\": false,\n    \"billing_profile\": null,\n    \"contact_consent\": 0,\n    \"created\": 1559131926,\n    \"flagged\": false,\n    \"id\": \"2974107\",\n    \"is_verified\": {\n        \"status\": true,\n        \"methods\": {\n            \"No Verification\": false,\n            \"Email\": true,\n            \"Sms\": true\n        }\n    },\n    \"language\": null,\n    \"metadata\": [\n        {\n            \"user_metadata_id\": \"6770055\",\n            \"user_metadataField_id\": 7,\n            \"field\": \"Address\",\n            \"value\": \"123 Smith St\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770056\",\n            \"user_metadataField_id\": 15,\n            \"field\": \"Address2\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770057\",\n            \"user_metadataField_id\": 8,\n            \"field\": \"City\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770058\",\n            \"user_metadataField_id\": 9,\n            \"field\": \"Province\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770059\",\n            \"user_metadataField_id\": 16,\n            \"field\": \"Country\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770060\",\n            \"user_metadataField_id\": 1,\n            \"field\": \"Postal Code\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6769939\",\n            \"user_metadataField_id\": 2,\n            \"field\": \"Phone Number\",\n            \"value\": \"1234567890\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770061\",\n            \"user_metadataField_id\": 45,\n            \"field\": \"Terms Accepted\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        }\n    ],\n    \"newsletters\": {\n        \"count\": 0,\n        \"data\": [],\n        \"next_page_url\": null,\n        \"object\": \"collection\",\n        \"page\": 1,\n        \"page_size\": 50,\n        \"previous_page_url\": null,\n        \"total_pages\": 0\n    },\n    \"object\": \"user_vendor\",\n    \"online_order_token\": null,\n    \"push_endpoints\": {\n        \"gcm\": [],\n        \"apns\": []\n    },\n    \"referral_url\": \"http://app-builder.spoonity.com/storage/microsite/deploy/playa-bowls#/invite/grace1441\",\n    \"reload_amount\": 0,\n    \"reload_threshold\": 0,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    },\n    \"updated\": 1559225428,\n    \"user\": {\n        \"object\": \"user\",\n        \"id\": 1000454652210,\n        \"cid\": null,\n        \"facebook_identifier\": null,\n        \"email_address\": \"grace@spoonity.com\",\n        \"first_name\": \"Grace\",\n        \"last_name\": \"Duncan\",\n        \"phone_number\": \"11234567890\",\n        \"passport_number\": null,\n        \"address\": {\n            \"address1\": \"123 Smith St\",\n            \"address2\": \"\",\n            \"city\": \"\",\n            \"region\": null,\n            \"country\": null,\n            \"postal_code\": \"\"\n        },\n        \"birthdate\": 845856000,\n        \"pet\": {\n            \"name\": null,\n            \"date_of_birth\": null\n        },\n        \"created\": 1558967253,\n        \"updated\": 1559225428,\n        \"status\": {}\n    },\n    \"vendor\": {}\n}"}],"_postman_id":"57609b1c-ea3b-424c-9030-ae5715c43c56"},{"name":"user_profile_update","id":"aaa92f8a-9d56-4a43-96a9-acadec91d61a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"phone_number\": {\n\t\t\"number\": \"1234567890\",\n\t\t\"code\": \"1\"\n\t}\n}"},"url":"{{endpoint}}/user/profile?session_key={{user_session_key}}","description":"<p>This request is used to update information on a user's account. If only one piece of information is being updated, only that parameter has to be sent with the request. If multiple pieces of information are being updated, multiple parameters can be sent with one request to do this. This request can be used to change things such as a user's password, email, or address.</p>\n<h4 id=\"request\">Request:</h4>\n<p>Each of these parameters are optional, it is only necessary to include the parameters that are being updated.</p>\n<blockquote>\n<p>Note: if email or password is being updated, <code>current_password</code> (string) must also be included </p>\n</blockquote>\n<ul>\n<li><code>address1</code> (string): the user's updated address</li>\n<li><code>city</code> (string): the user's updated city</li>\n<li><code>region</code> (integer): the user's updated region as the internal reference number to this region</li>\n<li><code>country</code> (integer): the user's updated country as the internal reference number to this region</li>\n<li><code>postal_code</code> (string): the user's updated postal or zip code</li>\n<li><code>phone_number</code> (object, see Appendix): an object that contains information necessary to update the user's phone number</li>\n<li><code>password</code> (string): the user's updated password, must include parameter <code>current_password</code></li>\n<li><code>email_address</code> (string): the user's updated email, must include parameter <code>current_password</code></li>\n<li><code>language</code> (integer, see Appendix): the user's updated language preference as the internal reference number for this language</li>\n<li><code>contact_consent</code> (integer, see Appendix): the user's updated consent preferences as the internal reference number to this preference</li>\n<li><code>first_name</code> (string): the user's updated first name</li>\n<li><code>last_name</code>(string): the user's updated last name</li>\n<li><code>status</code> (object, see Appendix): an object that contains the information necessary to update the user's status</li>\n<li><code>metadata</code> (object, see Appendix): an object that contains the information necessary to update a metadata value</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty however a status code of 200 OK indicates the profile was updated successfully</p>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"phone_number\">phone_number</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"number\": \"1234567890\",\n    \"code\": \"1\"\n}\n\n</code></pre>\n<ul>\n<li><code>number</code> (string): the user's updated phone number</li>\n<li><code>code</code> (string): the country code associated with this number</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n\n</code></pre><h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n\n</code></pre><h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"metadata\">metadata</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"user_metadata_id\": \"6770055\",\n    \"user_metadataField_id\": 7,\n    \"field\": \"Address\",\n    \"value\": \"123 Smith St\",\n    \"validation\": null,\n    \"input_type\": null\n    }\n\n</code></pre>\n<ul>\n<li><code>user_metadata_id</code>: an internal reference number that is unique to each user metadata object</li>\n<li><code>user_metadataField_id</code>: an internal reference number that refers to the type of information this object holds</li>\n<li><code>field</code>: indicates the type of information stored in this object in a way that is more user friendly</li>\n<li><code>value</code>: the input for this type of information as it applies to the user</li>\n</ul>\n","urlObject":{"path":["user","profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"1c41bb5b-c074-4c05-896f-d4251542f03e","name":"user_profile_update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"phone_number\": {\n\t\t\"number\": \"1234567890\",\n\t\t\"code\": \"1\"\n\t}\n}"},"url":{"raw":"{{endpoint}}/user/profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 18:58:50 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"aaa92f8a-9d56-4a43-96a9-acadec91d61a"},{"name":"user_token_request","id":"25024475-32ff-46d4-8ead-6df049a97b95","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"token_type\": 2\n}"},"url":"{{endpoint}}/user/token/request?session_key={{user_session_key}}","description":"<p>This request returns a unique token and barcode for the user. This barcode can be used to identify the user on check in when placing an order. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>token_type</code> (integer): a static value that is always 2</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>barcode</code>: raw image data that can be used to identify user on check in</li>\n<li><code>created</code>: the date this token was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the date this token will expire, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that is unique to each token</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of this token</li>\n<li><code>token</code>: holds the same information encoded in the barcode, in string form</li>\n<li><code>type</code>: a reference number for the type of token being returned, always the same so safe to ignore</li>\n<li><code>updated</code>: the last date this token was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an empty object, safe to ignore</li>\n<li><code>vendor</code>: an empty object, safe to ignore</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","token","request"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"c0e19515-d6df-4782-acc1-1f5e365a7332","name":"user_token_request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"token_type\": 2\n}"},"url":{"raw":"{{endpoint}}/user/token/request?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","token","request"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:43:28 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"924"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"barcode\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAawAAAEgAQMAAADSdNVMAAAABlBMVEX///8AAABVwtN+AAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAX5JREFUaIHt2kGOAyEMRFHfwPe/pW9AqsrZ9kiTsIn0UZRWA4+dZTdQRfvNdtS6u9oPvc0Z/fymsT7Vk/EznqFOTRoYDPY1m5nSX5Vm1rS4fWU9LQKDwe4xB6OiUU5a8ZkA3bh1x4HBYBeZwtMx6v9kQa9T6ThZBwaD3WOepHzoGtQl6LhjKmnRCAaD3WMOx3ZUpuQUHs+sfAe6OoXBYNdY16bD2c2VyKx2PPKYFmEw2AfspA51YqzeEHVNqqh1lP6RFmEw2P+Z0mHGs8ei6d3e4cy+S4IWBoPdZJv9kgcVrJ1w9TGCBytHeTAY7A47W4fWOwUqSnN+l8OEIBgMdo3p54+8cgo0yJs7E6bnKS3CYLAP2N5H8Zde+x5YNjfbFah3NF2QwmCwayx9tXdRlAa9p3needI3VfqpDIXBYB8wf+z5iM7QJwlbmfocbzc6YTDYNeZ9zLOpMfdTEqydvc7KvUsYDHaNbWachKrL0c7JXe6pqE8PGAz2LaP9YnsBwc/jtlK3UtoAAAAASUVORK5CYII=\",\n    \"created\": 1559231008,\n    \"expiry\": 2147483647,\n    \"id\": \"897652\",\n    \"status\": {},\n    \"token\": \"2eb31700aad7b757751d1bf66f3d2b0c\",\n    \"type\": {},\n    \"updated\": 1559231008,\n    \"user\": {},\n    \"vendor\": {}\n}"}],"_postman_id":"25024475-32ff-46d4-8ead-6df049a97b95"},{"name":"user_delete_submit","id":"23cd6f30-8a1f-4669-ba84-75a9e755afd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{}"},"url":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/submit?session_key={{user_session_key}}","description":"<p>This request is called when a user indicates they would like to delete their account. An email is sent to the customer with a code that will allow them to confirm the deletion process. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which that account is being deleted</li>\n<li><code>user</code> (integer): passed in using the url directly, the internal reference number for the user's account that is to be deleted</li>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, but a status code of 204 No Content indicates an email was successfully sent.</p>\n","urlObject":{"path":["vendor","{{vendor}}","customers","{{user}}","submit"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"4245ecba-7d72-4203-b971-91a6b76a9b48","name":"user_delete_submit","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/submit?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","customers","{{user}}","submit"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"html","header":[{"key":"Date","value":"Thu, 30 May 2019 17:09:13 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"text/html; charset=UTF-8"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"23cd6f30-8a1f-4669-ba84-75a9e755afd8"},{"name":"user_delete","id":"80abfa0a-4864-4e93-bcd0-4b646e81e480","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"code\": \"aca0a733c0ba5a8afde59ce6d6f4dbf3\"\n}"},"url":"{{endpoint}}/vendor/{{vendor}}/customers","description":"<p>The code received by the user via their email is sent to our system using this request, along with the vendor with which this account is being deleted. This request is responsible for the actual deletion of the user's account. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which this user's account is being deleted</li>\n<li><code>code</code> (string): the code that the user received via email</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response returns an empty array, and a status code 200 OK indicates the account was successfully deleted.</p>\n","urlObject":{"path":["vendor","{{vendor}}","customers"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"ce9f289d-24ea-4d82-ba43-739f3dafbbaa","name":"user_delete","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"code\": \"aca0a733c0ba5a8afde59ce6d6f4dbf3\"\n}"},"url":"{{endpoint}}/vendor/1/customers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 17:11:21 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"2"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"80abfa0a-4864-4e93-bcd0-4b646e81e480"},{"name":"user_quickpay_balance","id":"3fcc74bd-4d07-418e-8b15-b1538f2ec553","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/quick-pay/balance?session_key={{user_session_key}}","description":"<p>This request is used to check the user's quick pay balance on their account. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>amount</code>: the quantity of quickpay balance the user has on their account</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"code\": \"CAD\"\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    }\n</code></pre>\n<ul>\n<li><code>code</code>: the ISO 4217 code associated with this type of currency, a null value indicates a loyalty currency</li>\n<li><code>id</code>: the internal reference number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","quick-pay","balance"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"a185772f-5eaf-4524-8b5e-751260565e95","name":"user_quickpay_balance","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/quick-pay/balance?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","quick-pay","balance"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:40:33 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"184"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"amount\": 0,\n    \"currency\": {\n        \"code\": \"CAD\",\n        \"id\": 191,\n        \"name\": \"Canadian Dollar\",\n        \"object\": \"currency\"\n    },\n    \"object\": \"Virtual\\\\Balance\"\n}"}],"_postman_id":"3fcc74bd-4d07-418e-8b15-b1538f2ec553"},{"name":"user_currency_balance","id":"895db2ca-62f5-4c1a-ab8d-76626cbb5905","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/currency/balance?session_key={{user_session_key}}","description":"<p>This request is used to check all balances on a user's account, both quickpay and loyalty balances are returned. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>An array of two objects where one is quick pay and one is points. Each contains:</p>\n<ul>\n<li><code>currency</code>: an object that contains information about what currency is being used<ul>\n<li><code>currency_id</code>: an internal reference number that indicates what currency is in use</li>\n<li><code>name</code>: indicates the currency in a way that is more user friendly</li>\n<li><code>currencyType</code>: an object that holds information about the type of currency being used<ul>\n<li><code>currencyType_id</code>: an internal reference number that indicates the type of currency being used</li>\n<li><code>name</code>: indicates the type of currency being used in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of this currency</li>\n<li><code>balance</code>: indicates the amount of this currency that is on this account</li>\n<li><code>expiring</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","currency","balance"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"c4025f14-a25e-472b-9431-409eaf97b199","name":"user_currency_balance","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/currency/balance?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","currency","balance"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:40:49 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"352"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"currency\": {\n            \"currency_id\": 191,\n            \"name\": \"Canadian Dollar\",\n            \"currencyType\": {\n                \"currencyType_id\": 1,\n                \"name\": \"Quick Pay\"\n            },\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"balance\": 0,\n        \"expiring\": []\n    },\n    {\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\",\n            \"currencyType\": {\n                \"currencyType_id\": 2,\n                \"name\": \"Loyalty\"\n            },\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"balance\": 0,\n        \"expiring\": []\n    }\n]"}],"_postman_id":"895db2ca-62f5-4c1a-ab8d-76626cbb5905"},{"name":"virtual_user_rewards","id":"f8f56535-47a5-482b-9d38-57bd424d2b95","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/reward/list?session_key={{user_session_key}}","description":"<p>This request returns a list of rewards this user is eligible for with this vendor, as well as information about the user's tier. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>balances</code>: an array of objects that hold information about the balances of each currency on this user's account<ul>\n<li><code>id</code>: an internal reference number that indicates which currency is being referenced</li>\n<li><code>name</code>: indicates the currency being referenced in a way that is more user friendly</li>\n<li><code>balance</code>: shows the balance of this currency on this user's account</li>\n</ul>\n</li>\n<li><code>count</code>: indicates the number of rewards this user has available</li>\n<li><code>data</code>: an array of objects that hold information about each vendor reward this user has available<ul>\n<li><code>catalog</code>: an object that contains information about how this reward is invoked<ul>\n<li><code>id</code>: an internal reference number that refers to the line_item (see order_process (loyalty) in \"Placing an order\") that invokes this redemption rule</li>\n<li><code>name</code>: indicates the line_item that invokes this redemption rule in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>summary</code>: a brief overview of what the reward is and what points will be removed</li>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>type</code>: an object that holds information about the type of reward being offered<ul>\n<li><code>id</code>: an internal reference number that indicates the type of reward being offered</li>\n<li><code>name</code>: indicates the type of reward being offered in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>id</code>: an internal reference number unique to each reward</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the reward in a way that is more user friendly</li>\n<li><code>description</code>: a description of what the reward entails</li>\n<li><code>cost</code>: the amounot of points this reward requires to be redeemed</li>\n<li><code>available</code>: how many of these rewards the user is able to redeem with their current loyalty balance</li>\n<li><code>progress</code>: the number of points the user has towards qualifying for a reward of this type</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this reward will expire</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n<li><code>tier</code>: an object that holds information about the prestige level of the user<ul>\n<li><code>count</code>: total number of tiers this vendor has</li>\n<li><code>current</code>: an object that holds information about the user's current tier<ul>\n<li><code>description</code>: a description of the current tier</li>\n<li><code>id</code>: an internal reference number that indicates the user's current tier</li>\n<li><code>summary</code>: a summary of the rewards offered at the current tier</li>\n<li><code>name</code>: indicates the name of the current tier in a way that is more user friendly</li>\n<li><code>since</code>: the date this tier was achieved, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>next</code>: an object that contains information about the next tier level to be attained<ul>\n<li><code>id</code>: an internal reference number for the next tier</li>\n<li><code>name</code>: indicates the name of the next tier in a way that is more user friendly</li>\n<li><code>progress</code>: the number of criteria the user currently has towards reaching the next tier</li>\n<li><code>amount</code>: the number of criteria required to achieve this tier</li>\n<li><code>summary</code>: a summary of the perks offered at the next tier</li>\n<li><code>description</code>: a description of the next tier</li>\n</ul>\n</li>\n<li><code>all</code>: an object that contains information about all possible tiers with this vendor<ul>\n<li><code>vendor_tier_changed</code>: the last date the user's tier changed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 </li>\n<li><code>tier_immunity_days</code>: a configuration value from the vendor, indicates how long a user has on this tier before being downgraded</li>\n<li><code>days_remaining</code>: the time left between now and when the user will be downgraded</li>\n<li><code>data</code>: an array of objects that each hold information about one tier, one object for each tier holds the same information found in <code>next</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n<h4 id=\"appendix-1\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n<h6 id=\"expiring\">expiring</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"data\": []\n    }\n</code></pre>\n<ul>\n<li><code>data</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n","urlObject":{"path":["user","reward","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"303982d1-cb5f-423e-ab9a-be9383f0b8f4","name":"virtual_user_rewards","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/reward/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reward","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:41:01 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"4100"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"balances\": [\n        {\n            \"id\": 961,\n            \"name\": \"Points\",\n            \"balance\": 0\n        }\n    ],\n    \"count\": 3,\n    \"data\": [\n        {\n            \"catalog\": {\n                \"id\": \"discount_free_coffee\",\n                \"name\": \"Free Coffee\"\n            },\n            \"group\": null,\n            \"summary\": \"Spend 50 points to get a free sandwich\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 1,\n                \"name\": \"Regular\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 642,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Free Item\",\n            \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n            \"cost\": 50,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        },\n        {\n            \"catalog\": {\n                \"id\": \"discount_free_sandwich\",\n                \"name\": \"Free Sandwich\"\n            },\n            \"group\": null,\n            \"summary\": \"Free birthday reward\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 1,\n                \"name\": \"Regular\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 756,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Birthday Reward\",\n            \"description\": null,\n            \"cost\": 100,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        },\n        {\n            \"catalog\": {\n                \"id\": \"loyalty_pay\",\n                \"name\": \"Loyalty Pay\"\n            },\n            \"group\": null,\n            \"summary\": \"Pay with your points!\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 2,\n                \"name\": \"Loyalty Pay\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 911,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Loyalty Pay\",\n            \"description\": \"\",\n            \"cost\": 1,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/reward/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=1\",\n    \"object\": \"collection\",\n    \"page\": null,\n    \"page_size\": null,\n    \"previous_page_url\": null,\n    \"total_pages\": 0,\n    \"tier\": {\n        \"object\": \"tier\",\n        \"count\": 1,\n        \"current\": {\n            \"description\": \"\",\n            \"id\": 12,\n            \"summary\": \"\",\n            \"object\": \"current_tier\",\n            \"name\": \"Default\",\n            \"since\": 1559131926\n        },\n        \"next\": {\n            \"id\": \"\",\n            \"object\": \"next_tier\",\n            \"name\": \"\",\n            \"progress\": 0,\n            \"amount\": 0,\n            \"summary\": \"\",\n            \"description\": \"\"\n        },\n        \"all\": {\n            \"vendor_tier_changed\": 1559131926,\n            \"tier_immunity_days\": 0,\n            \"days_remaining\": -5,\n            \"data\": [\n                {\n                    \"id\": 12,\n                    \"name\": \"Default\",\n                    \"progress\": null,\n                    \"amount\": null,\n                    \"summary\": \"\",\n                    \"description\": \"\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"f8f56535-47a5-482b-9d38-57bd424d2b95"},{"name":"transaction_list","id":"fb748fc1-6e47-46ca-bb07-78a65634d345","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/transaction/list?session_key={{user_session_key}}","description":"<p>This request returns a list of the user's most recent transactions, ordered from newest to oldest. Only transactions that involved spending or earning quickpay or loyalty currencies are returned here. This request allows the user to observe changes in their account balances.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>count</code>: the total number of transactions returned with this response</p>\n</li>\n<li><p><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</p>\n</li>\n<li><p><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</p>\n</li>\n<li><p><code>data</code>: an array of objects that each hold information about previous transactions, ordered newest to oldest</p>\n<ul>\n<li><p><code>rating</code>: an object that holds information about the rating of this transaction</p>\n<ul>\n<li><p><code>comment</code>: the feedback from the customer regarding this transaction</p>\n</li>\n<li><p><code>value</code>: the value of the rating on a scale of 0-100, where 0 is bad, 100 is good, and -1 indicates there was no rating provided for this transaction</p>\n</li>\n<li><p><code>window</code>: an integer that indicates the number of hours available to leave a rating, in reference to the time of the order</p>\n</li>\n</ul>\n</li>\n<li><p><code>tip</code>: an object that contains information about the tip on this transaction</p>\n<ul>\n<li><p><code>amount</code>: the value of the tip given on this transaction</p>\n</li>\n<li><p><code>window</code>: an integer that indicates the number of hours available to leave a tip, in reference to the time of the order</p>\n</li>\n</ul>\n</li>\n<li><p><code>id</code>: the internal reference number for this specific transaction</p>\n</li>\n<li><p><code>date</code>: the date this transaction was completed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>total</code>: usually the same as subtotal, safe to ignore as does not affect the calculation of points</p>\n</li>\n<li><p><code>address</code>: the address of the store where this transaction occurred</p>\n</li>\n<li><p><code>name</code>: the name of the store where this transaction occurred</p>\n</li>\n<li><p><code>quickpay</code>: an object that holds information regarding the changes in quickpay balance for this transaction</p>\n<ul>\n<li><p><code>used</code>: indicates the amount of quickpay that was redeemed on this order</p>\n</li>\n<li><p><code>loaded</code>: indicates the amount of quickpay that was added on this order</p>\n</li>\n<li><p><code>balance</code>: the current balance of this users quickpay, as of this transaction</p>\n</li>\n</ul>\n</li>\n<li><p><code>items</code>: an array of objects where each object holds information about an item on this order</p>\n<ul>\n<li><p><code>type</code>: an internal reference number that indicates the catalog type of item (eg. discount/product/etc)</p>\n</li>\n<li><p><code>name</code>: indicates the item in a way that is user friendly, as assigned by the vendor</p>\n</li>\n<li><p><code>quantity</code>: how many of these items were ordered</p>\n</li>\n<li><p><code>price</code>: the price of one of these items</p>\n</li>\n<li><p><code>id</code>: an internal reference number specific to this item</p>\n</li>\n<li><p><code>loyalty</code>: an array of objects that each contain information about a change in the loyalty balance for this transaction</p>\n<ul>\n<li><p><code>transaction_detail_id</code>: an internal reference number specific to this change of loyalty balance</p>\n</li>\n<li><p><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</p>\n</li>\n<li><p><code>amount</code>: how many loyalty points were added to or removed from the user's account</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>taxes</code>: usually an empty array, can safely be ignored</p>\n</li>\n<li><p><code>receipts</code>: holds the receipt information for this transaction</p>\n<ul>\n<li><p><code>date</code>: the date this transaction occurred, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>subtotal</code>: indicates the subtotal of the overall order</p>\n</li>\n<li><p><code>id</code>: an internal reference number for this order</p>\n</li>\n<li><p><code>number</code>: the receipt number as assigned to this transaction by the point of sale</p>\n</li>\n<li><p><code>cashier</code>: the cashier that completed this transaction</p>\n</li>\n<li><p><code>workstation</code>: the identifier for the workstation used for this transaction, as supplied by the point of sale</p>\n</li>\n</ul>\n</li>\n<li><p><code>reward</code>: an array of objects that each contain information regarding the rewards redeemed or earned on this transaction</p>\n<ul>\n<li><p><code>expired</code>: indicates if this reward is expired</p>\n</li>\n<li><p><code>expiry_date</code>: if reward is expired, the date this reward expired, a Unix timestamp in seconds from 1970-01-01 00:00:00, otherwise set to NULL</p>\n</li>\n<li><p><code>name</code>: indicates the current reward in a way that is more user friendly</p>\n</li>\n<li><p><code>id</code>: an internal reference number that indicates the current reward</p>\n</li>\n<li><p><code>spent</code>: the number of loyalty points redeemed with this reward</p>\n</li>\n<li><p><code>earned</code>: the number of loyalty points earned with this reward</p>\n</li>\n<li><p><code>balance</code>: the current loyalty balance after this reward was applied</p>\n</li>\n<li><p><code>perks</code>: an array indicating the earning rules that were applied to this transaction</p>\n</li>\n<li><p><code>redemptions</code>: an array indicating the spending rules that were applied to this transaction</p>\n</li>\n</ul>\n</li>\n<li><p><code>status</code>: indicates the status of the transaction in a way that is user friendly</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 961,\n    \"name\": \"Points\",\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code>: an internal reference number that indicates the type of currency</p>\n</li>\n<li><p><code>name</code>: indicates the type of currency in a way that is more user friendly</p>\n</li>\n</ul>\n","urlObject":{"path":["user","transaction","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"eeef126f-0263-4d64-9a9a-7ea4154e8fe3","name":"transaction_list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/transaction/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","transaction","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 15 Jul 2019 15:26:18 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"collection\",\n    \"count\": 384,\n    \"page\": 1,\n    \"page_size\": 10,\n    \"total_pages\": 39,\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/transaction/list?session_key=e2a407be6ca8b6505d73a7a3d0acff6f&page=2&limit=10\",\n    \"previous_page_url\": null,\n    \"data\": [\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20721520,\n            \"date\": 1562950790,\n            \"total\": 2.4900000000000002,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 2.4900000000000002,\n                \"loaded\": 0,\n                \"balance\": 100.95999999999999\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2.4900000000000002,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2.4900000000000002,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 3,\n                    \"name\": \"Free Coffee\",\n                    \"quantity\": 1,\n                    \"price\": -2.4900000000000002,\n                    \"id\": 3570892,\n                    \"loyalty\": [\n                        {\n                            \"transaction_detail_id\": \"25250615\",\n                            \"currency\": {\n                                \"id\": 961,\n                                \"name\": \"Points\"\n                            },\n                            \"amount\": -50\n                        }\n                    ]\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1562965197,\n                    \"subtotal\": 2.4900000000000002,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17075868,\n                    \"number\": \"ORDER-TEST-1562950797\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 20,\n                    \"balance\": 490,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Free Item\"\n                    ]\n                },\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 50,\n                    \"earned\": 0,\n                    \"balance\": 490,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Free Item\"\n                    ]\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20721519,\n            \"date\": 1562941834,\n            \"total\": 0,\n            \"address\": \"103-290 Picton Ave\",\n            \"name\": \"Spoonity\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 5,\n                \"balance\": 103.45\n            },\n            \"items\": [],\n            \"taxes\": [],\n            \"receipts\": [],\n            \"rewards\": [],\n            \"status\": \"Complete\"\n        }\n    ]\n}"}],"_postman_id":"fb748fc1-6e47-46ca-bb07-78a65634d345"},{"name":"transaction_history (new)","id":"fe14cdaa-7070-4117-874c-88cff9c2ea69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"{{endpoint}}/vendor/{{vendor}}/customers/{{customer}}/history?session_key={{user_session_key}}","description":"<p>This request returns a list of the user's most recent transactions, ordered from newest to oldest. All transaction types are included here, including adjustments from support or from the vendor. This request allows the user to observe changes in their account balances.</p>\n<h4 id=\"request\">Request:</h4>\n<p>This request can be completed using an <code>api_key</code> or a valid <code>session_key</code> supplied in the query parameters. If using a <code>session_key</code>, it must match the session identifier found in the response of the user_authenticate request for the customer defined in the URL.</p>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>data</code>: an array of objects that each hold information about previous transactions, ordered newest to oldest</p>\n<ul>\n<li><p><code>receipt_id</code>: an internal reference number for this receipt</p>\n</li>\n<li><p><code>receipt_number</code>: the receipt number as received from the POS</p>\n</li>\n<li><p><code>receipt_date</code>: indicates the date associated with the receipt as received from the POS, as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>receipt_type</code>: indicates the receipt type in a way that is user friendly</p>\n</li>\n<li><p><code>date_created</code>: indicates the date that this record was created, as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>date_updated</code>: indicates the date that this record was updated, as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>subtotal</code>: the value that was used to calculate points earned from this order, as received from the POS</p>\n</li>\n<li><p><code>total</code>: the amount the customer actually pays, not relevant to the calculation of points, as received from the POS</p>\n</li>\n<li><p><code>total_with_tips</code>: the total amount including any tips, as indicated on the order received from the POS</p>\n</li>\n<li><p><code>is_online_order</code>: a boolean indicating if this transaction was an online order</p>\n</li>\n<li><p><code>feedback</code>: any feedback associated with this this order, as received from the POS</p>\n</li>\n<li><p><code>vendor</code>: an object that contains information about the vendor this order has been created through</p>\n<ul>\n<li><p><code>vendor_id</code>: an internal reference number that is unique to each vendor</p>\n</li>\n<li><p><code>name</code>: indicates the current vendor in a way that is more user friendly</p>\n</li>\n<li><p><code>address</code>: the vendor's street address</p>\n</li>\n<li><p><code>city</code>: the vendor's city</p>\n</li>\n<li><p><code>region</code>: an object indicating the vendor's region</p>\n</li>\n<li><p><code>country</code>: an object indicating the vendor's country</p>\n</li>\n<li><p><code>postal_code</code>: the vendor's postal code</p>\n</li>\n<li><p><code>latitude</code>: the vendor's latitude</p>\n</li>\n<li><p><code>longitude</code>: the vendor's longitude</p>\n</li>\n</ul>\n</li>\n<li><p><code>line_items</code>: (array of line_item objects, see Appendix below): holds information about each item in the order</p>\n</li>\n<li><p><code>global_discounts</code>: (array of discount objects, see Appendix): holds objects that have information about discounts on the overall order</p>\n</li>\n<li><p><code>loyalty</code>: (see Appendix for \"expired\" case) an array of objects that each contain information about a change in the loyalty balance for this transaction</p>\n<ul>\n<li><p><code>transaction_detail_id</code>: an internal reference number specific to this change of loyalty balance</p>\n</li>\n<li><p><code>perk</code>: an object with information about the perk attached to the this transaction</p>\n<ul>\n<li><p><code>vendor_perk_id</code>: an internal reference number that is unique to each perk</p>\n</li>\n<li><p><code>name</code>: indicates the name of the perk in a way that is more user friendly</p>\n</li>\n</ul>\n</li>\n<li><p><code>redemption</code>: an object with information about the redemption attached to the this transaction</p>\n<ul>\n<li><p><code>vendor_perk_redemption_id</code>: an internal reference number that is unique to each redemption</p>\n</li>\n<li><p><code>name</code>: indicates the name of the redemption in a way that is more user friendly</p>\n</li>\n</ul>\n</li>\n<li><p><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</p>\n</li>\n<li><p><code>amount</code>: how many loyalty points were added to or removed from the user's account</p>\n</li>\n<li><p><code>type</code>: indicates the type of transaction in a way that is user friendly</p>\n</li>\n<li><p><code>status</code>: indicates the status of the transaction in a way that is user friendly</p>\n</li>\n<li><p><code>expiry_date</code>: indicates the date that points earned on this transaction expire, as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>charge</code>: (see Appendix) an object indicating if the transaction has a credit card charge associated to the loyalty record, typically only present for gift card based transactions</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>paging</code>: an object containing information surrounding paging</p>\n<ul>\n<li><code>next</code>, <code>previous</code>: direct urls linking the user to the next and previous pages of results</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"line_item\">line_item</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an identification number that is unique to this item</p>\n</li>\n<li><p><code>name</code> (string): identifies the item in a way that is more user friendly</p>\n</li>\n<li><p><code>categories</code> (array): not relevant to the order, can be ignored</p>\n</li>\n<li><p><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a discount specific to this line item</p>\n</li>\n<li><p><code>price</code> (float): indicates the price of 1 unit of this item, must be a positive value</p>\n</li>\n<li><p><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</p>\n</li>\n<li><p><code>modifiers</code> (array of line_items, see Appendix): contains information about items which modify the current item being ordered</p>\n</li>\n</ul>\n<h6 id=\"discounts\">discounts</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": \"clover_discount\",\n    \"name\": \"Free item\",\n    \"amount\": 2\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code> (string): an internal reference that is unique to this item</p>\n</li>\n<li><p><code>name</code> (string): identifies the item in a way that is more user friendly</p>\n</li>\n<li><p><code>amount</code> (float): indicates how much this discount is worth in dollars, must be a positive value</p>\n</li>\n</ul>\n<h6 id=\"loyalty-expired-case\">loyalty, expired case</h6>\n<p>For \"Expired\" receipt types, there will be at least two loyalty objects as defined in the response section above. One indicates the first transaction that earned points and when those points expire, and the other object indicates the second transaction that expired the points. The second object will have a <code>type</code> of \"Expired\" and a negative amount.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"loyalty\": [\n  {\n    \"transaction_detail_id\": 1234,\n    \"perk\": {\n      \"vendor_perk_id\": 111,\n      \"name\": \"Earn Points\"\n    },\n    \"redemption\": null,\n    \"currency\": {\n      \"currency_id\": 222,\n      \"name\": \"Points\",\n      \"code\": null\n    },\n    \"amount\": 1,\n    \"type\": \"Awarded\",\n    \"status\": \"Complete\",\n    \"expiry_date\": 1753203439,\n    \"charge\": null\n  },\n  {\n    \"transaction_detail_id\": 1334,\n    \"perk\": null,\n    \"redemption\": null,\n    \"currency\": {\n      \"currency_id\": 222,\n      \"name\": \"Points\",\n      \"code\": null\n    },\n    \"amount\": -1,\n    \"type\": \"Expired\",\n    \"status\": \"Complete\",\n    \"expiry_date\": null,\n    \"charge\": null\n  }\n]\n\n</code></pre>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": 961,\n    \"name\": \"Points\",\n}\n\n</code></pre>\n<ul>\n<li><p><code>id</code>: an internal reference number that indicates the type of currency</p>\n</li>\n<li><p><code>name</code>: indicates the type of currency in a way that is more user friendly</p>\n</li>\n</ul>\n<h6 id=\"charge\">charge</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"user_billingProfile_id\": 123,\n    \"card_mask\": \"3333\",\n    \"reference_number\": 123456789,\n    \"success\": true\n}\n\n</code></pre>\n<ul>\n<li><p><code>user_billingProfile_id</code>: an internal reference number unique to each billing profile</p>\n</li>\n<li><p><code>card_mask</code>: returns the last 4 digits of the credit card number linked to this profile</p>\n</li>\n<li><p><code>reference_number</code>: an identitifier that matches this charge to the transaction, as received from the payment gateway or card provider</p>\n</li>\n<li><p><code>success</code>: true if the transaction was successful, false otherwise</p>\n</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","customers","{{customer}}","history"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"5f2c99c4-e63b-4463-9925-fd4be9b96c24","name":"transaction_history (user_session)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/customers/{{customer}}/history?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","customers","{{customer}}","history"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.27.5"},{"key":"Date","value":"Thu, 25 Sep 2025 19:28:59 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"receipt_id\": 241804273,\n            \"receipt_number\": null,\n            \"receipt_date\": 1758800952,\n            \"receipt_type\": \"Quick Pay\",\n            \"date_created\": 1758801465,\n            \"date_updated\": 1758801465,\n            \"subtotal\": 10,\n            \"total\": 10,\n            \"total_with_tips\": 10,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661925,\n                    \"name\": \"Quick Pay\",\n                    \"identifier\": \"quick_pay\",\n                    \"quantity\": 1,\n                    \"price\": 10,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587088,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10114,\n                        \"name\": \"Aruban Florin\",\n                        \"code\": \"AWG\"\n                    },\n                    \"amount\": 10,\n                    \"type\": \"Purchase\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": {\n                        \"user_billingProfile_id\": 2,\n                        \"card_mask\": \"4242\",\n                        \"reference_number\": null,\n                        \"success\": false\n                    }\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804272,\n            \"receipt_number\": null,\n            \"receipt_date\": 1758800952,\n            \"receipt_type\": \"Quick Pay\",\n            \"date_created\": 1758800963,\n            \"date_updated\": 1758800963,\n            \"subtotal\": 10,\n            \"total\": 10,\n            \"total_with_tips\": 10,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661924,\n                    \"name\": \"Quick Pay\",\n                    \"identifier\": \"quick_pay\",\n                    \"quantity\": 1,\n                    \"price\": 10,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587087,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10114,\n                        \"name\": \"Aruban Florin\",\n                        \"code\": \"AWG\"\n                    },\n                    \"amount\": 10,\n                    \"type\": \"Purchase\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": {\n                        \"user_billingProfile_id\": 2,\n                        \"card_mask\": \"4242\",\n                        \"reference_number\": null,\n                        \"success\": false\n                    }\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758553381,\n            \"date_updated\": 1758553381,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587086,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": -12,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758553310,\n            \"date_updated\": 1758553310,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587085,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": -10,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758551552,\n            \"date_updated\": 1758551552,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587084,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 255,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": 1758568352,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758548487,\n            \"date_updated\": 1758553383,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587083,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 800,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": 1761932487,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804268,\n            \"receipt_number\": \"264835307806\",\n            \"receipt_date\": 1753790153,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753888697,\n            \"date_updated\": 1753888697,\n            \"subtotal\": 6,\n            \"total\": 6,\n            \"total_with_tips\": 6,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1056425,\n                \"name\": \"Second Street\",\n                \"address\": \"24 York Street\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 39,\n                    \"name\": \"Canada\"\n                },\n                \"postal_code\": \"K1N 5S6\",\n                \"latitude\": 45.427425,\n                \"longitude\": -75.693698\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661920,\n                    \"name\": \"Plain Croissant.\",\n                    \"identifier\": \"17849524\",\n                    \"quantity\": 1,\n                    \"price\": 5.45,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587080,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 30,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804267,\n            \"receipt_number\": \"264835307805\",\n            \"receipt_date\": 1752666953,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753888490,\n            \"date_updated\": 1753888490,\n            \"subtotal\": 6,\n            \"total\": 6,\n            \"total_with_tips\": 6,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1056425,\n                \"name\": \"Second Street\",\n                \"address\": \"24 York Street\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 39,\n                    \"name\": \"Canada\"\n                },\n                \"postal_code\": \"K1N 5S6\",\n                \"latitude\": 45.427425,\n                \"longitude\": -75.693698\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661919,\n                    \"name\": \"Plain Croissant.\",\n                    \"identifier\": \"17849524\",\n                    \"quantity\": 1,\n                    \"price\": 5.45,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587079,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 30,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804266,\n            \"receipt_number\": \"MAINT-2913-10\",\n            \"receipt_date\": 1753895410,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753881820,\n            \"date_updated\": 1753881820,\n            \"subtotal\": 8.95,\n            \"total\": 8.95,\n            \"total_with_tips\": 8.95,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661917,\n                    \"name\": \"Sandwich\",\n                    \"identifier\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.25,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                },\n                {\n                    \"receipt_detail_id\": 839661918,\n                    \"name\": \"BlackCoffeex1\",\n                    \"identifier\": \"BlackCoffee_item_1\",\n                    \"quantity\": 1,\n                    \"price\": 1.7,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587078,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 44,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804265,\n            \"receipt_number\": \"MAINT-2913-9\",\n            \"receipt_date\": 1753895409,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753881606,\n            \"date_updated\": 1753881606,\n            \"subtotal\": 8.95,\n            \"total\": 8.95,\n            \"total_with_tips\": 8.95,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661915,\n                    \"name\": \"Sandwich\",\n                    \"identifier\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.25,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                },\n                {\n                    \"receipt_detail_id\": 839661916,\n                    \"name\": \"BlackCoffeex1\",\n                    \"identifier\": \"BlackCoffee_item_1\",\n                    \"quantity\": 1,\n                    \"price\": 1.7,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587076,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24770,\n                        \"name\": \"points p line item 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10062,\n                        \"name\": \"Bonanza / Cash\",\n                        \"code\": null\n                    },\n                    \"amount\": 21,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                },\n                {\n                    \"transaction_detail_id\": 391587077,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 44,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        }\n    ],\n    \"paging\": {\n        \"prev\": null,\n        \"next\": \"https://api-staging.spoonity.com/vendor/2111721/customers/11501277/history?session_key=2111721vd72021e8a68f9a9c555ef580&limit=10&page=2\"\n    }\n}"},{"id":"e789de33-66bc-4ed7-bbea-b04f0c937efa","name":"transaction_history (api key)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/customers/{{customer}}/history?api_key={{apikey}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","customers","{{customer}}","history"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.27.5"},{"key":"Date","value":"Thu, 25 Sep 2025 15:53:10 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"receipt_id\": 241804272,\n            \"receipt_number\": null,\n            \"receipt_date\": 1758800952,\n            \"receipt_type\": \"Quick Pay\",\n            \"date_created\": 1758800963,\n            \"date_updated\": 1758800963,\n            \"subtotal\": 10,\n            \"total\": 10,\n            \"total_with_tips\": 10,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661924,\n                    \"name\": \"Quick Pay\",\n                    \"identifier\": \"quick_pay\",\n                    \"quantity\": 1,\n                    \"price\": 10,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587087,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10114,\n                        \"name\": \"Aruban Florin\",\n                        \"code\": \"AWG\"\n                    },\n                    \"amount\": 10,\n                    \"type\": \"Purchase\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": {\n                        \"user_billingProfile_id\": 2,\n                        \"card_mask\": \"4242\",\n                        \"reference_number\": null,\n                        \"success\": false\n                    }\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758553381,\n            \"date_updated\": 1758553381,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587086,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": -12,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758553310,\n            \"date_updated\": 1758553310,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587085,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": -10,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758551552,\n            \"date_updated\": 1758551552,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 2111721,\n                \"name\": \"Breakfast Bonanza (Staging)\",\n                \"address\": \"267 Richmond Rd, 3rd Floor ottawa\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 1,\n                    \"name\": \"Afghanistan\"\n                },\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587084,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 255,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": 1758568352,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": null,\n            \"receipt_number\": null,\n            \"receipt_date\": null,\n            \"receipt_type\": \"Adjustment\",\n            \"date_created\": 1758548487,\n            \"date_updated\": 1758553383,\n            \"subtotal\": null,\n            \"total\": null,\n            \"total_with_tips\": null,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [],\n            \"global_discounts\": [],\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587083,\n                    \"perk\": null,\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 800,\n                    \"type\": \"Adjustment\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": 1761932487,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804268,\n            \"receipt_number\": \"264835307806\",\n            \"receipt_date\": 1753790153,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753888697,\n            \"date_updated\": 1753888697,\n            \"subtotal\": 6,\n            \"total\": 6,\n            \"total_with_tips\": 6,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1056425,\n                \"name\": \"Second Street\",\n                \"address\": \"24 York Street\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 39,\n                    \"name\": \"Canada\"\n                },\n                \"postal_code\": \"K1N 5S6\",\n                \"latitude\": 45.427425,\n                \"longitude\": -75.693698\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661920,\n                    \"name\": \"Plain Croissant.\",\n                    \"identifier\": \"17849524\",\n                    \"quantity\": 1,\n                    \"price\": 5.45,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587080,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 30,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804267,\n            \"receipt_number\": \"264835307805\",\n            \"receipt_date\": 1752666953,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753888490,\n            \"date_updated\": 1753888490,\n            \"subtotal\": 6,\n            \"total\": 6,\n            \"total_with_tips\": 6,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1056425,\n                \"name\": \"Second Street\",\n                \"address\": \"24 York Street\",\n                \"city\": \"Ottawa\",\n                \"region\": {\n                    \"region_id\": 144,\n                    \"name\": \"Ontario\"\n                },\n                \"country\": {\n                    \"country_id\": 39,\n                    \"name\": \"Canada\"\n                },\n                \"postal_code\": \"K1N 5S6\",\n                \"latitude\": 45.427425,\n                \"longitude\": -75.693698\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661919,\n                    \"name\": \"Plain Croissant.\",\n                    \"identifier\": \"17849524\",\n                    \"quantity\": 1,\n                    \"price\": 5.45,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587079,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 30,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804266,\n            \"receipt_number\": \"MAINT-2913-10\",\n            \"receipt_date\": 1753895410,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753881820,\n            \"date_updated\": 1753881820,\n            \"subtotal\": 8.95,\n            \"total\": 8.95,\n            \"total_with_tips\": 8.95,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661917,\n                    \"name\": \"Sandwich\",\n                    \"identifier\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.25,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                },\n                {\n                    \"receipt_detail_id\": 839661918,\n                    \"name\": \"BlackCoffeex1\",\n                    \"identifier\": \"BlackCoffee_item_1\",\n                    \"quantity\": 1,\n                    \"price\": 1.7,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587078,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 44,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804265,\n            \"receipt_number\": \"MAINT-2913-9\",\n            \"receipt_date\": 1753895409,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753881606,\n            \"date_updated\": 1753881606,\n            \"subtotal\": 8.95,\n            \"total\": 8.95,\n            \"total_with_tips\": 8.95,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661915,\n                    \"name\": \"Sandwich\",\n                    \"identifier\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.25,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                },\n                {\n                    \"receipt_detail_id\": 839661916,\n                    \"name\": \"BlackCoffeex1\",\n                    \"identifier\": \"BlackCoffee_item_1\",\n                    \"quantity\": 1,\n                    \"price\": 1.7,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587076,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24770,\n                        \"name\": \"points p line item 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10062,\n                        \"name\": \"Bonanza / Cash\",\n                        \"code\": null\n                    },\n                    \"amount\": 21,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                },\n                {\n                    \"transaction_detail_id\": 391587077,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 44,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        },\n        {\n            \"receipt_id\": 241804264,\n            \"receipt_number\": \"MAINT-2913-8\",\n            \"receipt_date\": 1753895385,\n            \"receipt_type\": \"Invoice\",\n            \"date_created\": 1753881158,\n            \"date_updated\": 1753881158,\n            \"subtotal\": 7.03,\n            \"total\": 7.03,\n            \"total_with_tips\": 7.03,\n            \"is_online_order\": false,\n            \"feedback\": null,\n            \"vendor\": {\n                \"vendor_id\": 1052577,\n                \"name\": \"Main Street\",\n                \"address\": \"273 Ottawa 36\",\n                \"city\": \"Ottawa\",\n                \"region\": null,\n                \"country\": null,\n                \"postal_code\": \"K1Z 6X3\",\n                \"latitude\": 45.393414,\n                \"longitude\": -75.751249\n            },\n            \"lineitems\": [\n                {\n                    \"receipt_detail_id\": 839661913,\n                    \"name\": \"Refreshers\",\n                    \"identifier\": \"Drink_1234\",\n                    \"quantity\": 1,\n                    \"price\": 1000,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                },\n                {\n                    \"receipt_detail_id\": 839661914,\n                    \"name\": \"BlackCoffeex1\",\n                    \"identifier\": \"BlackCoffee_item_1\",\n                    \"quantity\": 1,\n                    \"price\": 1100,\n                    \"modifiers\": [],\n                    \"discounts\": []\n                }\n            ],\n            \"global_discounts\": null,\n            \"loyalty\": [\n                {\n                    \"transaction_detail_id\": 391587074,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24768,\n                        \"name\": \"point p dollar 1\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 5365,\n                        \"name\": \"Membership\",\n                        \"code\": null\n                    },\n                    \"amount\": 35,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                },\n                {\n                    \"transaction_detail_id\": 391587075,\n                    \"perk\": {\n                        \"vendor_perk_id\": 24769,\n                        \"name\": \"points p dollar 2\"\n                    },\n                    \"redemption\": null,\n                    \"currency\": {\n                        \"currency_id\": 10062,\n                        \"name\": \"Bonanza / Cash\",\n                        \"code\": null\n                    },\n                    \"amount\": 49,\n                    \"type\": \"Awarded\",\n                    \"status\": \"Complete\",\n                    \"expiry_date\": null,\n                    \"charge\": null\n                }\n            ]\n        }\n    ],\n    \"paging\": {\n        \"prev\": null,\n        \"next\": \"https://api-staging.spoonity.com/vendor/2111721/customers/11501277/history?api_key=2111721v9d8ee587ce20c9d4fc41446f&limit=10&page=2\"\n    }\n}"}],"_postman_id":"fe14cdaa-7070-4117-874c-88cff9c2ea69"},{"name":"/countries","id":"5747f367-190c-454c-a094-37f06a63d17d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries","description":"<p>This request returns a list of all the countries this vendor serves. This is designed to be a helper request for form building.</p>\n<h4 id=\"request\">Request:</h4>\n<p>There are no parameters required for this request.</p>\n<h4 id=\"response\">Response:</h4>\n<p>This request returns an array of country objects, each object contains:</p>\n<ul>\n<li><code>country_id</code>: an internal reference number unique to each country</li>\n<li><code>code</code>: the two letter ISO 3166-1 code associated with this country</li>\n<li><code>name</code>: indicates the country in a way that is more user friendly</li>\n<li><code>phone_code</code>: this country's calling code</li>\n<li><code>zip_validate</code>: used to validate a postal or zip code for this country</li>\n<li><code>phone_validate</code>: used to validate a phone number for this country</li>\n<li><code>flag_url</code>: a url that links this country's flag</li>\n</ul>\n","urlObject":{"path":["vendor","countries"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"878d7aca-b21e-4ec5-a70b-c22bfec60ae9","name":"/countries","originalRequest":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:20:01 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"country_id\": 1,\n        \"code\": \"AF\",\n        \"name\": \"Afghanistan\",\n        \"phone_code\": \"93\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/af.png\"\n    },\n    {\n        \"country_id\": 2,\n        \"code\": \"AL\",\n        \"name\": \"Albania\",\n        \"phone_code\": \"355\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/al.png\"\n    },\n    {\n        \"country_id\": 3,\n        \"code\": \"DZ\",\n        \"name\": \"Algeria\",\n        \"phone_code\": \"213\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/dz.png\"\n    },\n    {\n        \"country_id\": 6,\n        \"code\": \"AO\",\n        \"name\": \"Angola\",\n        \"phone_code\": \"244\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/ao.png\"\n    },\n    {\n        \"country_id\": 8,\n        \"code\": \"AQ\",\n        \"name\": \"Antarctica\",\n        \"phone_code\": \"672\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/aq.png\"\n    }, ...\n\n    \n   ... {\n        \"country_id\": 231,\n        \"code\": \"VN\",\n        \"name\": \"Viet Nam\",\n        \"phone_code\": \"84\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/vn.png\"\n    },\n    {\n        \"country_id\": 232,\n        \"code\": \"WF\",\n        \"name\": \"Wallis And Futuna Islands\",\n        \"phone_code\": \"681\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/wf.png\"\n    },\n    {\n        \"country_id\": 233,\n        \"code\": \"EH\",\n        \"name\": \"Western Sahara\",\n        \"phone_code\": \"212\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/eh.png\"\n    },\n    {\n        \"country_id\": 236,\n        \"code\": \"ZR\",\n        \"name\": \"Zaire\",\n        \"phone_code\": \"0\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/zr.png\"\n    },\n    {\n        \"country_id\": 237,\n        \"code\": \"ZM\",\n        \"name\": \"Zambia\",\n        \"phone_code\": \"260\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/zm.png\"\n    }\n]"}],"_postman_id":"5747f367-190c-454c-a094-37f06a63d17d"},{"name":"/countries/regions","id":"080f18e5-1b40-4eb6-8b92-ec18eefac7af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries/{{country}}/regions","description":"<p>This request returns a list of all the regions within a specific country this vendor serves. This is designed to be a helper request for form building.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>country</code> (integer): provided via the url directly, the internal reference number for the country whose regions are being listed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>This request returns an array of region objects, each object contains:</p>\n<ul>\n<li><code>region_id</code>: an internal reference number unique to each region</li>\n<li><code>code</code>: the ISO 3166-2 subdivision code for this region</li>\n<li><code>name</code>: indicates the region in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","countries","{{country}}","regions"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"9fd0c381-f3cb-4572-b632-86b1297f151d","name":"/countries/regions","originalRequest":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries/{{country}}/regions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:37:04 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"694"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"region_id\": 136,\n        \"code\": \"AB\",\n        \"name\": \"Alberta\"\n    },\n    {\n        \"region_id\": 137,\n        \"code\": \"BC\",\n        \"name\": \"British Columbia\"\n    },\n    {\n        \"region_id\": 138,\n        \"code\": \"MB\",\n        \"name\": \"Manitoba\"\n    },\n    {\n        \"region_id\": 139,\n        \"code\": \"NB\",\n        \"name\": \"New Brunswick\"\n    },\n    {\n        \"region_id\": 140,\n        \"code\": \"NL\",\n        \"name\": \"Newfoundland and Labrador\"\n    },\n    {\n        \"region_id\": 141,\n        \"code\": \"NT\",\n        \"name\": \"Northwest Territories\"\n    },\n    {\n        \"region_id\": 142,\n        \"code\": \"NS\",\n        \"name\": \"Nova Scotia\"\n    },\n    {\n        \"region_id\": 143,\n        \"code\": \"NU\",\n        \"name\": \"Nunavut\"\n    },\n    {\n        \"region_id\": 144,\n        \"code\": \"ON\",\n        \"name\": \"Ontario\"\n    },\n    {\n        \"region_id\": 145,\n        \"code\": \"PE\",\n        \"name\": \"Prince Edward Island\"\n    },\n    {\n        \"region_id\": 146,\n        \"code\": \"QC\",\n        \"name\": \"Québec\"\n    },\n    {\n        \"region_id\": 147,\n        \"code\": \"SK\",\n        \"name\": \"Saskatchewan\"\n    },\n    {\n        \"region_id\": 148,\n        \"code\": \"YT\",\n        \"name\": \"Yukon Territory\"\n    }\n]"}],"_postman_id":"080f18e5-1b40-4eb6-8b92-ec18eefac7af"}],"id":"dacc1957-2aa8-40e3-be55-9f7dff0109c6","description":"<h6 id=\"1-access-a-profile\">1. Access a profile</h6>\n<p>These requests are used to access a user's profile. The session key created on user login is used to access general information about the user. Any information on the user's account can be updated, such as address, phone number, language, email address, and password. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/profile\n    - PUT /user/profile\n</code></pre><h6 id=\"2-get-a-token\">2. Get a token</h6>\n<p>Each user has a token, which is linked to their unique card number and carries information about their account. This token can be given as a barcode, which can be used to check in and create an onscreen session.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/token/request\n    \n</code></pre><h6 id=\"3-delete-a-user\">3. Delete a user</h6>\n<p>A user must be logged in to delete their account. The login session key is used to identify the account and send a confirmation email. This email includes a code which must be supplied in the actual deletion request as a measure of security. Once this code is submitted, the user's account is deleted. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - DELETE /vendor/{vendorID}/customers{userID}/submit\n    - DELETE /vendor/{vendorID}/customers\n</code></pre><h6 id=\"4-access-user-balances\">4. Access user balances</h6>\n<p>These requests are used to access the quickpay and loyalty point balances a user has on their account. Information about the rewards the user is eligible for with the specific vendor they have logged in to can be also found.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/quick-pay/balance\n    - GET /user/currency/balance\n    - GET /user/reward/list\n</code></pre><h6 id=\"5-get-a-users-previous-transactions\">5. Get a user's previous transactions</h6>\n<p>Returns a list of all prior transactions for this user that resulted in a change in loyalty or quickpay balances.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/transaction/list\n</code></pre><h6 id=\"6-get-a-list-of-countriesregions\">6. Get a list of countries/regions</h6>\n<p>These requests are helper functions, designed to be used for front-end form building.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /vendor/countries\n    - GET /vendor/countries/{countryID}/regions\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"5bd94a90-e34c-4b8e-9888-3b31e6440c3a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"01c73c12-cfad-4f20-9852-30813032eb7c","type":"text/javascript","exec":[""]}}],"_postman_id":"dacc1957-2aa8-40e3-be55-9f7dff0109c6"},{"name":"Managing cards","item":[{"name":"/user/card(-3rdparty)/list","id":"fd421170-64b7-4939-81b1-7feca053ac66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/card(-3rdparty)/list?session_key={{user_session_key}}","description":"<p>This request returns a list of all cards a user has linked to their account. The internal reference numbers for each card can be found here, which allows a specific card to be accessed at a later time.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>count</code>: the total number of cards a user has linked to their account</li>\n<li><code>data</code>: an array of objects that hold the card information<ul>\n<li><code>card</code>: an object that contains information specific to the card<ul>\n<li><code>created</code>: the date this card was added to the system, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>number</code>: the number found on the actual card itself</li>\n<li><code>pin</code>: the personal identification number linked to this card</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>type</code>: an internal reference number that indicates the type of the current card</li>\n<li><code>updated</code>: the last date this card was updated in the system, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>created</code>: the date this card was added to the profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies the card</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>updated</code>: the last date this card was updated with this profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an object that contains information about the user, usually empty</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","card(-3rdparty)","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"6a588c31-9006-474d-838d-8c3658124cf4","name":"/user/card-3rdparty/list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/card-3rdparty/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:35:27 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"917"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": {\n                \"created\": 1559606400,\n                \"number\": \"9999036134385493\",\n                \"status\": {\n                    \"id\": 1,\n                    \"name\": \"Active\",\n                    \"object\": \"status\"\n                },\n                \"updated\": 1559606400\n            },\n            \"created\": 1559662452,\n            \"id\": \"502666\",\n            \"object\": \"user_card3rdparty\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\",\n                \"object\": \"status\"\n            },\n            \"updated\": 1559662452\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/card-3rdparty/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=2&limit=0\",\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 0,\n    \"previous_page_url\": null,\n    \"total_pages\": 0\n}"},{"id":"7b7f3fac-3a44-4e6f-983a-dc6423601cfe","name":"/user/card/list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/card/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:55:21 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"983"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": {\n                \"created\": 1559520000,\n                \"number\": \"9999016134385493\",\n                \"pin\": \"123\",\n                \"status\": {\n                    \"id\": 1,\n                    \"name\": \"Active\",\n                    \"object\": \"status\"\n                },\n                \"type\": {},\n                \"updated\": 1559520000\n            },\n            \"created\": 1559584453,\n            \"id\": \"1817015\",\n            \"object\": \"user_card\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\",\n                \"object\": \"status\"\n            },\n            \"updated\": 1559584453,\n            \"user\": {}\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/card/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=2&limit=0\",\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 0,\n    \"previous_page_url\": null,\n    \"total_pages\": 0\n}"}],"_postman_id":"fd421170-64b7-4939-81b1-7feca053ac66"},{"name":"user_card(-3rdparty)_add","id":"3102a2c3-cec7-4a29-b342-e35190bb0d5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999036134385493,\n\t\"pin\": \" \"\n}"},"url":"{{endpoint}}/user/card-3rdparty/add?session_key={{user_session_key}}","description":"<p>This request adds a new card to a user's account. Once added, a \"user_card\" object is created that links this card with this user. Referencing this object gives us access to both the card and the user, which is important for future requests.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user</code> (integer): the internal reference number specific to the user logged into this session</li>\n<li><code>number</code> (integer): the card number of the card being added</li>\n<li><code>pin</code> (string): the pin associated with this card, required for all <code>/card</code> paths, optional for all <code>/card3rdparty</code> paths</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>card</code>: an object that holds information about the card added<ul>\n<li><code>id</code>: an internal reference number specific to the card added</li>\n<li><code>number</code>: the card number on the card</li>\n</ul>\n</li>\n<li><code>created</code>: the date this card was added to the account, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that links the card and user, is used to reference this card later</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>updated</code>: the last date this card was updated with this profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an object that contains information about the user this card is being added to<ul>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>id</code>: the internal reference number specific to this user</li>\n<li><code>last_name</code>: the user's last name</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","card-3rdparty","add"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"a02695c2-c2c1-46ae-8f45-1994bed87cd2","name":"user_card-3rdparty_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999036134385493,\n\t\"pin\": \"\"\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:34:12 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"eb1e106f-ce1f-4f4c-849b-cb1e3a3fd37e","name":"user_card_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999016134385493,\n\t\"pin\": 123\n}"},"url":{"raw":"{{endpoint}}/user/card/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:44:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"415"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"card\": {\n        \"id\": 2871073,\n        \"number\": \"9999016134385493\",\n        \"object\": \"card\"\n    },\n    \"created\": 1559583861,\n    \"id\": \"1817014\",\n    \"object\": \"user_card\",\n    \"status\": {},\n    \"updated\": 1559583861,\n    \"user\": {\n        \"email_address\": \"grace@spoonity.com\",\n        \"first_name\": \"Grace\",\n        \"id\": \"1000454652210\",\n        \"last_name\": \"Duncan\",\n        \"object\": \"user\"\n    }\n}"}],"_postman_id":"3102a2c3-cec7-4a29-b342-e35190bb0d5c"},{"name":"user_card(-3rdparty)_lost","id":"076720ae-5c64-4d4b-9d34-7b3549aa3e9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":"{{endpoint}}/user/card-3rdparty/lost?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request updates a given card as lost by changing its status to \"inactive\". </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the lost card as it is linked with the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully updated as lost.</p>\n","urlObject":{"path":["user","card-3rdparty","lost"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"90e178b4-bbd7-4eaa-8542-116299340216","name":"user_card_lost","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\n\t\"user_card\": 1817014\n}"},"url":{"raw":"{{endpoint}}/user/card/lost?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","lost"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:47:02 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"d2bf0db4-27e1-4cc6-9b29-6bdde8d11a42","name":"user_card-3rdparty_lost","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/lost?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","lost"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:36:58 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"076720ae-5c64-4d4b-9d34-7b3549aa3e9f"},{"name":"user_card(-3rdparty)_found","id":"fa8ac290-6431-43a4-bfc3-317edb6e8c6e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":"{{endpoint}}/user/card(-3rdparty)/found?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request updates a given card as found by changing its status to \"active\".</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the found card as it is linked with the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully updated as found.</p>\n","urlObject":{"path":["user","card(-3rdparty)","found"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"2570dac7-e48d-41cd-a932-20d903897595","name":"user_card-3rdparty_found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/found?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","found"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:38:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"ad17e427-ba8c-455c-8232-b6f355ebfa1e","name":"user_card_found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":{"raw":"{{endpoint}}/user/card/found?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","found"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:47:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fa8ac290-6431-43a4-bfc3-317edb6e8c6e"},{"name":"user/card(-3rdparty)","id":"190d042e-7be7-42f0-be86-84c6f2e50547","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817015\n}"},"url":"{{endpoint}}/user/card(-3rdparty)?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request deletes a given card from a user's account.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the card being removed from the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully deleted.</p>\n","urlObject":{"path":["user","card(-3rdparty)"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"47e47723-7a81-4a27-b9a8-f68d6c944903","name":"user/card","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n\t\n}"},"url":{"raw":"{{endpoint}}/user/card?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:53:52 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"f9dad1fc-0207-4829-bfb1-cfbccfff6ef2","name":"user/card-3rdparty","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:40:55 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"190d042e-7be7-42f0-be86-84c6f2e50547"}],"id":"a6015fef-b38b-4bb8-8635-7052a444d0ad","description":"<h6 id=\"1-get-card-information\">1. Get card information</h6>\n<p>Each card carries a unique ID which can be referenced to access this card. Information for all cards that are linked to a user's account is returned. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/card/list\n    - GET /user/card-3rdparty/list\n</code></pre><h6 id=\"2-add-a-card\">2. Add a card</h6>\n<p>A user supplies their user id, a card number, and the pin (<code>/card</code> path only) for this card. This information is used to add a new card to the user's account by adding a unique link between this card and this user. The reference number for this link can be used to obtain details about the user and the card. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/card/add\n    - POST /user/card-3rdparty/add\n</code></pre><h6 id=\"3-report-card-lostfound\">3. Report card lost/found</h6>\n<p>If a card is lost, a user can change their card status to inactive, which means it will no longer be accepted to check in. By updating the card as found, this status can be changed to active, making the card available to be used again. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - PUT /user/card/lost\n    - PUT /user/card-3rdparty/lost\n    - PUT /user/card/found\n    - PUT /user/card-3rdparty/found\n</code></pre><h6 id=\"4-remove-a-card\">4. Remove a card</h6>\n<p>A user can remove a card from their account by supplying the reference number specific to the user/card link. After this process, the card stays in our system, meaning another user can now link this card to their account. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - DELETE /user/card\n    - DELETE /user/card-3rdparty\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"b69bf13a-0382-4202-b84a-ce4e2ff88b5b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a396def4-6ae8-47d6-8ac3-cf3ddeb2e3ae","type":"text/javascript","exec":[""]}}],"_postman_id":"a6015fef-b38b-4bb8-8635-7052a444d0ad"},{"name":"Reloading an account","item":[{"name":"user_billingProfile_list","id":"ad4aaf09-9c11-40d1-8c8a-3fee47c99179","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/user/billing-profile/list?session_key={{user_session_key}}","description":"<p>This request returns information about the user's billing profiles. User billing profiles link to a user's credit card through a token facilitated by a payment gateway. Information specific to the card is never stored in our systems, only details about this link.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>count</code>: indicates the number of billing profiles the user has linked to their account</li>\n<li><code>data</code>: an array of billing profiles, where each hold information necessary to complete payments<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>is_default</code>: a boolean, true if this billing profile has been set to be the default profile</li>\n<li><code>name</code>: user specific card reference, as it was entered in the description when the card was added</li>\n<li><code>postal_code</code>: the postal or zip code that is associated with the card's billing address</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"529f1e2d-5d84-424f-b9c1-78081ec98615","name":"user_billingProfile_list","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"{{endpoint}}/user/billing-profile/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:32:09 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"519"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": \"4242 xxxx xxxx 4242\",\n            \"created\": 1559737156,\n            \"expiry\": 1561852800,\n            \"id\": \"69206\",\n            \"is_default\": true,\n            \"name\": \"Visa TEST PP\",\n            \"object\": \"user_billingprofile\",\n            \"postal_code\": \"k1n1k2\",\n            \"type\": \"Visa\"\n        }\n    ],\n    \"next_page_url\": null,\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 10,\n    \"previous_page_url\": null,\n    \"total_pages\": 1\n}"}],"_postman_id":"ad4aaf09-9c11-40d1-8c8a-3fee47c99179"},{"name":"user_billingProfile_add","id":"ed6c8092-e0fe-45eb-b967-05861a622235","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Test Card\",\n    \"number\": \"4242424242424242\",\n    \"expiry_month\": \"06\",\n    \"expiry_year\": \"2019\",\n    \"cvv\": \"123\",\n    \"description\": \"Visa TEST PP\",\n    \"zip_code\": \"k1n1k2\"\n}"},"url":"{{endpoint}}/user/billing-profile/add?session_key={{user_session_key}}","description":"<p>This request is responsible for creating a new billing profile on a user's account and adding a credit card to this profile. The user must have an active login session and supply a card number, card name, expiry date and security code for the card.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>name</code> (string): the name of the cardholder</li>\n<li><code>number</code> (string): the card number</li>\n<li><code>expiry_month</code> (string): the month this card expires (mm)</li>\n<li><code>expiry_year</code> (string): the year this card expires (yyyy)</li>\n<li><code>cvv</code> (string): the security code found on the back of this card</li>\n<li><code>description</code> (string): a description attached to this card for the user's reference, helps distinguish this card from others </li>\n<li><code>zip_code</code> (string): the postal or zip code associated with the billing address for this card</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>name</code>: user specific card reference, as it was entered in the description when the card was added</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","add"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"65b20bca-58c7-42c8-b2c8-fda40892cb4a","name":"user_billingProfile_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Test Card\",\n\t\"number\": \"4242424242424242\",\n\t\"expiry_month\": \"06\",\n\t\"expiry_year\": \"2019\",\n\t\"cvv\": \"123\",\n\t\"description\": \"Visa TEST PP\",\n\t\"zip_code\":\"k1n1k2\"\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:19:15 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"194"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"card\": \"4242 xxxx xxxx 4242\",\n    \"created\": 1559737156,\n    \"expiry\": 1561852800,\n    \"id\": \"69206\",\n    \"name\": \"Visa TEST PP\",\n    \"object\": \"user_billingprofile\",\n    \"type\": \"Visa\"\n}"}],"_postman_id":"ed6c8092-e0fe-45eb-b967-05861a622235"},{"name":"user_billingProfile_mark_default","id":"43761c12-084c-4b93-adf6-62a050e51037","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_billingProfile_id\": 69206\n}"},"url":"{{endpoint}}/user/billing-profile/default?session_key={{user_session_key}}","description":"<p>This request marks a specific billing profile as the default billing profile to be used. This means that the card linked to this profile will be automatically charged as the payment method on an order, unless specified otherwise. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingProfile_id</code> (integer): the internal reference number that refers to the billing profile that is to be marked as default</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response is always empty, however a status code of 200 OK indicates this action was successful.</p>\n","urlObject":{"path":["user","billing-profile","default"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"7895a8f8-ec22-49b1-b7d7-db4a1ce832c0","name":"user_billingProfile_mark_default","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_billingProfile_id\": 69206\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/default?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","default"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:20:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"43761c12-084c-4b93-adf6-62a050e51037"},{"name":"user_billing_profile_delete","id":"32242f64-f586-459b-ad14-8570e777227a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206\n}"},"url":"{{endpoint}}/user/billing-profile?session_key={{user_session_key}}","description":"<p>This request deletes a billing profile from a user's account. A billing profile cannot be edited, so this request may also be used as a step of \"editing\" such a profile. The profile is deleted, then the user_billingProfile_add can be used to re-add this card with the new information.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingprofile</code> (integer): the internal reference number that refers to the billing profile that is to be deleted</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response in always empty, however a status code of 200 OK indicates successful deletion.</p>\n","urlObject":{"path":["user","billing-profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"ba5dc677-deb1-442f-809e-3a19bdfbf148","name":"user_billing_profile_delete","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 15:57:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"32242f64-f586-459b-ad14-8570e777227a"},{"name":"user_reload_charge","id":"de19366e-c7ee-4381-943b-14e4944d780c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206,\n  \"amount\": 15\n}"},"url":"{{endpoint}}/user/billing-profile/reload?session_key={{user_session_key}}","description":"<p>This request is called when a user attempts to reload their account. Once a billing profile and amount are supplied, this amount is charged to the billing profile and is loaded onto the user's account in the form of quickpay currency. Sometimes, the 3rd party service \"3D Secure\" will require that the user authorize their card with them. This service is designed to be an extra layer of security which protects both vendors and users from fraud. The user will be redirected to the url that is returned in the response for this request, where they must authenticate their card with the 3rd party. When this occurs, the <code>transaction_status</code> will have a status of pending, until the user satisfies the 3D secure authorization. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingprofile</code>(integer): the internal reference number that refers to the billing profile that is being used to reload the user's account</li>\n<li><code>amount</code> (float): the amount that is to be charged to this billing profile and loaded onto the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>redirect_url</code>: the url that redirects to the 3rd party authentication page, only necessary when authentication of the card is required</li>\n<li><code>transaction</code>: an object that holds information about the reload transaction that just occurred<ul>\n<li><code>id</code>: an internal reference number that is unique to each transaction</li>\n</ul>\n</li>\n<li><code>amount</code>: the amount that was charged from this billing profile and loaded to this account</li>\n<li><code>transaction_type</code>: an object that holds information about the type of transaction that just occured<ul>\n<li><code>id</code>: an internal reference number that indicates the type of transaction that occured</li>\n<li><code>name</code>: indicates the type of transaction in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>transaction_status</code>: an object that holds information about the transaction's current status<ul>\n<li><code>id</code>: an internal reference number for the current status of the transaction</li>\n<li><code>name</code>: indicates the transaction status in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>date</code>: the date this transaction occurred, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","reload"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"a4c1a6cf-ff80-4e94-b7e8-25e612eddc98","name":"user_reload_charge","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206,\n  \"amount\": 15\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/reload?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","reload"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:21:16 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"424"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"transaction_detail\",\n    \"redirect_url\": null,\n    \"transaction\": {\n        \"object\": \"transaction\",\n        \"id\": \"20721058\"\n    },\n    \"amount\": 15,\n    \"transaction_type\": {\n        \"object\": \"transactiontype\",\n        \"id\": 1,\n        \"name\": \"Purchase\"\n    },\n    \"transaction_status\": {\n        \"object\": \"transactionstatus\",\n        \"id\": 4,\n        \"name\": \"Complete\"\n    },\n    \"date\": 1559737276\n}"}],"_postman_id":"de19366e-c7ee-4381-943b-14e4944d780c"},{"name":"user_reload_charge_status","id":"2fa5a3b3-f49e-4dc8-b4b4-7943f7faeac7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/billing-profile/reload/status?session_key={{user_session_key}}&transaction={{transaction}}","description":"<p>This request determines if a user has successfully authenticated their card with the 3rd party service \"3D Secure\". The current login session and the reference number for the transaction being accessed are supplied, and the status of authentication is returned. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>transaction</code>(string): passed in using query parameters, the internal reference number for the transaction for which the status is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>status</code> (see Appendix): indicates the status of authentication with 3D Secure</li>\n</ul>\n<h4 id=\"appendix\">Appendix</h4>\n<h6 id=\"status\">status</h6>\n<p>The possible values for <code>status</code> and what they mean:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> - canceled: the user cancelled the authorization, or the authorization request timed-out and was cancelled by 3D Secure\n - consumed: the authorization was successful and the reload charge went through to the user's account\n - failed: the user entered wrong information and the authorization failed\n - pending: the system is waiting for the user to attempt authenticating their account\n</code></pre>","urlObject":{"path":["user","billing-profile","reload","status"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"transaction","value":"{{transaction}}"}],"variable":[]}},"response":[{"id":"f9f61d1d-cf2f-482f-8832-c03903286282","name":"user_reload_charge_status","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/billing-profile/reload/status?session_key={{user_session_key}}&transaction={{transaction}}","host":["{{endpoint}}"],"path":["user","billing-profile","reload","status"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"transaction","value":"{{transaction}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:23:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"15"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": null\n}"}],"_postman_id":"2fa5a3b3-f49e-4dc8-b4b4-7943f7faeac7"},{"name":"dashboard_vendor_egift_images_list","id":"5e9e7399-4117-4383-994b-0bffa44445ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/{{vendor}}/egift/images","description":"<p>This request returns a list of images available with this vendor to be included in the egift email.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which an egift is being sent</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>name</code>: identifies the image in a way that is user friendly</li>\n<li><code>url</code>: a direct url to the image</li>\n<li><code>tags</code>: an array of strings, where each is a keyword that allows this image to be found with a search</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","egift","images"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5e9e7399-4117-4383-994b-0bffa44445ad"},{"name":"dashboard_vendor_egift_create","id":"1c60e06d-6ec8-439d-b718-242305d44bd9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20,\n    \"buyer\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace@spoonity.com\"\n    },\n    \"recipient\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace+01@spoonity.com\"\n    },\n    \"message\": \"yew get a gift\",\n    \"billing\": {\n        \"id\": 69206\n    },\n    \"image_url\": null\n}"},"url":"{{endpoint}}/vendor/{{vendor}}/egift?session_key={{user_session_key}}","description":"<p>This request allows users to transmit funds to another person. To send an egift as a guest, the buyer must supply their name and email, the name and email of the recipient, and their payment card details, as well as the amount that is being gifted. For a registered user, their active login session id can be supplied, and the reference number of the billing profile they would like to use to pay for the egift can be entered instead of complete card details. The egift arrives to the recipient in an email, which directs them to a page that allows them to log in or register with this vendor in order to accept the gift.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>amount</code> (float): the amount that is being charged to the buyer and that is being gifted to a recipient</li>\n<li><code>buyer</code> (see \"user object\" in Appendix): an object that holds the buyer's information</li>\n<li><code>recipient</code> (see \"user object\" in Appendix): an object that holds the recipient's information</li>\n<li><code>message</code> (string): a message from the buyer to the recipient</li>\n<li><code>billing</code> (see billing 1 and billing 2 in Appendix): an object that holds the buyer's billing information</li>\n<li><code>image_url</code> (string): the direct url for the image that is to be sent with this egift, if desired</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>user_egift_id</code>: an internal reference number unique to each egift</li>\n<li><code>receipt</code>: an object that holds information about the receipt for this transaction<ul>\n<li><code>receipt_id</code>: an internal reference number for this receipt</li>\n<li><code>receipt_date</code>: the date this receipt was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>subtotal</code>: the amount that is being sent in this egift, the same as <code>amount</code> in the request</li>\n<li><code>receiptType</code>: an object that contains information about the type of this receipt<ul>\n<li><code>receiptType_id</code>: an internal reference number that indicates the type of receipt</li>\n<li><code>name</code>: indicates the type of receipt in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>receiptStatus</code>: an object that contains information about the status of this receipt<ul>\n<li><code>receiptStatus_id</code>: an internal reference number that indicates the status of this receipt</li>\n<li><code>name</code>: indicates the status of this receipt in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the receipt</li>\n</ul>\n</li>\n<li><code>recipient_email</code>: the email of the recipient of this egift</li>\n<li><code>buyer_email</code>: the email of the sender of this egift</li>\n<li><code>amount</code>: the amount that is being charged to the sender's account and loaded to the recipient's account</li>\n<li><code>release_date</code>: the date this egift was released to be accepted by the recipient</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the egift</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"user-object\">user object</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"name\": \"Grace Duncan\", \n    \"email\": \"grace@spoonity.com\"\n    }\n</code></pre>\n<ul>\n<li><code>name</code> (string): the user's name</li>\n<li><code>email</code> (string): the user's email</li>\n</ul>\n<h6 id=\"billing-1\">billing 1</h6>\n<p>Used when the buyer has not given a specific billing profile, no session identifier is necessary. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n     \"name\": \"Test Card\",\n        \"number\": \"4242424242424242\",\n        \"expiry\":{\n            \"month\": \"06\",\n            \"year\": \"19\"\n        },\n        \"cvv\": \"123\",\n        \"zip_code\": \"k1n1k2\"\n    }\n</code></pre>\n<ul>\n<li><code>name</code> (string): the name of the card holder</li>\n<li><code>number</code> (string): the card number</li>\n<li><code>expiry</code> (object): an object that contains information about the expiry date for this card<ul>\n<li><code>month</code> (string): the month this card expires (mm)</li>\n<li><code>year</code> (string): the year this card expires (yy)</li>\n</ul>\n</li>\n<li><code>cvv</code> (string): the security code found on the back of this card</li>\n<li><code>zip_code</code> (string): the postal or zip code for the billing address associated with this card</li>\n</ul>\n<h6 id=\"billing-2\">billing 2</h6>\n<p>Used when the buyer specifies a billing profile to be charged. An active login session for this buyer <em>is</em> necessary, and is passed in using the query parameters. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n        \"id\": 69206\n    }\n</code></pre>\n<ul>\n<li><code>id</code> (integer): the reference number for the billing profile that is to be accessed</li>\n</ul>\n<blockquote>\n<h6 id=\"note-to-see-examples-for-both-types-of-billing-objects-toggle-between-the-two-options-at-the-top-of-the-example-request\">Note: to see examples for both types of billing objects, toggle between the two options at the top of the example request.</h6>\n</blockquote>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","egift"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"38e196c4-f899-4629-8af7-46efdffa0676","name":"dashboard_vendor_egift_create (billing 2)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20,\n    \"buyer\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace@spoonity.com\"\n    },\n    \"recipient\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace+01@spoonity.com\"\n    },\n    \"message\": \"yew get a gift\",\n    \"billing\": {\n        \"id\": 69206\n    },\n    \"image_url\": null\n}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/egift?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","egift"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 17:17:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"401"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_egift_id\": 6598,\n    \"receipt\": {\n        \"receipt_id\": 17075081,\n        \"receipt_date\": 1559755041,\n        \"subtotal\": 20,\n        \"receiptType\": {\n            \"receiptType_id\": 4,\n            \"name\": \"E-Gift\"\n        },\n        \"receiptStatus\": {\n            \"receiptStatus_id\": 1,\n            \"name\": \"Purchase\"\n        },\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"recipient_email\": \"grace+01@spoonity.com\",\n    \"buyer_email\": \"grace@spoonity.com\",\n    \"amount\": 20,\n    \"release_date\": 1559755041,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    }\n}"},{"id":"4c218ee7-3098-4c9a-891a-4bdea148733a","name":"dashboard_vendor_egift_create (billing 1)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20.00, \n    \"buyer\": {\n        \"name\": \"Grace Duncan\", \n        \"email\": \"grace@spoonity.com\"\n    }, \n    \"recipient\": {\n        \"name\": \"Grace Duncan\", \n        \"email\": \"grace+1@spoonity.com\"\n    }, \n    \"message\": \"yew get a gift\", \n    \"billing\": {\n        \"name\":\"Test Card\",\n        \"number\":\"4242424242424242\",\n        \"expiry\":{\n            \"month\":\"06\",\n            \"year\":\"19\"\n        },\n        \"cvv\":\"123\",\n        \"zip_code\":\"k1n1k2\"\n    },\n    \"image_url\": null\n}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/egift?session_id={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","egift"],"query":[{"key":"session_id","value":"{{user_session_key}}"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:48:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"400"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_egift_id\": 6596,\n    \"receipt\": {\n        \"receipt_id\": 17075073,\n        \"receipt_date\": 1559738902,\n        \"subtotal\": 20,\n        \"receiptType\": {\n            \"receiptType_id\": 4,\n            \"name\": \"E-Gift\"\n        },\n        \"receiptStatus\": {\n            \"receiptStatus_id\": 1,\n            \"name\": \"Purchase\"\n        },\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"recipient_email\": \"grace+1@spoonity.com\",\n    \"buyer_email\": \"grace@spoonity.com\",\n    \"amount\": 20,\n    \"release_date\": 1559738903,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    }\n}"}],"_postman_id":"1c60e06d-6ec8-439d-b718-242305d44bd9"},{"name":"user_reload_settings_read","id":"e8d220aa-ec99-4b98-8c45-6ff11be16e47","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","description":"<p>This request returns the current settings for the user's automatic reload configuration. This information can also be found using the user_profile_read request in the \"Profile\" workflow, however that request returns more information than may be desired, and takes slightly longer to do so. If the billing profile is \"null\", automatic reload is turned of, regardless of the values for the reload amount and threshold. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>anonymous</code>: a boolean, always set to false</li>\n<li><code>billing_profile</code>: the internal reference number for the billing profile set up for automatic reload, \"null\" means auto-reload is off</li>\n<li><code>created</code>: the date this user was linked to this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number for this link between the user and the vendor the user is logged into</li>\n<li><code>reload_amount</code>: how much the user would like to add to their account during an automatic reload, must be greater than 0</li>\n<li><code>reload_threshold</code>: the point at which the user would like their account to automatically reload</li>\n<li><code>updated</code>: the last date this user/vendor link was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n","urlObject":{"path":["user","reload","settings"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"f6bf01e4-43e6-40f3-824a-64552ae1b6e8","name":"user_reload_settings_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reload","settings"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 Jun 2019 13:39:03 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"545"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"anonymous\": false,\n    \"billing_profile\": {\n        \"card\": \"4242 xxxx xxxx 4242\",\n        \"created\": 1559850677,\n        \"expiry\": 1561852800,\n        \"id\": \"69212\",\n        \"name\": \"Visa Test PP\",\n        \"object\": \"user_billingprofile\",\n        \"status\": {},\n        \"type\": \"Visa\",\n        \"updated\": 1559850682\n    },\n    \"created\": 1559131926,\n    \"id\": \"2974107\",\n    \"object\": \"user_vendor\",\n    \"reload_amount\": 1,\n    \"reload_threshold\": 0,\n    \"role\": {},\n    \"status\": {},\n    \"updated\": 1559914525,\n    \"user\": {},\n    \"vendor\": {}\n}"}],"_postman_id":"e8d220aa-ec99-4b98-8c45-6ff11be16e47"},{"name":"user_reload_settings_update","id":"81985900-daa1-40a7-917a-6a9db8a6d550","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10\",\n  \"threshold\": \"5\",\n  \"user_billingprofile\": 69235\n}"},"url":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","description":"<p>This request updates the user's automatic reload settings, by enabling.disabling the reload feature or by updating the amount and/or threshold values. To turn auto-reload on, the user must supply the id of a valid billing profile, specifiy the amount to reload each time, and indicate the point they would like the account to reload. When \"on\", if the user's quickpay balance goes below the indicated threshold, auto-reload removes the specified amount from the billing profile and adds it to the user's quickpay balance. To turn auto-reload off, the user-billingprofile must be set to null.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>amount</code>: how much the user would like to add to their account during an automatic reload, must be greater than 0</li>\n<li><code>threshold</code>: the point at which the user's would like their account to automatically reload</li>\n<li><code>user_billingprofile</code>: the user's billing profile to be used with automatic reload, \"null\" turns auto-reload off</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>billing_profile</code>: an object that contains information about the billing profile selecte for automatic reload</p>\n<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n</li>\n<li><p><code>created</code>: indicates the date auto-reload was turned on, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>id</code>: an internal reference number for the auto-reload activation</p>\n</li>\n<li><p><code>reload_amount</code>: the amount that is to be charged to this billing profile on each automatic reload</p>\n</li>\n<li><p><code>reload_threshold</code>: the point at which the user has specified to trigger automatic reload</p>\n</li>\n</ul>\n","urlObject":{"path":["user","reload","settings"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"605b2860-5a52-4411-91fd-adfe2e79e8ed","name":"user_reload_settings_update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10\",\n  \"threshold\": \"5\",\n  \"user_billingprofile\": 69235\n}"},"url":{"raw":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reload","settings"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 12 Jul 2019 19:07:37 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"378"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"billing_profile\": {\n        \"card\": \"4242 xxxx xxxx 4242\",\n        \"created\": 1562871344,\n        \"expiry\": 1564531200,\n        \"id\": \"69235\",\n        \"name\": \"nickname\",\n        \"object\": \"user_billingprofile\",\n        \"type\": \"Visa\"\n    },\n    \"created\": 1559131926,\n    \"id\": \"2974107\",\n    \"object\": \"user_vendor\",\n    \"reload_amount\": 10,\n    \"reload_threshold\": 5\n}"}],"_postman_id":"81985900-daa1-40a7-917a-6a9db8a6d550"}],"id":"91aafd13-2f6b-4f74-9d7b-6ae005f1f8d3","description":"<h6 id=\"1-get-billing-profiles\">1. Get billing profiles</h6>\n<p>All billing profiles linked to a user's accuont are returned. Spoonity does not store credit card information directly, the billing profiles instead make use of a token faciliated by a payment gateway to reference this information.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/billing-profile/list\n</code></pre><h6 id=\"2-adddelete-billing-profiles\">2. Add/delete billing profiles</h6>\n<p>Using these requests, a user can add a new billing profile to their account, or delete a billing profile from their account. Users can also update a billing profile to \"default\", meaning it will be the profile that is automatically charged as the payment method on a given order. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/billing-profile/add\n    - POST /user/billing-profile/default\n    - DELETE /user/billing-profile\n</code></pre><h6 id=\"3-use-a-billing-profile-quickpay\">3. Use a billing profile, Quickpay</h6>\n<p>These are the requests related to automatically reloading a user's quickpay balance, and are invoked by the user to do so. This process removes a specified amount from a user's billing profile and adds it to their account in quickpay currency. If the 3rd party \"3D Secure\" requires authentication from the user, it is necessary to check on the status of this authentication before proceeding to the reload. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - POST /user/billing-profile/reload\n    - GET /user/billing-profile/reload/status\n</code></pre><h6 id=\"4-use-a-billing-profile-egift\">4. Use a billing profile, egift</h6>\n<p>These requests allow users to transmit funds from one person to another. Some vendors have specific images to be included in the egift email, which can be found using the first request. Users can send egifts without logging in, but must supply full payment information. If a user is already logged in, their session id and a specified billing profile can be used instead of entering full payment information. The egift arrives to the recipient via email, which directs them to a page that allows them to log in or register with this vendor. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /vendor/{{vendor}}/egift/images\n    - POST /vendor/{{vendor}}/egift\n</code></pre><h6 id=\"5-update-automatic-reload-settings\">5. Update automatic reload settings</h6>\n<p>A user can turn automatic reload on or off, or simply update the current reload settings. The current settings can be determined using the GET request. To turn automatic reload off, the billing profile must be set to null, and the values for amount and threshold can be ignored. To turn automatic reload on, there must be a valid billing profile entered, an amount greater than 0, and a threshold.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    - GET /user/reload/settings \n    - PUT /user/reload/settings\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"dcc60f32-3b8b-4396-9e66-3bd988ac3e2f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e85240c4-0ba2-46c9-ae53-933f9db68a11","type":"text/javascript","exec":[""]}}],"_postman_id":"91aafd13-2f6b-4f74-9d7b-6ae005f1f8d3"},{"name":"Other","item":[{"name":"onscreen_register","id":"ad97cf93-47d5-4fd8-b3a1-70c981c2a832","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"email\": \"grace@spoonity.com\"\n}"},"url":"{{endpoint}}/onscreen/register?api_key={{apikey}}","description":"<p>This request allows customers to register and create an onscreen session themselves. </p>\n<h4 id=\"request\">Request:</h4>\n<p>One of the two following parameters is necessary for registration:</p>\n<ul>\n<li><code>phone_number</code> (see Appendix): an object that contains information about the user's phone number</li>\n<li><code>email</code> (string): the email the user would like to register with</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>pos_session</code>: an object that holds information about the current point of sale session that has been created with this request, this object contains:<ul>\n<li><code>id</code>: an internal reference number for this current session</li>\n<li><code>hash</code>: the hash value associated with this current order session</li>\n<li><code>date_created</code>: the time this session was created, listed as a Unix time stamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last time this session was updated, listed as a Unix time stamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the order</li>\n</ul>\n</li>\n<li><code>vendor</code>: an object that contains information about the vendor this order has been created through<ul>\n<li><code>id</code>: an internal reference number for this vendor</li>\n<li><code>point_of_sale</code>: an object that holds information about this current point of sale<ul>\n<li><code>pointOfSale_id</code>: an internal reference number which indicates the type of point of sale</li>\n<li><code>name</code>: indicates the type of point of sale in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>modules</code>: an object which contains information about the modules used for this order<ul>\n<li><code>data</code>: an array of objects where each object holds information about a module used, each object contains:<ul>\n<li><code>id</code>: an internal reference number indicating the current module in use</li>\n<li><code>name</code>: indicates the current module in use in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>api_key</code>: used for a small subset of point of sale integration, can likely be ignored<ul>\n<li><code>workstation_identifer</code>: string identifier for the key used in point of sale integration, can likely be ignored</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"phone_number\">phone_number</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    \"number\": \"1234567890\",\n    \"code\": \"1\"\n    }\n</code></pre>\n<ul>\n<li><code>number</code> (string): the user's phone number</li>\n<li><code>code</code> (string): the country code for the country the phone number is registered to</li>\n</ul>\n","urlObject":{"path":["onscreen","register"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"39751814-f763-41e3-9773-dfed211a1fbb","name":"onscreen_register (email)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"email\": \"grace@spoonity.com\"\n}"},"url":{"raw":"{{endpoint}}/onscreen/register?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","register"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 30 Jul 2019 20:24:18 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"294"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23474867,\n        \"hash\": \"2f6ccfcd6ca9e081cb8ffa41462999f2\",\n        \"date_created\": 1564518258,\n        \"date_updated\": 1564518258,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"pointOfSale_id\": 5,\n            \"name\": \"Manual\"\n        },\n        \"modules\": {\n            \"data\": []\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"},{"id":"f390ccad-0878-4ce0-9e49-f46b1082b006","name":"onscreen_register (phone_number)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"phone_number\": {\n    \t\"number\": \"1234567890\",\n    \t\"code\": \"1\"\n    }\n}"},"url":{"raw":"{{endpoint}}/onscreen/register?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","register"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 17:57:59 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"294"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23471301,\n        \"hash\": \"4c3161cfd9c926e6fa17299f916e8435\",\n        \"date_created\": 1557338280,\n        \"date_updated\": 1557338280,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"pointOfSale_id\": 5,\n            \"name\": \"Manual\"\n        },\n        \"modules\": {\n            \"data\": []\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"}],"_postman_id":"ad97cf93-47d5-4fd8-b3a1-70c981c2a832"},{"name":"firebase_register_device","id":"a986f153-f731-4cfc-8808-8183a3d3c781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"device\": \"<FIREBASE_REGISTRATION_TOKEN>\" \n}","options":{"raw":{"language":"json"}}},"url":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/device?session_key={{session_key}}","description":"<p>This request is used to register an endpoint for Firebase push notifications. This is done by providing a Firebase registration token to this request. This token must be generated using the Firebase SDK.</p>\n<p>More details about setting up a Firebase account or project can be found at <a href=\"https://spoonity.atlassian.net/servicedesk/customer/portal/3/article/1407778891?src=278858068\">https://spoonity.atlassian.net/servicedesk/customer/portal/3/article/1407778891?src=278858068</a>.</p>\n<p>More details about initializing the Firebase SDK can be found at <a href=\"https://spoonity.atlassian.net/servicedesk/customer/portal/3/article/1408106553?src=-966849765\">https://spoonity.atlassian.net/servicedesk/customer/portal/3/article/1408106553?src=-966849765</a>.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the dashboard session identifier key created for a dashboard user</li>\n<li><code>device</code> (string): the Firebase registration token for this device, must be generated using the Firebase SDK</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>user_vendor_device_id</code>: an internal reference number for the device as it is linked to the user</li>\n<li><code>user_vendor</code>: an object containing information about the currenct user as they are linked to the current vendor<ul>\n<li><code>user_vendor_id</code>: an internal reference number that indicates the current user as they are linked to this vendor</li>\n</ul>\n</li>\n<li><code>arn</code>: the registration token provided in the request body</li>\n<li><code>date_created</code>: holds the time this device was linked as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: holds the time this device was last updated as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n  }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","customers","{{user}}","device"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{session_key}}"}],"variable":[]}},"response":[{"id":"6a17f6bc-4035-4343-ab9e-4171f5c88c95","name":"firebase_register_device","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"device\": \"<FIREBASE_REGISTRATION_TOKEN>\" \n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/device?session_key={{session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","customers","{{user}}","device"],"query":[{"key":"session_key","value":"{{session_key}}"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.7"},{"key":"Date","value":"Thu, 18 Mar 2021 19:12:12 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"218"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"clear"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_vendor_device_id\": \"141049\",\n    \"user_vendor\": {\n        \"user_vendor_id\": \"2977860\"\n    },\n    \"arn\": \"<FIREBASE_REGISTRATION_TOKEN>\",\n    \"date_created\": 1616094732,\n    \"date_updated\": 1616094732,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    }\n}"}],"_postman_id":"a986f153-f731-4cfc-8808-8183a3d3c781"},{"name":"OAuth","id":"45061c4c-21e8-4ca0-907c-e9d1a839dc0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"OTHER","header":[],"url":"","description":"<blockquote>\n<p>Provider = Spoonity</p>\n<p>Client/application = third party that is integrating with Spoonity OAuth services</p>\n</blockquote>\n<h4 id=\"1-client-registers-their-application\">1. Client registers their application</h4>\n<ul>\n<li>basic information such as the application name and description is collected and stored for internal record keeping purposes</li>\n<li>at least one redirect URI must be registered for security reasons, and supplied to the provider</li>\n<li>the client receives their OAuth credentials:<ul>\n<li><code>client_id</code>: an identification code that is unique to this application</li>\n<li><code>client_secret</code>: a secure “passcode” that is known only to the application and to the authorization server, used to verify the application’s identity</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n<p>NOTE: <code>client_id</code> and <code>client_secret</code> essentially act as a username and password for the application</p>\n</blockquote>\n<h4 id=\"2-clients-application-directs-the-user-to-the-providers-login-page\">2. Client’s application directs the user to the provider’s login page</h4>\n<ul>\n<li><p>the user is routed to Spoonity’s OAuth authorization page, at <a href=\"https://accounts.spoonity.com/oauth/signin\">https://accounts.spoonity.com/oauth/signin</a></p>\n</li>\n<li><p>certain information must be included in this route as query parameters:</p>\n<ul>\n<li><code>client_id</code>: the identification string for this application</li>\n<li><code>redirect_uri</code>: the registered URI that is the desired endpoint for the authentication process</li>\n<li><code>response_type</code>: indicates the type of authorization that is expected by the application’s server, initializes the authorization flows associated with this value</li>\n</ul>\n</li>\n<li><p><strong><code>response_type=token</code></strong>, initializes the Implicit flow</p>\n<ul>\n<li>upon authorization, the access_token is embedded directly into the registered redirect URI and the user is redirected to this page</li>\n</ul>\n</li>\n<li><p><strong><code>response_type=code</code></strong>, initializes the Authorization Code flow</p>\n<ul>\n<li>on authorization of the user’s Spoonity credentials, the user is redirected back to the application with query parameters containing:<ul>\n<li>code: the authorization code for the authentication process</li>\n</ul>\n</li>\n<li>a POST request is sent to the OAuth server to verify the authorization code:</li>\n<li><strong>POST /oauth/access_token</strong><ul>\n<li><code>grant_type</code>: indicates the grant type of the current request, always “code” in this flow</li>\n<li><code>client_id</code>: the identification string for this application</li>\n<li><code>client_secret</code>: the secret “passcode” that identifies this application</li>\n<li><code>code</code>: the authorization code that was received in the query string after being redirected back to the application</li>\n<li><code>redirect_uri</code>: must match the redirect URI that was provided in the original link</li>\n</ul>\n</li>\n<li>if the authorization code is correct, the API responds with an access_token</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"3-once-the-access-token-is-obtained-via-either-of-these-flows-it-can-be-used-to-send-requests-to-the-api\">3. Once the access token is obtained via either of these flows, it can be used to send requests to the API</h4>\n","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"45061c4c-21e8-4ca0-907c-e9d1a839dc0e"},{"name":"privacy_policy","id":"668020ee-b5b4-4732-b2a1-84576f7f3bff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/content/privacy-policy?vendor={{vendor}}","description":"<p>This request retrieves the privacy policy content set by a vendor.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using query parameters, the internal reference ID of the vendor who's content is being retrieved</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>title</code>: the title of the privacy policy</li>\n<li><code>content</code>: the content of the privacy policy</li>\n</ul>\n","urlObject":{"path":["vendor","content","privacy-policy"],"host":["{{endpoint}}"],"query":[{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"b5d01af3-d6eb-419c-ab7f-ece3058192ad","name":"privacy_policy","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/content/privacy-policy?vendor={{vendor}}","host":["{{endpoint}}"],"path":["vendor","content","privacy-policy"],"query":[{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.0"},{"key":"Date","value":"Tue, 16 Aug 2022 12:45:23 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"2253"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"vendor_content\",\n    \"title\": \"Privacy Policy\",\n    \"content\": \"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vestibulum arcu vitae urna rutrum eleifend. Vivamus varius pretium gravida. Nunc sit amet felis sem. Sed commodo nisi ligula, et hendrerit ante fermentum ut. Praesent sed erat in nisl efficitur tristique. Nam at urna a enim iaculis semper. Phasellus erat felis, pretium eget eleifend id, bibendum a magna. In sit amet hendrerit magna. Sed vel sapien sodales, rhoncus urna non, bibendum felis. Suspendisse eu lacus tellus. Suspendisse potenti. Vestibulum id nisi eu lectus accumsan dapibus sit amet id sem.</p>\\n<p>Mauris lobortis porta risus, sollicitudin scelerisque dui accumsan sit amet. Mauris at augue non nulla luctus hendrerit et in sapien. Mauris sit amet mauris orci. Nam laoreet magna at enim molestie dictum. Mauris est orci, luctus euismod egestas ut, scelerisque nec sapien. Integer a ex eu velit hendrerit faucibus ac sit amet elit. Proin eget libero at elit blandit auctor laoreet non nisl. Phasellus purus magna, posuere a nisi ac, lobortis euismod libero. Mauris augue velit, ornare sed tortor eget, consequat bibendum ligula. Ut non vehicula orci, vel aliquam sapien. Vestibulum tempor libero nulla, sit amet vulputate dui viverra a. Duis ultrices augue sit amet arcu mollis, ut scelerisque lectus euismod. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut auctor nisl ante, non ultricies metus molestie ut. Aliquam a leo consequat, volutpat velit vitae, cursus nisl.</p>\\n<p>Nullam malesuada eros eu purus elementum, nec fringilla nisi congue. Maecenas placerat ligula feugiat magna porta, quis molestie tellus tempus. Nulla ac odio tempus, vulputate lacus nec, porttitor diam. Integer aliquam, ligula a facilisis auctor, nunc lacus blandit nisi, nec vehicula massa dui eu est. Quisque sollicitudin eget tortor non feugiat. Cras scelerisque sapien vel urna maximus ultrices a vitae lacus. Quisque a sem diam. Praesent scelerisque, magna eget faucibus varius, nunc metus commodo nibh, tempor semper mi tortor vel diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\",\n    \"version\": null\n}"}],"_postman_id":"668020ee-b5b4-4732-b2a1-84576f7f3bff"},{"name":"terms_of_service","id":"5d0d0500-f40b-4188-aad5-ee0ac2695482","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/content/terms-of-service?vendor={{vendor}}","description":"<p>This request retrieves the terms of service content set by a vendor.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using query parameters, the internal reference ID of the vendor who's content is being retrieved</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>title</code>: the title of the terms of service</li>\n<li><code>content</code>: the content of the terms of service</li>\n</ul>\n","urlObject":{"path":["vendor","content","terms-of-service"],"host":["{{endpoint}}"],"query":[{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"846a6184-6faa-44e1-9352-ee92945eda14","name":"terms_of_service","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/content/terms-of-service?vendor={{vendor}}","host":["{{endpoint}}"],"path":["vendor","content","terms-of-service"],"query":[{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.0"},{"key":"Date","value":"Mon, 15 Aug 2022 21:59:31 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"2255"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"vendor_content\",\n    \"title\": \"Terms of Service\",\n    \"content\": \"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vestibulum arcu vitae urna rutrum eleifend. Vivamus varius pretium gravida. Nunc sit amet felis sem. Sed commodo nisi ligula, et hendrerit ante fermentum ut. Praesent sed erat in nisl efficitur tristique. Nam at urna a enim iaculis semper. Phasellus erat felis, pretium eget eleifend id, bibendum a magna. In sit amet hendrerit magna. Sed vel sapien sodales, rhoncus urna non, bibendum felis. Suspendisse eu lacus tellus. Suspendisse potenti. Vestibulum id nisi eu lectus accumsan dapibus sit amet id sem.</p>\\n<p>Mauris lobortis porta risus, sollicitudin scelerisque dui accumsan sit amet. Mauris at augue non nulla luctus hendrerit et in sapien. Mauris sit amet mauris orci. Nam laoreet magna at enim molestie dictum. Mauris est orci, luctus euismod egestas ut, scelerisque nec sapien. Integer a ex eu velit hendrerit faucibus ac sit amet elit. Proin eget libero at elit blandit auctor laoreet non nisl. Phasellus purus magna, posuere a nisi ac, lobortis euismod libero. Mauris augue velit, ornare sed tortor eget, consequat bibendum ligula. Ut non vehicula orci, vel aliquam sapien. Vestibulum tempor libero nulla, sit amet vulputate dui viverra a. Duis ultrices augue sit amet arcu mollis, ut scelerisque lectus euismod. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut auctor nisl ante, non ultricies metus molestie ut. Aliquam a leo consequat, volutpat velit vitae, cursus nisl.</p>\\n<p>Nullam malesuada eros eu purus elementum, nec fringilla nisi congue. Maecenas placerat ligula feugiat magna porta, quis molestie tellus tempus. Nulla ac odio tempus, vulputate lacus nec, porttitor diam. Integer aliquam, ligula a facilisis auctor, nunc lacus blandit nisi, nec vehicula massa dui eu est. Quisque sollicitudin eget tortor non feugiat. Cras scelerisque sapien vel urna maximus ultrices a vitae lacus. Quisque a sem diam. Praesent scelerisque, magna eget faucibus varius, nunc metus commodo nibh, tempor semper mi tortor vel diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\",\n    \"version\": null\n}"}],"_postman_id":"5d0d0500-f40b-4188-aad5-ee0ac2695482"}],"id":"8254ee02-1854-44cd-8522-c0b735f45de5","_postman_id":"8254ee02-1854-44cd-8522-c0b735f45de5","description":""},{"name":"onscreen","item":[{"name":"onscreen_create","id":"18aee7a4-a6ea-4e3d-8074-dc1be097f9e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"card_number\": \"brandin@spoonity.com\"\n}"},"url":"{{endpoint}}/onscreen?api_key={{apikey}}","description":"<p>This is the call that occurs when a customer is in store engaging with a cashier, and provides information that can be used to identify this customer. The identification of the customer is crucial for the next step in the workflow, and is made accessible to that request via the hash value that is returned in the response of this request.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>pos_session</code>: an object that holds information about the current point of sale session that has been created with this request, this object contains:<ul>\n<li><code>id</code>: an internal reference number for this current session</li>\n<li><code>hash</code>: the hash value associated with this current order session</li>\n<li><code>date_created</code>: holds the time this session was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: holds the last time this session was updated as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the order</li>\n</ul>\n</li>\n<li><code>vendor</code>: an object that contains information about the vendor this order has been created through<ul>\n<li><code>id</code>: an internal reference number for this vendor</li>\n<li><code>point_of_sale</code>: an object that holds information about this current point of sale<ul>\n<li><code>id</code>: an internal reference number which indicates the type of point of sale</li>\n<li><code>name</code>: indicates the type of point of sale in a way that is more user friendly</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the point of sale</li>\n</ul>\n</li>\n<li><code>modules</code>: an object which contains information about the modules used for this order<ul>\n<li><code>data</code>: an array of objects where each object holds information about a module used, each object contains:<ul>\n<li><code>id</code>: an internal reference number indicating the current module in use</li>\n<li><code>name</code>: indicates the current module in use in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>api_key</code>: used for a small subset of point of sale integration, can likely be ignored<ul>\n<li><code>workstation_identifer</code>: string identifier for the key used in point of sale integration, can likely be ignored</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n  }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"df84c7ec-bb1f-4b11-bdd0-e59e88d33c40","name":"onscreen_create","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\"card_number\": \"brandin@spoonity.com\"\n}"},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 14:11:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Pos-Session-Hash","value":"71c61a3b5792027672d010fe5426b92f"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1131"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23471296,\n        \"object\": \"pos_session\",\n        \"hash\": \"71c61a3b5792027672d010fe5426b92f\",\n        \"date_created\": 1557324704,\n        \"date_updated\": 1557324704,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"object\": \"vendor\",\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"object\": \"pointofsale\",\n            \"id\": 5,\n            \"name\": \"Manual\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"modules\": {\n            \"object\": \"collection\",\n            \"data\": [\n                {\n                    \"object\": \"middlewaremodule\",\n                    \"id\": 1,\n                    \"name\": \"Loyalty\"\n                },\n                {\n                    \"object\": \"middlewaremodule\",\n                    \"id\": 2,\n                    \"name\": \"Quick Pay\"\n                }\n            ],\n            \"page_size\": 2,\n            \"count\": 2,\n            \"page\": 1\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"}],"_postman_id":"18aee7a4-a6ea-4e3d-8074-dc1be097f9e2"},{"name":"onscreen_queue","id":"aa168bbe-408d-4595-8970-5cb36f77d8ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/onscreen/queue?api_key={{apikey}}","description":"<p>This request is used to access a list of users who are already checked in, which can be done by the customer through a mobile application or manually by a cashier. The request returns an array of sessions of checked in users, each with a unique point of sale hash key which is referenced whenever that session's user information is required. </p>\n<h4 id=\"request\">Request:</h4>\n<p>The only information required for this request is the <code>api_key</code> given in the query parameters.</p>\n<h4 id=\"response\">Response:</h4>\n<p>Each object in the array has information for:</p>\n<ul>\n<li><code>pos_session</code>: an object that holds information regarding this specific point of sale session, this object contains:  <ul>\n<li><code>id</code>: the internal reference number that is related to the current point of sale session  </li>\n<li><code>hash</code>: the hash value associated with this current order session</li>\n<li><code>vendor</code>: an object that contains information about the current vendor, this object includes:<ul>\n<li><code>vendor_id</code>: an internal reference number unique to each vendor</li>\n<li><code>name</code>: indicates the vendor in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>user</code>: an object that holds information about the user checking into this session, this object contains:<ul>\n<li><code>user_id</code>: an internal reference number unique to each user</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>email_address</code>: the user's email address</li>\n</ul>\n</li>\n<li><code>table_number</code>: the table number the user has checked in to</li>\n<li><code>redemptions</code> (see Appendix): an array of all redemptions a user desires to use this session, which was specified through the mobile application</li>\n<li><code>payments</code> (see Appendix): an array of all payment options a user desires to use this session, which was specified through the mobile application</li>\n<li><code>date_created</code>: the date this session was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last date this session was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the point of sale session</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"redemptions-array-example\">redemptions array example</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">\"redemptions\": [{\n    \"vendor_perk_redemption_id\": 121,\n    \"name\": \"Free Coffee\",\n    \"currency\": {\n        \"currency_id\": 45,\n        \"name\": \"Coffee Point\"\n        },\n    \"cost\": 10\n    }]\n</code></pre>\n<ul>\n<li><code>vendor_perk_redemption_id</code>: internal reference number that is unique to each vendor perk redemption</li>\n<li><code>name</code>: indicates the vendor perk redemption in a way that is more user friendly</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>cost</code>:  indicates the price of 1 unit of this redemption</li>\n</ul>\n<h6 id=\"payments-array-example\">payments array example</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">\"payments\": [{\n    \"method\": \"quickpay\",\n    \"amount\": 20.00\n    }]\n</code></pre>\n<ul>\n<li><code>method</code>: the payment method the customer has specified to use, can be:<ul>\n<li>quickpay</li>\n<li>loyaly_pay</li>\n<li>billing_profile</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n<p>Note: if the method provided is billing_profile, another parameter is necessary:\n <code>user_billingProfile_id</code>: the internal reference number associated with the user's billing profile</p>\n</blockquote>\n<ul>\n<li><code>amount</code>: the amount that is being authorized to be paid out of this account</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"currency_id\": 45,\n    \"name\": \"Coffee Point\"\n    },\n</code></pre>\n<ul>\n<li><code>currency_id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen","queue"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"7419fa7d-23af-4cbd-9282-7615817bd0ae","name":"onscreen_queue","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/onscreen/queue?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","queue"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 15:40:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1627"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"pos_session\": {\n            \"id\": 23471267,\n            \"object\": \"pos_session\",\n            \"hash\": \"e777c6662bcfa23f327b9a8b07b7e50c\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"1000454652113\",\n                \"first_name\": \"Guest\",\n                \"last_name\": \"\",\n                \"email_address\": \"guest_8a732bcec1ed306df35780788648c2ea\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1556646066,\n            \"date_updated\": 1556646066,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471268,\n            \"object\": \"pos_session\",\n            \"hash\": \"f38cd0bd184a5c675cf892d5f1839fce\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"1000454652114\",\n                \"first_name\": \"Guest\",\n                \"last_name\": \"\",\n                \"email_address\": \"guest_6c9d4d209ffc9b58d030b7e7767c1962\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1556646073,\n            \"date_updated\": 1556646073,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471296,\n            \"object\": \"pos_session\",\n            \"hash\": \"71c61a3b5792027672d010fe5426b92f\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"582846\",\n                \"first_name\": \"brandin\",\n                \"last_name\": \"chiu\",\n                \"email_address\": \"brandin@spoonity.com\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1557324704,\n            \"date_updated\": 1557324704,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    },\n    {\n        \"pos_session\": {\n            \"id\": 23471297,\n            \"object\": \"pos_session\",\n            \"hash\": \"fd322bcc9364864dabb582dcc6b88fec\",\n            \"vendor\": {\n                \"vendor_id\": 1044093,\n                \"name\": \"Store example\"\n            },\n            \"user\": {\n                \"user_id\": \"582846\",\n                \"first_name\": \"brandin\",\n                \"last_name\": \"chiu\",\n                \"email_address\": \"brandin@spoonity.com\"\n            },\n            \"table_number\": null,\n            \"redemptions\": [],\n            \"payments\": [],\n            \"date_created\": 1557325306,\n            \"date_updated\": 1557325306,\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\"\n            }\n        }\n    }\n]"}],"_postman_id":"aa168bbe-408d-4595-8970-5cb36f77d8ac"},{"name":"onscreen_read","id":"45a8c856-10d6-4ea0-afdc-8087695f669a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{orderHash}}","description":"<p>This request uses the point of sale session hash key that was generated with the onscreen_create request to access the identification information that was provided by the user. This identification information allows us to retrieve the user's account, which gives us information like their first and last names, their birthday, and a list of rewards this user is currently eligible for. The user's loyalty and quick pay balances are also retrieved at this point, which are necessary in the step for the authorization of payments.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code> (string): passed in using query parameters, must match the hash found in the response of the onscreen_create request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>pos_session</code>: an object that holds information regarding this specific point of sale session, this object contains:  </p>\n<ul>\n<li><code>pos_session_id</code>: the internal reference number that is related to the current point of sale session  </li>\n<li><code>hash</code>: the hash value associated with this current order session  </li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the order</li>\n</ul>\n</li>\n<li><p>Only one of the following three arguments will have a value that is not null at any given time. The argument that gets a non-null value depends on how the user checked in.</p>\n<ul>\n<li><code>card</code>: if the user checked in with a card, that information is held here and the other two arguments are null</li>\n<li><code>card_third_party</code>: if the user checked in with a third party card, that information is held here and the other two arguments are null</li>\n<li><code>token</code>: if the user used any other method to check in, that information is held here and the other two arguments are null</li>\n</ul>\n</li>\n<li><p><code>user</code>: an object that holds all information related to the user in the current session</p>\n<ul>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>default_billing_profile</code>: an identification number associated with the user's default billing profile</li>\n<li><code>birthdate</code>: the user's date of birth, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>address</code>: the user's address</li>\n<li><code>phone_number</code>: the user's phone number</li>\n<li><code>cedula</code>: the user's cedula, if applicable</li>\n<li><code>clover_id</code>: the user's clover id</li>\n<li><code>passport_number</code>: the user's passport number</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>is_employee</code>: true if the user is an employee with this vendor, false if the user is not</li>\n<li><code>id</code>: the internal reference number for the user</li>\n<li><code>birthday</code>: the user's birthday</li>\n<li><code>last_visit</code>: the date the user last visited this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><p><code>favourite_items</code>: an array that contains information about the user's favourite items</p>\n</li>\n<li><p><code>reload</code>: an object that contains information regarding the user's auto-reload configuration</p>\n<ul>\n<li><code>amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>billing_profile</code>: the user's billing profile that is selected for automatic reload</li>\n</ul>\n</li>\n<li><p><code>favorite</code>: deprecated</p>\n</li>\n<li><p><code>last_visit</code>: deprecated</p>\n</li>\n<li><p><code>loyalty_balance</code>: an object that contains information about the loyalty balance associated with this user, this object contains</p>\n<ul>\n<li><code>data</code>: an array of objects where each contains a different piece of information about a user's loyalty balance<ul>\n<li><code>amount</code>: the number of units of a certain currency that is associated with the user's account</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>rules</code>: an object that holds information about the rules for this current point of sale, each object contains:</p>\n<ul>\n<li><code>earning</code>: an object which contains information about the rules related to earning loyalty points, this object contains:<ul>\n<li><code>data</code>: an array that holds all necessary information for the loyalty point earning process, each object contains earning information for one perk<ul>\n<li><code>id</code>: an internal reference number for this earning rule</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the type of current in a way that is more user friendly</li>\n<li><code>perk_type</code>: an object that holds information about the type of perk offered that is earning points<ul>\n<li><code>id</code>: an internal reference number that is unique to each type of perk</li>\n<li><code>name</code>: indicates the type of perk in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>round_policy</code>: an object that holds information about how points will be rounded during this point of sale<ul>\n<li><code>id</code>: an internal reference number that indicates the type of rounding that is to occur</li>\n<li><code>name</code>: indicates the type of rounding in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>award_amount</code>: the ratio of points awarded when the earning rule is invoked</li>\n<li><code>max_award_amount</code>: the maximum number of points that can be earned in a single instance of a point of sale</li>\n<li><code>start_date</code>: the date this perk begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this perk ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the earning rule</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>spending</code>: an object that holds information about the rules related to spending loyalty points, each object contains:<ul>\n<li><code>data</code>: an array that contains all information necessary to the loyalty point spending process, each object in the array contains spending information for one reward:<ul>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>id</code>: the internal reference number unique to each reward</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the type of reward in a way that is more user friendly</li>\n<li><code>description</code>: a description of what the reward entails</li>\n<li><code>summary</code>: a brief overview of what the promotion is and what points will be removed</li>\n<li><code>cost</code>: how many points this promotion costs to redeem</li>\n<li><code>start_date</code>: the date this promotion begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this promotion ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>available</code>: how many perks of this type the user is able to redeem with their current loyalty balance</li>\n<li><code>progress</code>: the number of points the user has towards qualifying for a perk of this type</li>\n<li><code>catalog</code>: an object that holds information regarding the item that is attached to this redemption<ul>\n<li><code>id</code>: an internal reference number that is unique to each item</li>\n<li><code>identifier</code>: the reference number for this item that is supplied by the point of sale</li>\n<li><code>name</code>: indicates the item in a way that is more user friendly</li>\n<li><code>type</code>: in spending rules, perks are exclusively type discount<ul>\n<li><code>id</code>: an internal reference number that is unique to type discount</li>\n<li><code>name</code>: indicates the type of the current spending rule in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>tier</code>: an object that holds information about the prestige level of the user<ul>\n<li><code>count</code>: total number of tiers this vendor has</li>\n<li><code>current</code>: an object that holds information about the current tier<ul>\n<li><code>name</code>: indicates the current tier in a way that is more user friendly</li>\n<li><code>since</code>: the date this tier was achieved, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>type</code>: an object that contains the specific information for this tier<ul>\n<li><code>id</code>: an internal reference number unique to each type of tier</li>\n<li><code>name</code>: indicates the type of this tier in a way that is more user friendly</li>\n<li><code>ranking</code>: the rank of this tier</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>next</code>: an object that contains information about the next tier level to be attained<ul>\n<li><code>name</code>: indicates the name of the next tier in a way that is more user friendly</li>\n<li><code>amount</code>: the number of criteria required to achieve this tier</li>\n<li><code>progress</code>: the number of criteria the user currently has towards reaching the next tier</li>\n<li><code>summary</code>: a summary of the perks offered at the next tier</li>\n<li><code>description</code>: a description of the next tier</li>\n</ul>\n</li>\n<li><code>all</code>: an object that contains information about all tiers possible at this vendor<ul>\n<li><code>vendor_tier_changed</code>: the last date the user's tier changed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>tier_immunity_days</code>: a configuration value from the vendor, indicates how long a user has on this tier before being downgraded</li>\n<li><code>days_remaining</code>: the time left between now and when the user will be downgraded</li>\n<li><code>data</code>: an array of objects that each hold information about one tier, one object for each tier holds the same information found in <code>next</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>quick_pay_balance</code>: an object that holds information about the quick pay balance a user has linked to their account</p>\n<ul>\n<li><code>amount</code>: the total units of currency available</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this balance will expire</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    \"code\": \"CAD\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>code</code>: the ISO 4217 code associated with this type of currency, a null value here indicates a loyalty currency</li>\n</ul>\n<h6 id=\"expiring\">expiring</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"data\": []\n    }\n</code></pre>\n<ul>\n<li><code>data</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}],"variable":[]}},"response":[{"id":"41c619b1-f760-4184-8294-06a7ede0bf20","name":"onscreen_read","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}&pos_session_hash={{hash}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{hash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 14:38:12 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"2953"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"pos_session_id\": \"23471297\",\n        \"hash\": \"fd322bcc9364864dabb582dcc6b88fec\",\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        },\n        \"card\": null,\n        \"card_third_party\": null,\n        \"token\": null\n    },\n    \"user\": {\n        \"email_address\": \"brandin@spoonity.com\",\n        \"default_billing_profile\": null,\n        \"birthdate\": 1573448400,\n        \"address\": \"213-24 York Street\",\n        \"phone_number\": \"6138057421\",\n        \"cedula\": \"1122334455\",\n        \"clover_id\": \"582846\",\n        \"passport_number\": \"PASS-CAD-8904295\",\n        \"first_name\": \"brandin\",\n        \"last_name\": \"chiu\",\n        \"is_employee\": false,\n        \"id\": 582846,\n        \"birthday\": \"2019-11-11\",\n        \"last_visit\": null\n    },\n    \"favourite_items\": [],\n    \"reload\": {\n        \"amount\": 0,\n        \"threshold\": 0,\n        \"billing_profile\": null\n    },\n    \"favorite\": null,\n    \"last_visit\": null,\n    \"loyalty_balance\": {\n        \"data\": [\n            {\n                \"amount\": 9696,\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\",\n                    \"code\": null\n                },\n                \"expiring\": {\n                    \"data\": [],\n                    \"page_size\": 0,\n                    \"count\": 0,\n                    \"page\": 1\n                }\n            },\n            {\n                \"amount\": 12900\n            }\n        ],\n        \"page_size\": 1,\n        \"count\": 1,\n        \"page\": 1\n    },\n    \"rules\": {\n        \"earning\": {\n            \"data\": [\n                {\n                    \"catalogs\": [],\n                    \"id\": 1339,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Points\",\n                    \"perk_type\": {\n                        \"id\": 2,\n                        \"name\": \"Points per item\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 1,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1464753600,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                },\n                {\n                    \"catalogs\": [],\n                    \"id\": 1371,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Sandwich Points\",\n                    \"perk_type\": {\n                        \"id\": 6,\n                        \"name\": \"Currency per dollar (total)\"\n                    },\n                    \"round_policy\": {\n                        \"id\": 4,\n                        \"name\": \"Floor\"\n                    },\n                    \"award_amount\": 10,\n                    \"max_award_amount\": 0,\n                    \"award_parent\": true,\n                    \"start_date\": 1483246800,\n                    \"end_date\": 2114312400,\n                    \"status\": {\n                        \"id\": 1,\n                        \"name\": null\n                    },\n                    \"catalog\": {\n                        \"id\": 0,\n                        \"identifier\": null,\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 0,\n                            \"name\": null\n                        }\n                    }\n                }\n            ]\n        },\n        \"spending\": {\n            \"data\": [\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 642,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Free Item\",\n                    \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n                    \"summary\": \"Spend 50 points to get a free sandwich\",\n                    \"cost\": 50,\n                    \"start_date\": 1500004800,\n                    \"end_date\": 2114312400,\n                    \"available\": 193,\n                    \"progress\": 46,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3570252,\n                        \"identifier\": \"clover_discount\",\n                        \"name\": null,\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                },\n                {\n                    \"template\": {\n                        \"id\": 2,\n                        \"name\": \"POINT\"\n                    },\n                    \"id\": 756,\n                    \"currency\": {\n                        \"id\": 961,\n                        \"name\": \"Points\",\n                        \"code\": null\n                    },\n                    \"name\": \"Birthday Reward\",\n                    \"description\": null,\n                    \"summary\": \"Free birthday reward\",\n                    \"cost\": 100,\n                    \"start_date\": 1537904763,\n                    \"end_date\": 2114312400,\n                    \"available\": 96,\n                    \"progress\": 96,\n                    \"group\": null,\n                    \"catalog\": {\n                        \"id\": 3568698,\n                        \"identifier\": \"free_sandwich\",\n                        \"name\": \"Free Sandwich\",\n                        \"type\": {\n                            \"id\": 3,\n                            \"name\": \"discount\"\n                        }\n                    }\n                }\n            ],\n            \"tier\": {\n                \"count\": 1,\n                \"current\": {\n                    \"name\": \"Default\",\n                    \"since\": 1468431720,\n                    \"type\": {\n                        \"id\": 1,\n                        \"name\": \"Normal\",\n                        \"ranking\": 1\n                    }\n                },\n                \"next\": {\n                    \"name\": \"\",\n                    \"amount\": \"\",\n                    \"progress\": 0,\n                    \"summary\": \"\",\n                    \"description\": \"\"\n                },\n                \"all\": {\n                    \"vendor_tier_changed\": 1468431720,\n                    \"tier_immunity_days\": 0,\n                    \"days_remaining\": null,\n                    \"data\": []\n                }\n            }\n        }\n    },\n    \"quick_pay_balance\": {\n        \"amount\": 6.3600000000000003,\n        \"currency\": {\n            \"id\": 191,\n            \"name\": \"Canadian Dollar\",\n            \"code\": \"CAD\"\n        },\n        \"expiring\": {\n            \"data\": [],\n            \"page_size\": 0,\n            \"count\": 0,\n            \"page\": 1\n        }\n    }\n}"}],"_postman_id":"45a8c856-10d6-4ea0-afdc-8087695f669a"},{"name":"onscreen_close","id":"d5851807-2be1-408e-b9a0-b1e71bfdb138","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"9c18e2d6bc8e9771a96b248061f2a5ff\"\n}"},"url":"{{endpoint}}/onscreen?api_key={{apikey}}","description":"<p>This request uses the session hash key that was generated in the first call of this workflow to close the current session so the next user can check in. In most cases, the Spoonity API automatically closes the most recent session once an order is complete, however this request can also be called manually.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>pos_session_hash</code>: the hash value for the session that is being closed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status of \"200 OK\" indicates successful closure.</p>\n","urlObject":{"path":["onscreen"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"1d465262-d4f1-4cd9-954a-caac5bd49bfe","name":"onscreen_close","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"pos_session_hash\": \"9c18e2d6bc8e9771a96b248061f2a5ff\"\n\n}"},"url":{"raw":"{{endpoint}}/onscreen?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 13 May 2019 15:39:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d5851807-2be1-408e-b9a0-b1e71bfdb138"},{"name":"onscreen_register","id":"d8fe17ec-cde5-49de-841e-1b2f4ed8182d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"email\": \"grace@spoonity.com\"\n}"},"url":"{{endpoint}}/onscreen/register?api_key={{apikey}}","description":"<p>This request allows customers to register and create an onscreen session themselves. </p>\n<h4 id=\"request\">Request:</h4>\n<p>One of the two following parameters is necessary for registration:</p>\n<ul>\n<li><code>phone_number</code> (see Appendix): an object that contains information about the user's phone number</li>\n<li><code>email</code> (string): the email the user would like to register with</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>pos_session</code>: an object that holds information about the current point of sale session that has been created with this request, this object contains:<ul>\n<li><code>id</code>: an internal reference number for this current session</li>\n<li><code>hash</code>: the hash value associated with this current order session</li>\n<li><code>date_created</code>: the time this session was created, listed as a Unix time stamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last time this session was updated, listed as a Unix time stamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the order</li>\n</ul>\n</li>\n<li><code>vendor</code>: an object that contains information about the vendor this order has been created through<ul>\n<li><code>id</code>: an internal reference number for this vendor</li>\n<li><code>point_of_sale</code>: an object that holds information about this current point of sale<ul>\n<li><code>pointOfSale_id</code>: an internal reference number which indicates the type of point of sale</li>\n<li><code>name</code>: indicates the type of point of sale in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>modules</code>: an object which contains information about the modules used for this order<ul>\n<li><code>data</code>: an array of objects where each object holds information about a module used, each object contains:<ul>\n<li><code>id</code>: an internal reference number indicating the current module in use</li>\n<li><code>name</code>: indicates the current module in use in a way that is more user friendly</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>api_key</code>: used for a small subset of point of sale integration, can likely be ignored<ul>\n<li><code>workstation_identifer</code>: string identifier for the key used in point of sale integration, can likely be ignored</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"phone_number\">phone_number</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    \"number\": \"1234567890\",\n    \"code\": \"1\"\n    }\n</code></pre>\n<ul>\n<li><code>number</code> (string): the user's phone number</li>\n<li><code>code</code> (string): the country code for the country the phone number is registered to</li>\n</ul>\n","urlObject":{"path":["onscreen","register"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"9ed89c60-44ca-48f5-ae9a-77e7f104b42f","name":"onscreen_register (phone_number)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"phone_number\": {\n    \t\"number\": \"1234567890\",\n    \t\"code\": \"1\"\n    }\n}"},"url":{"raw":"{{endpoint}}/onscreen/register?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","register"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 17:57:59 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"294"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23471301,\n        \"hash\": \"4c3161cfd9c926e6fa17299f916e8435\",\n        \"date_created\": 1557338280,\n        \"date_updated\": 1557338280,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"pointOfSale_id\": 5,\n            \"name\": \"Manual\"\n        },\n        \"modules\": {\n            \"data\": []\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"},{"id":"c2c41f08-6439-46c6-9bb7-3a7fd9987c40","name":"onscreen_register (email)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"email\": \"grace@spoonity.com\"\n}"},"url":{"raw":"{{endpoint}}/onscreen/register?api_key={{apikey}}","host":["{{endpoint}}"],"path":["onscreen","register"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 30 Jul 2019 20:24:18 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"294"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"pos_session\": {\n        \"id\": 23474867,\n        \"hash\": \"2f6ccfcd6ca9e081cb8ffa41462999f2\",\n        \"date_created\": 1564518258,\n        \"date_updated\": 1564518258,\n        \"status\": {\n            \"id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"vendor\": {\n        \"id\": 1,\n        \"point_of_sale\": {\n            \"pointOfSale_id\": 5,\n            \"name\": \"Manual\"\n        },\n        \"modules\": {\n            \"data\": []\n        }\n    },\n    \"api_key\": {\n        \"workstation_identifier\": null\n    }\n}"}],"_postman_id":"d8fe17ec-cde5-49de-841e-1b2f4ed8182d"},{"name":"onscreen_transaction_list","id":"aa0b7dfd-939d-436a-b6a8-a6d632b753bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/transaction/list?user={{user}}&api_key={{apikey}}","description":"<p>This request returns a list of a specified user's most recent transactions, ordered from newest to oldest. Only transactions that involved spending or earning quickpay or loyalty currencies are returned here. This request allows changes to this user's account balances to be seen.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user</code> (integer): passed in using query parameters, the user_id for the desired customer</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>count</code>: the total number of transactions returned with this response</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n<li><code>data</code>: an array of objects that each hold information about previous transactions, ordered newest to oldest<ul>\n<li><code>rating</code>: an object that holds information about the rating of this transaction<ul>\n<li><code>comment</code>: the feedback from the customer regarding this transaction</li>\n<li><code>value</code>: the value of the rating on a scale of 0-100, where 0 is bad, 100 is good, and -1 indicates there was no rating provided for this transaction</li>\n<li><code>window</code>: an integer that indicates the number of hours available to leave a rating, in reference to the time of the order</li>\n</ul>\n</li>\n<li><code>tip</code>: an object that contains information about the tip on this transaction<ul>\n<li><code>amount</code>: the value of the tip given on this transaction</li>\n<li><code>window</code>: an integer that indicates the number of hours available to leave a tip, in reference to the time of the order</li>\n</ul>\n</li>\n<li><code>id</code>: the internal reference number for this specific transaction</li>\n<li><code>date</code>: the date this transaction was completed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>total</code>: usually the same as subtotal, safe to ignore as does not affect the calculation of points</li>\n<li><code>address</code>: the address of the store where this transaction occurred</li>\n<li><code>name</code>: the name of the store where this transaction occurred</li>\n<li><code>quickpay</code>: an object that holds information regarding the changes in quickpay balance for this transaction<ul>\n<li><code>used</code>: indicates the amount of quickpay that was redeemed on this order</li>\n<li><code>loaded</code>: indicates the amount of quickpay that was added on this order</li>\n<li><code>balance</code>: the current balance of this users quickpay, as of this transaction</li>\n</ul>\n</li>\n<li><code>items</code>: an array of objects where each object holds information about an item on this order<ul>\n<li><code>type</code>: an internal reference number that indicates the catalog type of item (eg. discount/product/etc)</li>\n<li><code>name</code>: indicates the item in a way that is user friendly, as assigned by the vendor</li>\n<li><code>quantity</code>: how many of these items were ordered</li>\n<li><code>price</code>: the price of one of these items</li>\n<li><code>id</code>: an internal reference number specific to this item</li>\n<li><code>loyalty</code>: an array of objects that each contain information about a change in the loyalty balance for this transaction<ul>\n<li><code>transaction_detail_id</code>: an internal reference number specific to this change of loyalty balance</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>amount</code>: how many loyalty points were added to or removed from the user's account</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><code>taxes</code>: usually an empty array, can safely be ignored</li>\n<li><code>receipts</code>: holds the receipt information for this transaction<ul>\n<li><code>date</code>: the date this transaction occurred, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>subtotal</code>: indicates the subtotal of the overall order</li>\n<li><code>id</code>: an internal reference number for this order</li>\n<li><code>number</code>: the receipt number as assigned to this transaction by the point of sale</li>\n<li><code>cashier</code>: the cashier that completed this transaction</li>\n<li><code>workstation</code>: the identifier for the workstation used for this transaction, as supplied by the point of sale</li>\n</ul>\n</li>\n<li><code>reward</code>: an array of objects that each contain information regarding the rewards redeemed or earned on this transaction<ul>\n<li><code>expired</code>: indicates if this reward is expired</li>\n<li><code>expiry_date</code>: the date this reward expires, a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>name</code>: indicates the current reward in a way that is more user friendly</li>\n<li><code>id</code>: an internal reference number that indicates the current reward</li>\n<li><code>spent</code>: the number of loyalty points redeemed with this reward</li>\n<li><code>earned</code>: the number of loyalty points earned with this reward</li>\n<li><code>balance</code>: the current loyalty balance after this reward was applied</li>\n<li><code>perks</code>: an array indicating the earning rules that were applied to this transaction</li>\n<li><code>redemptions</code>: an array indicating the spending rules that were applied to this transaction</li>\n</ul>\n</li>\n<li><code>status</code>: indicates the status of the transaction in a way that is user friendly</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 961,\n    \"name\": \"Points\",\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that indicates the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","transaction","list"],"host":["{{endpoint}}"],"query":[{"key":"user","value":"{{user}}"},{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"b541ae11-8f17-42c2-80c6-0c189ed89d44","name":"onscreen_transaction_list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/transaction/list?user={{user}}&api_key={{apikey}}","host":["{{endpoint}}"],"path":["user","transaction","list"],"query":[{"key":"user","value":"{{user}}"},{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 01 Mar 2021 16:26:59 GMT"},{"key":"Server","value":"Apache/2.4.38 (Debian)"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"X-RateLimit-Limit-Second","value":"25"},{"key":"X-RateLimit-Remaining-Second","value":"24"},{"key":"X-RateLimit-Remaining-Minute","value":"999"},{"key":"RateLimit-Limit","value":"25"},{"key":"RateLimit-Remaining","value":"24"},{"key":"X-RateLimit-Limit-Minute","value":"1000"},{"key":"RateLimit-Reset","value":"1"},{"key":"X-Kong-Upstream-Latency","value":"2233"},{"key":"X-Kong-Proxy-Latency","value":"1"},{"key":"Via","value":"kong/2.1.4"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"collection\",\n    \"count\": 248,\n    \"page\": 1,\n    \"page_size\": 10,\n    \"total_pages\": 25,\n    \"next_page_url\": \"http://api-staging.spoonity.com/user/transaction/list?user=582846&api_key=0e5a39f0c70451e900233b689e3445b5&page=2&limit=10\",\n    \"previous_page_url\": null,\n    \"data\": [\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730708,\n            \"date\": 1613057680,\n            \"total\": 0,\n            \"address\": \"10 Rockefeller Plaza\",\n            \"name\": \"Demo Store\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 52.43\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"2 Ladies*\",\n                    \"quantity\": 1,\n                    \"price\": 4.13,\n                    \"id\": 3571773,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 5,\n                    \"name\": \"( M )\",\n                    \"quantity\": 1,\n                    \"price\": 0,\n                    \"id\": 3571774,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 5,\n                    \"name\": \"+Tapioca\",\n                    \"quantity\": 1,\n                    \"price\": 0.69,\n                    \"id\": 3571737,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 5,\n                    \"name\": \"+Aloe Vera\",\n                    \"quantity\": 1,\n                    \"price\": 0.69,\n                    \"id\": 3571840,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 5,\n                    \"name\": \"(Sweeter)\",\n                    \"quantity\": 1,\n                    \"price\": 0,\n                    \"id\": 3571738,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 5,\n                    \"name\": \"(Regular Ice)\",\n                    \"quantity\": 1,\n                    \"price\": 0,\n                    \"id\": 3571775,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 3,\n                    \"name\": \"Spoonity Free Item\",\n                    \"quantity\": 1,\n                    \"price\": -4.13,\n                    \"id\": 3571732,\n                    \"loyalty\": [\n                        {\n                            \"transaction_detail_id\": \"25261550\",\n                            \"currency\": {\n                                \"id\": 4275,\n                                \"name\": \"Free Item\"\n                            },\n                            \"amount\": -1\n                        }\n                    ]\n                },\n                {\n                    \"type\": 1,\n                    \"name\": \"App Tip\",\n                    \"quantity\": 1,\n                    \"price\": 0.5,\n                    \"id\": 3571772,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1613039464,\n                    \"subtotal\": 0,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17087045,\n                    \"number\": \"EK9QAM3XVJBFE\",\n                    \"cashier\": \"Clover\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Free Item\",\n                    \"id\": 4275,\n                    \"spent\": 1,\n                    \"earned\": 0,\n                    \"balance\": -1,\n                    \"perks\": [],\n                    \"redemptions\": [\n                        \"Free Item\"\n                    ]\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730634,\n            \"date\": 1611588247,\n            \"total\": 3.48,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 52.43\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Tea\",\n                    \"quantity\": 1,\n                    \"price\": 1.99,\n                    \"id\": 3571421,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 1,\n                    \"name\": \"Cookie\",\n                    \"quantity\": 1,\n                    \"price\": 1.49,\n                    \"id\": 3570927,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1611606245,\n                    \"subtotal\": 3.48,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086968,\n                    \"number\": \"ORDER-TEST-1611588245\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1611606245,\n                    \"subtotal\": 3.48,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086968,\n                    \"number\": \"ORDER-TEST-1611588245\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 30,\n                    \"balance\": 10778,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": []\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730352,\n            \"date\": 1605537982,\n            \"total\": 2.49,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 52.43\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2.49,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 3,\n                    \"name\": \"Free Coffee\",\n                    \"quantity\": 1,\n                    \"price\": -2.49,\n                    \"id\": 3570892,\n                    \"loyalty\": [\n                        {\n                            \"transaction_detail_id\": \"25260885\",\n                            \"currency\": {\n                                \"id\": 961,\n                                \"name\": \"Points\"\n                            },\n                            \"amount\": -50\n                        }\n                    ]\n                },\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2.49,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1605555980,\n                    \"subtotal\": 2.49,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086609,\n                    \"number\": \"ORDER-TEST-1605537980\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1605555980,\n                    \"subtotal\": 2.49,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086609,\n                    \"number\": \"ORDER-TEST-1605537980\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1605555980,\n                    \"subtotal\": 2.49,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086609,\n                    \"number\": \"ORDER-TEST-1605537980\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 20,\n                    \"balance\": 10748,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Free Item\"\n                    ]\n                },\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 50,\n                    \"earned\": 0,\n                    \"balance\": 10748,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Free Item\"\n                    ]\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730351,\n            \"date\": 1605536104,\n            \"total\": 2.49,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 2.49,\n                \"loaded\": 0,\n                \"balance\": 52.43\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2.49,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1605554118,\n                    \"subtotal\": 2.49,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086608,\n                    \"number\": \"ORDER-TEST-1605536118\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 20,\n                    \"balance\": 10778,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": []\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730349,\n            \"date\": 1605280628,\n            \"total\": 2.49,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 54.92\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Croissant\",\n                    \"quantity\": 1,\n                    \"price\": 2.49,\n                    \"id\": 3570929,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1605298623,\n                    \"subtotal\": 2.49,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086605,\n                    \"number\": \"POS-DEMO-1605280623\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 20,\n                    \"balance\": 10758,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": []\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730261,\n            \"date\": 1604067328,\n            \"total\": 2,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 54.92\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1604079991,\n                    \"subtotal\": 2,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086389,\n                    \"number\": \"TESTING15-1063\",\n                    \"cashier\": \"Tony\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 6,\n                    \"balance\": 10738,\n                    \"perks\": [\n                        \"based on their order subtotal\"\n                    ],\n                    \"redemptions\": []\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20730260,\n            \"date\": 1604067303,\n            \"total\": 2,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 54.92\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Coffee\",\n                    \"quantity\": 1,\n                    \"price\": 2,\n                    \"id\": 3570925,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1604079991,\n                    \"subtotal\": 2,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17086388,\n                    \"number\": \"TESTING14-1063\",\n                    \"cashier\": \"Tony\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 6,\n                    \"balance\": 10732,\n                    \"perks\": [\n                        \"based on their order subtotal\"\n                    ],\n                    \"redemptions\": []\n                }\n            ],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20729612,\n            \"date\": 1597246271,\n            \"total\": 0,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 20,\n                \"balance\": 54.92\n            },\n            \"items\": [],\n            \"taxes\": [],\n            \"receipts\": [],\n            \"rewards\": [],\n            \"status\": \"Complete\"\n        },\n        {\n            \"rating\": {\n                \"comment\": null,\n                \"value\": -1,\n                \"window\": 0\n            },\n            \"tip\": {\n                \"amount\": 0,\n                \"window\": 0\n            },\n            \"object\": \"virtual\\\\transaction\",\n            \"id\": 20729610,\n            \"date\": 1597246235,\n            \"total\": 7.99,\n            \"address\": \"290 Picton Ave\",\n            \"name\": \"Store example\",\n            \"quickpay\": {\n                \"object\": \"virtual\\\\transaction\\\\quickpay\",\n                \"used\": 0,\n                \"loaded\": 0,\n                \"balance\": 34.92\n            },\n            \"items\": [\n                {\n                    \"type\": 1,\n                    \"name\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.99,\n                    \"id\": 3570926,\n                    \"loyalty\": []\n                },\n                {\n                    \"type\": 3,\n                    \"name\": \"Free Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": -7.99,\n                    \"id\": 3568698,\n                    \"loyalty\": [\n                        {\n                            \"transaction_detail_id\": \"25259779\",\n                            \"currency\": {\n                                \"id\": 961,\n                                \"name\": \"Points\"\n                            },\n                            \"amount\": -100\n                        }\n                    ]\n                },\n                {\n                    \"type\": 1,\n                    \"name\": \"Sandwich\",\n                    \"quantity\": 1,\n                    \"price\": 7.99,\n                    \"id\": 3570926,\n                    \"loyalty\": []\n                }\n            ],\n            \"taxes\": [],\n            \"receipts\": [\n                {\n                    \"date\": 1597260636,\n                    \"subtotal\": 7.99,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17085483,\n                    \"number\": \"ORDER-TEST-1597246236\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1597260636,\n                    \"subtotal\": 7.99,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17085483,\n                    \"number\": \"ORDER-TEST-1597246236\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                },\n                {\n                    \"date\": 1597260636,\n                    \"subtotal\": 7.99,\n                    \"name\": \"virtual\\\\transaction\\\\receipt\",\n                    \"id\": 17085483,\n                    \"number\": \"ORDER-TEST-1597246236\",\n                    \"cashier\": \"Spoonity\",\n                    \"workstation\": \"1\"\n                }\n            ],\n            \"rewards\": [\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 0,\n                    \"earned\": 70,\n                    \"balance\": 10726,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Birthday Reward\"\n                    ]\n                },\n                {\n                    \"expired\": 0,\n                    \"expiry_date\": null,\n                    \"name\": \"Points\",\n                    \"id\": 961,\n                    \"spent\": 100,\n                    \"earned\": 0,\n                    \"balance\": 10726,\n                    \"perks\": [\n                        \"Sandwich Points\"\n                    ],\n                    \"redemptions\": [\n                        \"Birthday Reward\"\n                    ]\n                }\n            ],\n            \"status\": \"Complete\"\n        }\n    ]\n}"}],"_postman_id":"aa0b7dfd-939d-436a-b6a8-a6d632b753bc"}],"id":"d3b682b7-ca9e-474a-9aae-ac4fd22cba73","_postman_id":"d3b682b7-ca9e-474a-9aae-ac4fd22cba73","description":""},{"name":"billing profile","item":[{"name":"user_billingProfile_list","id":"7b5e4845-ea3e-44c2-8182-23a136e646a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/user/billing-profile/list?session_key={{user_session_key}}","description":"<p>This request returns information about the user's billing profiles. User billing profiles link to a user's credit card through a token facilitated by a payment gateway. Information specific to the card is never stored in our systems, only details about this link.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>count</code>: indicates the number of billing profiles the user has linked to their account</li>\n<li><code>data</code>: an array of billing profiles, where each hold information necessary to complete payments<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>is_default</code>: a boolean, true if this billing profile has been set to be the default profile</li>\n<li><code>name</code>: user specific card reference, as it was entered in the description when the card was added</li>\n<li><code>postal_code</code>: the postal or zip code that is associated with the card's billing address</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"d0905a71-84c2-40e7-9be7-3848f470e570","name":"user_billingProfile_list","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":{"raw":"{{endpoint}}/user/billing-profile/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:32:09 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"519"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": \"4242 xxxx xxxx 4242\",\n            \"created\": 1559737156,\n            \"expiry\": 1561852800,\n            \"id\": \"69206\",\n            \"is_default\": true,\n            \"name\": \"Visa TEST PP\",\n            \"object\": \"user_billingprofile\",\n            \"postal_code\": \"k1n1k2\",\n            \"type\": \"Visa\"\n        }\n    ],\n    \"next_page_url\": null,\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 10,\n    \"previous_page_url\": null,\n    \"total_pages\": 1\n}"}],"_postman_id":"7b5e4845-ea3e-44c2-8182-23a136e646a4"},{"name":"user_billingProfile_add","id":"15ae385d-d161-487d-8d2e-098538f1cc41","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Test Card\",\n    \"number\": \"4242424242424242\",\n    \"expiry_month\": \"06\",\n    \"expiry_year\": \"2019\",\n    \"cvv\": \"123\",\n    \"description\": \"Visa TEST PP\",\n    \"zip_code\": \"k1n1k2\"\n}"},"url":"{{endpoint}}/user/billing-profile/add?session_key={{user_session_key}}","description":"<p>This request is responsible for creating a new billing profile on a user's account and adding a credit card to this profile. The user must have an active login session and supply a card number, card name, expiry date and security code for the card.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>name</code> (string): the name of the cardholder</li>\n<li><code>number</code> (string): the card number</li>\n<li><code>expiry_month</code> (string): the month this card expires (mm)</li>\n<li><code>expiry_year</code> (string): the year this card expires (yyyy)</li>\n<li><code>cvv</code> (string): the security code found on the back of this card</li>\n<li><code>description</code> (string): a description attached to this card for the user's reference, helps distinguish this card from others </li>\n<li><code>zip_code</code> (string): the postal or zip code associated with the billing address for this card</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>name</code>: user specific card reference, as it was entered in the description when the card was added</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","add"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"e290a5e2-a9ec-498e-b1b8-b4a8fc2b401d","name":"user_billingProfile_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Test Card\",\n\t\"number\": \"4242424242424242\",\n\t\"expiry_month\": \"06\",\n\t\"expiry_year\": \"2019\",\n\t\"cvv\": \"123\",\n\t\"description\": \"Visa TEST PP\",\n\t\"zip_code\":\"k1n1k2\"\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:19:15 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"194"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"card\": \"4242 xxxx xxxx 4242\",\n    \"created\": 1559737156,\n    \"expiry\": 1561852800,\n    \"id\": \"69206\",\n    \"name\": \"Visa TEST PP\",\n    \"object\": \"user_billingprofile\",\n    \"type\": \"Visa\"\n}"}],"_postman_id":"15ae385d-d161-487d-8d2e-098538f1cc41"},{"name":"user_billingProfile_mark_default","id":"569f730e-4b83-4473-8b6f-f51bae7a1c40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_billingProfile_id\": 69206\n}"},"url":"{{endpoint}}/user/billing-profile/default?session_key={{user_session_key}}","description":"<p>This request marks a specific billing profile as the default billing profile to be used. This means that the card linked to this profile will be automatically charged as the payment method on an order, unless specified otherwise. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingProfile_id</code> (integer): the internal reference number that refers to the billing profile that is to be marked as default</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response is always empty, however a status code of 200 OK indicates this action was successful.</p>\n","urlObject":{"path":["user","billing-profile","default"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"c9cfa23a-d430-4226-b9dc-26dd199a073e","name":"user_billingProfile_mark_default","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_billingProfile_id\": 69206\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/default?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","default"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:20:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"569f730e-4b83-4473-8b6f-f51bae7a1c40"},{"name":"user_billing_profile_delete","id":"404ecfc4-38a4-4245-b4b2-456f9ae0f493","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206\n}"},"url":"{{endpoint}}/user/billing-profile?session_key={{user_session_key}}","description":"<p>This request deletes a billing profile from a user's account. A billing profile cannot be edited, so this request may also be used as a step of \"editing\" such a profile. The profile is deleted, then the user_billingProfile_add can be used to re-add this card with the new information.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingprofile</code> (integer): the internal reference number that refers to the billing profile that is to be deleted</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response in always empty, however a status code of 200 OK indicates successful deletion.</p>\n","urlObject":{"path":["user","billing-profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"7d4bb803-cbce-486a-b171-f7ad39039f07","name":"user_billing_profile_delete","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 15:57:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"404ecfc4-38a4-4245-b4b2-456f9ae0f493"},{"name":"user_reload_settings_read","id":"9f33e312-4c58-40bf-9442-edb12f89cc48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","description":"<p>This request returns the current settings for the user's automatic reload configuration. This information can also be found using the user_profile_read request in the \"Profile\" workflow, however that request returns more information than may be desired, and takes slightly longer to do so. If the billing profile is \"null\", automatic reload is turned of, regardless of the values for the reload amount and threshold. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>anonymous</code>: a boolean, always set to false</li>\n<li><code>billing_profile</code>: the internal reference number for the billing profile set up for automatic reload, \"null\" means auto-reload is off</li>\n<li><code>created</code>: the date this user was linked to this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number for this link between the user and the vendor the user is logged into</li>\n<li><code>reload_amount</code>: how much the user would like to add to their account during an automatic reload, must be greater than 0</li>\n<li><code>reload_threshold</code>: the point at which the user would like their account to automatically reload</li>\n<li><code>updated</code>: the last date this user/vendor link was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n","urlObject":{"path":["user","reload","settings"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"d8e124d9-324e-4812-abf0-01dfd9c93a1a","name":"user_reload_settings_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reload","settings"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 Jun 2019 13:39:03 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"545"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"anonymous\": false,\n    \"billing_profile\": {\n        \"card\": \"4242 xxxx xxxx 4242\",\n        \"created\": 1559850677,\n        \"expiry\": 1561852800,\n        \"id\": \"69212\",\n        \"name\": \"Visa Test PP\",\n        \"object\": \"user_billingprofile\",\n        \"status\": {},\n        \"type\": \"Visa\",\n        \"updated\": 1559850682\n    },\n    \"created\": 1559131926,\n    \"id\": \"2974107\",\n    \"object\": \"user_vendor\",\n    \"reload_amount\": 1,\n    \"reload_threshold\": 0,\n    \"role\": {},\n    \"status\": {},\n    \"updated\": 1559914525,\n    \"user\": {},\n    \"vendor\": {}\n}"}],"_postman_id":"9f33e312-4c58-40bf-9442-edb12f89cc48"},{"name":"user_reload_settings_update","id":"8173d4c0-1bcd-49f0-a478-97c2895a2e0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10\",\n  \"threshold\": \"5\",\n  \"user_billingprofile\": 69235\n}"},"url":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","description":"<p>This request updates the user's automatic reload settings, by enabling.disabling the reload feature or by updating the amount and/or threshold values. To turn auto-reload on, the user must supply the id of a valid billing profile, specifiy the amount to reload each time, and indicate the point they would like the account to reload. When \"on\", if the user's quickpay balance goes below the indicated threshold, auto-reload removes the specified amount from the billing profile and adds it to the user's quickpay balance. To turn auto-reload off, the user-billingprofile must be set to null.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>amount</code>: how much the user would like to add to their account during an automatic reload, must be greater than 0</li>\n<li><code>threshold</code>: the point at which the user's would like their account to automatically reload</li>\n<li><code>user_billingprofile</code>: the user's billing profile to be used with automatic reload, \"null\" turns auto-reload off</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><p><code>billing_profile</code>: an object that contains information about the billing profile selecte for automatic reload</p>\n<ul>\n<li><code>card</code>: returns the first and last 4 digits of the credit card number linked to this profile</li>\n<li><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies this billing profile</li>\n<li><code>type</code>: indicates the type of card in a way that is user friendly</li>\n</ul>\n</li>\n<li><p><code>created</code>: indicates the date auto-reload was turned on, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>id</code>: an internal reference number for the auto-reload activation</p>\n</li>\n<li><p><code>reload_amount</code>: the amount that is to be charged to this billing profile on each automatic reload</p>\n</li>\n<li><p><code>reload_threshold</code>: the point at which the user has specified to trigger automatic reload</p>\n</li>\n</ul>\n","urlObject":{"path":["user","reload","settings"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"e75a32e6-2293-41e2-b96f-63bf210db125","name":"user_reload_settings_update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10\",\n  \"threshold\": \"5\",\n  \"user_billingprofile\": 69235\n}"},"url":{"raw":"{{endpoint}}/user/reload/settings?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reload","settings"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 12 Jul 2019 19:07:37 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"378"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"billing_profile\": {\n        \"card\": \"4242 xxxx xxxx 4242\",\n        \"created\": 1562871344,\n        \"expiry\": 1564531200,\n        \"id\": \"69235\",\n        \"name\": \"nickname\",\n        \"object\": \"user_billingprofile\",\n        \"type\": \"Visa\"\n    },\n    \"created\": 1559131926,\n    \"id\": \"2974107\",\n    \"object\": \"user_vendor\",\n    \"reload_amount\": 10,\n    \"reload_threshold\": 5\n}"}],"_postman_id":"8173d4c0-1bcd-49f0-a478-97c2895a2e0e"},{"name":"user_reload_charge","id":"9c5d23fb-e4b4-4167-84f3-7cb9dc0b8056","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206,\n  \"amount\": 15\n}"},"url":"{{endpoint}}/user/billing-profile/reload?session_key={{user_session_key}}","description":"<p>This request is called when a user attempts to reload their account. Once a billing profile and amount are supplied, this amount is charged to the billing profile and is loaded onto the user's account in the form of quickpay currency. Sometimes, the 3rd party service \"3D Secure\" will require that the user authorize their card with them. This service is designed to be an extra layer of security which protects both vendors and users from fraud. The user will be redirected to the url that is returned in the response for this request, where they must authenticate their card with the 3rd party. When this occurs, the <code>transaction_status</code> will have a status of pending, until the user satisfies the 3D secure authorization. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_billingprofile</code>(integer): the internal reference number that refers to the billing profile that is being used to reload the user's account</li>\n<li><code>amount</code> (float): the amount that is to be charged to this billing profile and loaded onto the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>redirect_url</code>: the url that redirects to the 3rd party authentication page, only necessary when authentication of the card is required</li>\n<li><code>transaction</code>: an object that holds information about the reload transaction that just occurred<ul>\n<li><code>id</code>: an internal reference number that is unique to each transaction</li>\n</ul>\n</li>\n<li><code>amount</code>: the amount that was charged from this billing profile and loaded to this account</li>\n<li><code>transaction_type</code>: an object that holds information about the type of transaction that just occured<ul>\n<li><code>id</code>: an internal reference number that indicates the type of transaction that occured</li>\n<li><code>name</code>: indicates the type of transaction in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>transaction_status</code>: an object that holds information about the transaction's current status<ul>\n<li><code>id</code>: an internal reference number for the current status of the transaction</li>\n<li><code>name</code>: indicates the transaction status in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>date</code>: the date this transaction occurred, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n","urlObject":{"path":["user","billing-profile","reload"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"b3628fa2-aae8-4c84-b109-a582555979dc","name":"user_reload_charge","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"user_billingprofile\": 69206,\n  \"amount\": 15\n}"},"url":{"raw":"{{endpoint}}/user/billing-profile/reload?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","billing-profile","reload"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:21:16 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"424"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"transaction_detail\",\n    \"redirect_url\": null,\n    \"transaction\": {\n        \"object\": \"transaction\",\n        \"id\": \"20721058\"\n    },\n    \"amount\": 15,\n    \"transaction_type\": {\n        \"object\": \"transactiontype\",\n        \"id\": 1,\n        \"name\": \"Purchase\"\n    },\n    \"transaction_status\": {\n        \"object\": \"transactionstatus\",\n        \"id\": 4,\n        \"name\": \"Complete\"\n    },\n    \"date\": 1559737276\n}"}],"_postman_id":"9c5d23fb-e4b4-4167-84f3-7cb9dc0b8056"},{"name":"user_reload_charge_status","id":"ca5a4e4c-f710-42dd-94e0-dede55697c5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/billing-profile/reload/status?session_key={{user_session_key}}&transaction={{transaction}}","description":"<p>This request determines if a user has successfully authenticated their card with the 3rd party service \"3D Secure\". The current login session and the reference number for the transaction being accessed are supplied, and the status of authentication is returned.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>transaction</code>(string): passed in using query parameters, the internal reference number for the transaction for which the status is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>status</code> (see Appendix): indicates the status of authentication with 3D Secure</li>\n</ul>\n<h4 id=\"appendix\">Appendix</h4>\n<h6 id=\"status\">status</h6>\n<p>The possible values for <code>status</code> and what they mean:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> - canceled: the user cancelled the authorization, or the authorization request timed-out and was cancelled by 3D Secure\n - consumed: the authorization was successful and the reload charge went through to the user's account\n - failed: the user entered wrong information and the authorization failed\n - pending: the system is waiting for the user to attempt authenticating their account\n\n</code></pre>","urlObject":{"path":["user","billing-profile","reload","status"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"transaction","value":"{{transaction}}"}],"variable":[]}},"response":[{"id":"9b5223fc-658c-4d48-a0ae-fd240677e2de","name":"user_reload_charge_status","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/billing-profile/reload/status?session_key={{user_session_key}}&transaction={{transaction}}","host":["{{endpoint}}"],"path":["user","billing-profile","reload","status"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"transaction","value":"{{transaction}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:23:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"15"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": null\n}"}],"_postman_id":"ca5a4e4c-f710-42dd-94e0-dede55697c5f"}],"id":"f94b5764-d174-45b4-930b-113830b6aa3b","event":[{"listen":"prerequest","script":{"id":"dcc60f32-3b8b-4396-9e66-3bd988ac3e2f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e85240c4-0ba2-46c9-ae53-933f9db68a11","type":"text/javascript","exec":[""]}}],"_postman_id":"f94b5764-d174-45b4-930b-113830b6aa3b","description":""},{"name":"cards (-3rdparty)","item":[{"name":"/user/card(-3rdparty)/list","id":"ad5f17eb-7961-4313-bc36-19dd1570c5e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/card(-3rdparty)/list?session_key={{user_session_key}}","description":"<p>This request returns a list of all cards a user has linked to their account. The internal reference numbers for each card can be found here, which allows a specific card to be accessed at a later time.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>count</code>: the total number of cards a user has linked to their account</li>\n<li><code>data</code>: an array of objects that hold the card information<ul>\n<li><code>card</code>: an object that contains information specific to the card<ul>\n<li><code>created</code>: the date this card was added to the system, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>number</code>: the number found on the actual card itself</li>\n<li><code>pin</code>: the personal identification number linked to this card</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>type</code>: an internal reference number that indicates the type of the current card</li>\n<li><code>updated</code>: the last date this card was updated in the system, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>created</code>: the date this card was added to the profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that identifies the card</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>updated</code>: the last date this card was updated with this profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an object that contains information about the user, usually empty</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","card(-3rdparty)","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"3035b169-cbd0-40f6-ab7f-455434e36e78","name":"/user/card/list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/card/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:55:21 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"983"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": {\n                \"created\": 1559520000,\n                \"number\": \"9999016134385493\",\n                \"pin\": \"123\",\n                \"status\": {\n                    \"id\": 1,\n                    \"name\": \"Active\",\n                    \"object\": \"status\"\n                },\n                \"type\": {},\n                \"updated\": 1559520000\n            },\n            \"created\": 1559584453,\n            \"id\": \"1817015\",\n            \"object\": \"user_card\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\",\n                \"object\": \"status\"\n            },\n            \"updated\": 1559584453,\n            \"user\": {}\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/card/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=2&limit=0\",\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 0,\n    \"previous_page_url\": null,\n    \"total_pages\": 0\n}"},{"id":"8052d239-8320-4466-864b-a9cc42b31ac6","name":"/user/card-3rdparty/list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/card-3rdparty/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:35:27 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"917"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"count\": 1,\n    \"data\": [\n        {\n            \"card\": {\n                \"created\": 1559606400,\n                \"number\": \"9999036134385493\",\n                \"status\": {\n                    \"id\": 1,\n                    \"name\": \"Active\",\n                    \"object\": \"status\"\n                },\n                \"updated\": 1559606400\n            },\n            \"created\": 1559662452,\n            \"id\": \"502666\",\n            \"object\": \"user_card3rdparty\",\n            \"status\": {\n                \"id\": 1,\n                \"name\": \"Active\",\n                \"object\": \"status\"\n            },\n            \"updated\": 1559662452\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/card-3rdparty/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=2&limit=0\",\n    \"object\": \"collection\",\n    \"page\": 1,\n    \"page_size\": 0,\n    \"previous_page_url\": null,\n    \"total_pages\": 0\n}"}],"_postman_id":"ad5f17eb-7961-4313-bc36-19dd1570c5e5"},{"name":"user_card(-3rdparty)_add","id":"dd7537d3-100b-4450-8525-d0cf1a8f48ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999036134385493,\n\t\"pin\": \" \"\n}"},"url":"{{endpoint}}/user/card-3rdparty/add?session_key={{user_session_key}}","description":"<p>This request adds a new card to a user's account. Once added, a \"user_card\" object is created that links this card with this user. Referencing this object gives us access to both the card and the user, which is important for future requests.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user</code> (integer): the internal reference number specific to the user logged into this session</li>\n<li><code>number</code> (integer): the card number of the card being added</li>\n<li><code>pin</code> (string): the pin associated with this card, required for all <code>/card</code> paths, optional for all <code>/card3rdparty</code> paths</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>card</code>: an object that holds information about the card added<ul>\n<li><code>id</code>: an internal reference number specific to the card added</li>\n<li><code>number</code>: the card number on the card</li>\n</ul>\n</li>\n<li><code>created</code>: the date this card was added to the account, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that links the card and user, is used to reference this card later</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the card</li>\n<li><code>updated</code>: the last date this card was updated with this profile, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an object that contains information about the user this card is being added to<ul>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>id</code>: the internal reference number specific to this user</li>\n<li><code>last_name</code>: the user's last name</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","card-3rdparty","add"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"1cd117f4-4432-40f3-850f-71760292937b","name":"user_card-3rdparty_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999036134385493,\n\t\"pin\": \"\"\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:34:12 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"602523c6-6b47-49eb-93f8-be836c3470bc","name":"user_card_add","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user\": 1000454652210,\n\t\"number\": 9999016134385493,\n\t\"pin\": 123\n}"},"url":{"raw":"{{endpoint}}/user/card/add?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","add"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:44:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"415"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"card\": {\n        \"id\": 2871073,\n        \"number\": \"9999016134385493\",\n        \"object\": \"card\"\n    },\n    \"created\": 1559583861,\n    \"id\": \"1817014\",\n    \"object\": \"user_card\",\n    \"status\": {},\n    \"updated\": 1559583861,\n    \"user\": {\n        \"email_address\": \"grace@spoonity.com\",\n        \"first_name\": \"Grace\",\n        \"id\": \"1000454652210\",\n        \"last_name\": \"Duncan\",\n        \"object\": \"user\"\n    }\n}"}],"_postman_id":"dd7537d3-100b-4450-8525-d0cf1a8f48ce"},{"name":"user_card(-3rdparty)_lost","id":"78d6850f-f28f-4b3a-8c2f-6f2ce9b3d959","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":"{{endpoint}}/user/card-3rdparty/lost?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request updates a given card as lost by changing its status to \"inactive\". </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the lost card as it is linked with the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully updated as lost.</p>\n","urlObject":{"path":["user","card-3rdparty","lost"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"46f8558a-5b38-40d8-b1a7-caa5703adece","name":"user_card_lost","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\n\t\"user_card\": 1817014\n}"},"url":{"raw":"{{endpoint}}/user/card/lost?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","lost"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:47:02 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"6d4a966f-d9a4-4e2f-8331-a7e6fc9bf852","name":"user_card-3rdparty_lost","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/lost?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","lost"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:36:58 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"78d6850f-f28f-4b3a-8c2f-6f2ce9b3d959"},{"name":"user_card(-3rdparty)_found","id":"406bdce6-538a-4ca7-a701-be3405875a83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":"{{endpoint}}/user/card(-3rdparty)/found?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request updates a given card as found by changing its status to \"active\".</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the found card as it is linked with the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully updated as found.</p>\n","urlObject":{"path":["user","card(-3rdparty)","found"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"040aba17-18e1-473c-9076-f68fc0ac7cec","name":"user_card-3rdparty_found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty/found?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty","found"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:38:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"a523ff43-0bd2-463f-9ec3-a438f2ba21c4","name":"user_card_found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n}"},"url":{"raw":"{{endpoint}}/user/card/found?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card","found"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:47:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"406bdce6-538a-4ca7-a701-be3405875a83"},{"name":"user/card(-3rdparty)","id":"97b76f3a-4115-4556-b265-d5391e67d240","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817015\n}"},"url":"{{endpoint}}/user/card(-3rdparty)?session_key={{user_session_key}}","description":"<p>Referencing the link between a user and a specific card, this request deletes a given card from a user's account.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>user_card(3rdparty)</code> (integer): the internal reference number that refers to the card being removed from the user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates the card was successfully deleted.</p>\n","urlObject":{"path":["user","card(-3rdparty)"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"239de9ec-a9fc-444b-a04d-528c28611936","name":"user/card","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"user_card\": 1817014\n\t\n}"},"url":{"raw":"{{endpoint}}/user/card?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 17:53:52 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"23eeb970-bbfb-45e1-b9b3-6ae820bcdfa4","name":"user/card-3rdparty","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"user_card3rdparty\": 502666\n}"},"url":{"raw":"{{endpoint}}/user/card-3rdparty?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","card-3rdparty"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 04 Jun 2019 15:40:55 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"97b76f3a-4115-4556-b265-d5391e67d240"}],"id":"1b43105d-fb76-48dc-823d-c2d608ffc456","event":[{"listen":"prerequest","script":{"id":"b69bf13a-0382-4202-b84a-ce4e2ff88b5b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a396def4-6ae8-47d6-8ac3-cf3ddeb2e3ae","type":"text/javascript","exec":[""]}}],"_postman_id":"1b43105d-fb76-48dc-823d-c2d608ffc456","description":""},{"name":"rewards/balances","item":[{"name":"user_quickpay_balance","id":"946cc86b-46d3-4cd4-abff-6e5335a4421f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/quick-pay/balance?session_key={{user_session_key}}","description":"<p>This request is used to check the user's quick pay balance on their account. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>amount</code>: the quantity of quickpay balance the user has on their account</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"code\": \"CAD\"\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    }\n</code></pre>\n<ul>\n<li><code>code</code>: the ISO 4217 code associated with this type of currency, a null value indicates a loyalty currency</li>\n<li><code>id</code>: the internal reference number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","quick-pay","balance"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"af23e626-4beb-4a0d-bee6-b28b487e715b","name":"user_quickpay_balance","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/quick-pay/balance?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","quick-pay","balance"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:40:33 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"184"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"amount\": 0,\n    \"currency\": {\n        \"code\": \"CAD\",\n        \"id\": 191,\n        \"name\": \"Canadian Dollar\",\n        \"object\": \"currency\"\n    },\n    \"object\": \"Virtual\\\\Balance\"\n}"}],"_postman_id":"946cc86b-46d3-4cd4-abff-6e5335a4421f"},{"name":"user_currency_balance","id":"fe679052-b367-4c07-9d2c-f7407fe059d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/currency/balance?session_key={{user_session_key}}","description":"<p>This request is used to check all balances on a user's account, both quickpay and loyalty balances are returned. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>An array of two objects where one is quick pay and one is points. Each contains:</p>\n<ul>\n<li><code>currency</code>: an object that contains information about what currency is being used<ul>\n<li><code>currency_id</code>: an internal reference number that indicates what currency is in use</li>\n<li><code>name</code>: indicates the currency in a way that is more user friendly</li>\n<li><code>currencyType</code>: an object that holds information about the type of currency being used<ul>\n<li><code>currencyType_id</code>: an internal reference number that indicates the type of currency being used</li>\n<li><code>name</code>: indicates the type of currency being used in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of this currency</li>\n<li><code>balance</code>: indicates the amount of this currency that is on this account</li>\n<li><code>expiring</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","currency","balance"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"49eb1780-4ce9-4982-a9ec-a6e46d3d03bc","name":"user_currency_balance","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/currency/balance?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","currency","balance"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:40:49 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"352"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"currency\": {\n            \"currency_id\": 191,\n            \"name\": \"Canadian Dollar\",\n            \"currencyType\": {\n                \"currencyType_id\": 1,\n                \"name\": \"Quick Pay\"\n            },\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"balance\": 0,\n        \"expiring\": []\n    },\n    {\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\",\n            \"currencyType\": {\n                \"currencyType_id\": 2,\n                \"name\": \"Loyalty\"\n            },\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"balance\": 0,\n        \"expiring\": []\n    }\n]"}],"_postman_id":"fe679052-b367-4c07-9d2c-f7407fe059d5"},{"name":"virtual_user_rewards","id":"bc76a795-567d-4d31-859a-13026c0089e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/reward/list?session_key={{user_session_key}}","description":"<p>This request returns a list of rewards this user is eligible for with this vendor, as well as information about the user's tier. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>balances</code>: an array of objects that hold information about the balances of each currency on this user's account<ul>\n<li><code>id</code>: an internal reference number that indicates which currency is being referenced</li>\n<li><code>name</code>: indicates the currency being referenced in a way that is more user friendly</li>\n<li><code>balance</code>: shows the balance of this currency on this user's account</li>\n</ul>\n</li>\n<li><code>count</code>: indicates the number of rewards this user has available</li>\n<li><code>data</code>: an array of objects that hold information about each vendor reward this user has available<ul>\n<li><code>catalog</code>: an object that contains information about how this reward is invoked<ul>\n<li><code>id</code>: an internal reference number that refers to the line_item (see order_process (loyalty) in \"Placing an order\") that invokes this redemption rule</li>\n<li><code>name</code>: indicates the line_item that invokes this redemption rule in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>summary</code>: a brief overview of what the reward is and what points will be removed</li>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>type</code>: an object that holds information about the type of reward being offered<ul>\n<li><code>id</code>: an internal reference number that indicates the type of reward being offered</li>\n<li><code>name</code>: indicates the type of reward being offered in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>id</code>: an internal reference number unique to each reward</li>\n<li><code>currency</code> (see Appendix): an object that contains information about the type of currency being used</li>\n<li><code>name</code>: indicates the reward in a way that is more user friendly</li>\n<li><code>description</code>: a description of what the reward entails</li>\n<li><code>cost</code>: the amounot of points this reward requires to be redeemed</li>\n<li><code>available</code>: how many of these rewards the user is able to redeem with their current loyalty balance</li>\n<li><code>progress</code>: the number of points the user has towards qualifying for a reward of this type</li>\n<li><code>expiring</code> (see Appendix): an object that holds information about when this reward will expire</li>\n</ul>\n</li>\n<li><code>next_page_url</code>, <code>previous_page_url</code>: direct urls linking the user to the next and previous pages of results</li>\n<li><code>page</code>, <code>page_size</code>, <code>total_pages</code>: integers denoting the page number, page size, and the total number of pages</li>\n<li><code>tier</code>: an object that holds information about the prestige level of the user<ul>\n<li><code>count</code>: total number of tiers this vendor has</li>\n<li><code>current</code>: an object that holds information about the user's current tier<ul>\n<li><code>description</code>: a description of the current tier</li>\n<li><code>id</code>: an internal reference number that indicates the user's current tier</li>\n<li><code>summary</code>: a summary of the rewards offered at the current tier</li>\n<li><code>name</code>: indicates the name of the current tier in a way that is more user friendly</li>\n<li><code>since</code>: the date this tier was achieved, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>next</code>: an object that contains information about the next tier level to be attained<ul>\n<li><code>id</code>: an internal reference number for the next tier</li>\n<li><code>name</code>: indicates the name of the next tier in a way that is more user friendly</li>\n<li><code>progress</code>: the number of criteria the user currently has towards reaching the next tier</li>\n<li><code>amount</code>: the number of criteria required to achieve this tier</li>\n<li><code>summary</code>: a summary of the perks offered at the next tier</li>\n<li><code>description</code>: a description of the next tier</li>\n</ul>\n</li>\n<li><code>all</code>: an object that contains information about all possible tiers with this vendor<ul>\n<li><code>vendor_tier_changed</code>: the last date the user's tier changed, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 </li>\n<li><code>tier_immunity_days</code>: a configuration value from the vendor, indicates how long a user has on this tier before being downgraded</li>\n<li><code>days_remaining</code>: the time left between now and when the user will be downgraded</li>\n<li><code>data</code>: an array of objects that each hold information about one tier, one object for each tier holds the same information found in <code>next</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n<h4 id=\"appendix-1\">Appendix:</h4>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\",\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n<h6 id=\"expiring\">expiring</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"data\": []\n    }\n</code></pre>\n<ul>\n<li><code>data</code>: an array of objects that give information about the date of expiry of this loyalty balance (as a Unix timestamp in seconds from 1970-01-01 00:00:00), and the quantity of the balance that expires on this date</li>\n</ul>\n","urlObject":{"path":["user","reward","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"08c6f79d-82d2-4ae4-a3cc-06f0bd74af12","name":"virtual_user_rewards","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/reward/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","reward","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 03 Jun 2019 13:41:01 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"4100"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"balances\": [\n        {\n            \"id\": 961,\n            \"name\": \"Points\",\n            \"balance\": 0\n        }\n    ],\n    \"count\": 3,\n    \"data\": [\n        {\n            \"catalog\": {\n                \"id\": \"discount_free_coffee\",\n                \"name\": \"Free Coffee\"\n            },\n            \"group\": null,\n            \"summary\": \"Spend 50 points to get a free sandwich\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 1,\n                \"name\": \"Regular\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 642,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Free Item\",\n            \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n            \"cost\": 50,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        },\n        {\n            \"catalog\": {\n                \"id\": \"discount_free_sandwich\",\n                \"name\": \"Free Sandwich\"\n            },\n            \"group\": null,\n            \"summary\": \"Free birthday reward\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 1,\n                \"name\": \"Regular\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 756,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Birthday Reward\",\n            \"description\": null,\n            \"cost\": 100,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        },\n        {\n            \"catalog\": {\n                \"id\": \"loyalty_pay\",\n                \"name\": \"Loyalty Pay\"\n            },\n            \"group\": null,\n            \"summary\": \"Pay with your points!\",\n            \"template\": {\n                \"id\": 2,\n                \"name\": \"POINT\",\n                \"object\": \"vendor_perk_displaytemplate\"\n            },\n            \"type\": {\n                \"id\": 2,\n                \"name\": \"Loyalty Pay\",\n                \"object\": \"perkRedemptionType\"\n            },\n            \"id\": 911,\n            \"currency\": {\n                \"object\": \"currency\",\n                \"id\": 961,\n                \"name\": \"Points\"\n            },\n            \"name\": \"Loyalty Pay\",\n            \"description\": \"\",\n            \"cost\": 1,\n            \"available\": 0,\n            \"progress\": 0,\n            \"expiring\": {\n                \"data\": []\n            }\n        }\n    ],\n    \"next_page_url\": \"https://master-v2-api.staging.spoonity.com/user/reward/list?session_key=b63d345b0323a1efbe324b9373366ca2&page=1\",\n    \"object\": \"collection\",\n    \"page\": null,\n    \"page_size\": null,\n    \"previous_page_url\": null,\n    \"total_pages\": 0,\n    \"tier\": {\n        \"object\": \"tier\",\n        \"count\": 1,\n        \"current\": {\n            \"description\": \"\",\n            \"id\": 12,\n            \"summary\": \"\",\n            \"object\": \"current_tier\",\n            \"name\": \"Default\",\n            \"since\": 1559131926\n        },\n        \"next\": {\n            \"id\": \"\",\n            \"object\": \"next_tier\",\n            \"name\": \"\",\n            \"progress\": 0,\n            \"amount\": 0,\n            \"summary\": \"\",\n            \"description\": \"\"\n        },\n        \"all\": {\n            \"vendor_tier_changed\": 1559131926,\n            \"tier_immunity_days\": 0,\n            \"days_remaining\": -5,\n            \"data\": [\n                {\n                    \"id\": 12,\n                    \"name\": \"Default\",\n                    \"progress\": null,\n                    \"amount\": null,\n                    \"summary\": \"\",\n                    \"description\": \"\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"bc76a795-567d-4d31-859a-13026c0089e0"},{"name":"vendor_perk_redemption_list","id":"d2982da0-c601-4e24-bb61-ccbee45a5af6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/vendor/perk/redemption/list?api_key={{apikey}}","description":"<p>This request is not necessary to the workflow as it only gives information about the vendor and their perks, but can be loosely included in the \"checking in\" step. All the active perks at this vendor are listed, regardless of if the user qualifies or not. </p>\n<h4 id=\"request\">Request:</h4>\n<p>The only information required for this request is the <code>api_key</code> given in the query parameters.</p>\n<h4 id=\"response\">Response:</h4>\n<p>The response appears as an array of objects where each object contains information about an individual perk. Each object contains:</p>\n<ul>\n<li><code>vendor_perk_redemption_id</code>: an internal reference number that is unique to each perk</li>\n<li><code>vendor</code>: an object that holds information about the current vendor, this object contains:<ul>\n<li><code>vendor_id</code>: an internal reference number that is unique to each vendor</li>\n<li><code>name</code>: indicates the current vendor in a way that is more user friendly</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of this vendor</li>\n</ul>\n</li>\n<li><code>type</code>: an object that contains information about the type of perk that is being offered, this object contains:<ul>\n<li><code>perkRedemptionType_id</code>: an internal reference number that is unique to each type of perk</li>\n<li><code>name</code>: indicates the type of perk in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>currency</code> (see Appendix):  an object that contains information about the type of currency being used</li>\n<li><code>template</code> (see Appendix): the style type for how the perk should be displayed</li>\n<li><code>name</code>: indicates the name of the perk in a way that is more user friendly</li>\n<li><code>summary</code>: a brief overview of what the perk is and what points will be removed</li>\n<li><code>description</code>: a description of what the perk entails</li>\n<li><code>cost</code>: how many points this perk costs to redeem</li>\n<li><code>start_date</code>: the date this perk begins, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>end_date</code>: the date this perk ends, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_created</code>: the date this perk was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the last date this perk was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of this list</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n  }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n<h6 id=\"template\">template</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 2,\n    \"name\": \"POINT\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each template</li>\n<li><code>name</code>: indicates the template style in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","perk","redemption","list"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"2e4eda68-f4cb-454f-927d-b0bcf3602969","name":"vendor_perk_redemption_list","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/vendor/perk/redemption/list?api_key={{apikey}}","host":["{{endpoint}}"],"path":["vendor","perk","redemption","list"],"query":[{"key":"","value":"","disabled":true},{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 08 May 2019 15:34:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"1024"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"vendor_perk_redemption_id\": 642,\n        \"vendor\": {\n            \"vendor_id\": 1,\n            \"name\": \"Spoonity\",\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"type\": {\n            \"perkRedemptionType_id\": 1,\n            \"name\": \"Regular\"\n        },\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\"\n        },\n        \"template\": {\n            \"id\": 2,\n            \"name\": \"POINT\"\n        },\n        \"name\": \"Free Item\",\n        \"summary\": \"Spend 50 points to get a free sandwich\",\n        \"description\": \"Includes Small, Regular, and Large sandwiches.\",\n        \"cost\": \"50.00\",\n        \"start_date\": 1499990400,\n        \"end_date\": 2114294400,\n        \"date_created\": 1499990400,\n        \"date_updated\": 1508345395,\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    {\n        \"vendor_perk_redemption_id\": 756,\n        \"vendor\": {\n            \"vendor_id\": 1,\n            \"name\": \"Spoonity\",\n            \"status\": {\n                \"status_id\": 1,\n                \"name\": \"Active\"\n            }\n        },\n        \"type\": {\n            \"perkRedemptionType_id\": 1,\n            \"name\": \"Regular\"\n        },\n        \"currency\": {\n            \"currency_id\": 961,\n            \"name\": \"Points\"\n        },\n        \"template\": {\n            \"id\": 2,\n            \"name\": \"POINT\"\n        },\n        \"name\": \"Birthday Reward\",\n        \"summary\": \"Free birthday reward\",\n        \"description\": null,\n        \"cost\": \"100.00\",\n        \"start_date\": 1537890363,\n        \"end_date\": 2114294400,\n        \"date_created\": 1537904763,\n        \"date_updated\": 1537904774,\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    }\n]"}],"_postman_id":"d2982da0-c601-4e24-bb61-ccbee45a5af6"}],"id":"84f174b1-33c2-4e0c-bf0a-3b68444c3295","_postman_id":"84f174b1-33c2-4e0c-bf0a-3b68444c3295","description":""},{"name":"egift","item":[{"name":"dashboard_vendor_egift_images_list","id":"0ce7847e-8be8-45b3-b079-ddda5da8d59b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/{{vendor}}/egift/images","description":"<p>This request returns a list of images available with this vendor to be included in the egift email.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which an egift is being sent</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>name</code>: identifies the image in a way that is user friendly</li>\n<li><code>url</code>: a direct url to the image</li>\n<li><code>tags</code>: an array of strings, where each is a keyword that allows this image to be found with a search</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","egift","images"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0ce7847e-8be8-45b3-b079-ddda5da8d59b"},{"name":"dashboard_vendor_egift_create","id":"a29c2bd3-572f-4f6c-a96d-8fca6ca47167","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20,\n    \"buyer\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace@spoonity.com\"\n    },\n    \"recipient\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace+01@spoonity.com\"\n    },\n    \"message\": \"yew get a gift\",\n    \"billing\": {\n        \"id\": 69206\n    },\n    \"image_url\": null\n}"},"url":"{{endpoint}}/vendor/{{vendor}}/egift?session_key={{user_session_key}}","description":"<p>This request allows users to transmit funds to another person. To send an egift as a guest, the buyer must supply their name and email, the name and email of the recipient, and their payment card details, as well as the amount that is being gifted. For a registered user, their active login session id can be supplied, and the reference number of the billing profile they would like to use to pay for the egift can be entered instead of complete card details. The egift arrives to the recipient in an email, which directs them to a page that allows them to log in or register with this vendor in order to accept the gift.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>amount</code> (float): the amount that is being charged to the buyer and that is being gifted to a recipient</li>\n<li><code>buyer</code> (see \"user object\" in Appendix): an object that holds the buyer's information</li>\n<li><code>recipient</code> (see \"user object\" in Appendix): an object that holds the recipient's information</li>\n<li><code>message</code> (string): a message from the buyer to the recipient</li>\n<li><code>billing</code> (see billing 1 and billing 2 in Appendix): an object that holds the buyer's billing information</li>\n<li><code>image_url</code> (string): the direct url for the image that is to be sent with this egift, if desired</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>user_egift_id</code>: an internal reference number unique to each egift</li>\n<li><code>receipt</code>: an object that holds information about the receipt for this transaction<ul>\n<li><code>receipt_id</code>: an internal reference number for this receipt</li>\n<li><code>receipt_date</code>: the date this receipt was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>subtotal</code>: the amount that is being sent in this egift, the same as <code>amount</code> in the request</li>\n<li><code>receiptType</code>: an object that contains information about the type of this receipt<ul>\n<li><code>receiptType_id</code>: an internal reference number that indicates the type of receipt</li>\n<li><code>name</code>: indicates the type of receipt in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>receiptStatus</code>: an object that contains information about the status of this receipt<ul>\n<li><code>receiptStatus_id</code>: an internal reference number that indicates the status of this receipt</li>\n<li><code>name</code>: indicates the status of this receipt in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the receipt</li>\n</ul>\n</li>\n<li><code>recipient_email</code>: the email of the recipient of this egift</li>\n<li><code>buyer_email</code>: the email of the sender of this egift</li>\n<li><code>amount</code>: the amount that is being charged to the sender's account and loaded to the recipient's account</li>\n<li><code>release_date</code>: the date this egift was released to be accepted by the recipient</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the egift</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"user-object\">user object</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"name\": \"Grace Duncan\", \n    \"email\": \"grace@spoonity.com\"\n    }\n</code></pre>\n<ul>\n<li><code>name</code> (string): the user's name</li>\n<li><code>email</code> (string): the user's email</li>\n</ul>\n<h6 id=\"billing-1\">billing 1</h6>\n<p>Used when the buyer has not given a specific billing profile, no session identifier is necessary. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n     \"name\": \"Test Card\",\n        \"number\": \"4242424242424242\",\n        \"expiry\":{\n            \"month\": \"06\",\n            \"year\": \"19\"\n        },\n        \"cvv\": \"123\",\n        \"zip_code\": \"k1n1k2\"\n    }\n</code></pre>\n<ul>\n<li><code>name</code> (string): the name of the card holder</li>\n<li><code>number</code> (string): the card number</li>\n<li><code>expiry</code> (object): an object that contains information about the expiry date for this card<ul>\n<li><code>month</code> (string): the month this card expires (mm)</li>\n<li><code>year</code> (string): the year this card expires (yy)</li>\n</ul>\n</li>\n<li><code>cvv</code> (string): the security code found on the back of this card</li>\n<li><code>zip_code</code> (string): the postal or zip code for the billing address associated with this card</li>\n</ul>\n<h6 id=\"billing-2\">billing 2</h6>\n<p>Used when the buyer specifies a billing profile to be charged. An active login session for this buyer <em>is</em> necessary, and is passed in using the query parameters. </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n        \"id\": 69206\n    }\n</code></pre>\n<ul>\n<li><code>id</code> (integer): the reference number for the billing profile that is to be accessed</li>\n</ul>\n<blockquote>\n<h6 id=\"note-to-see-examples-for-both-types-of-billing-objects-toggle-between-the-two-options-at-the-top-of-the-example-request\">Note: to see examples for both types of billing objects, toggle between the two options at the top of the example request.</h6>\n</blockquote>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"status_id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>status_id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","{{vendor}}","egift"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"40a7d389-a5ea-4269-a8f0-52286d054034","name":"dashboard_vendor_egift_create (billing 1)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20.00, \n    \"buyer\": {\n        \"name\": \"Grace Duncan\", \n        \"email\": \"grace@spoonity.com\"\n    }, \n    \"recipient\": {\n        \"name\": \"Grace Duncan\", \n        \"email\": \"grace+1@spoonity.com\"\n    }, \n    \"message\": \"yew get a gift\", \n    \"billing\": {\n        \"name\":\"Test Card\",\n        \"number\":\"4242424242424242\",\n        \"expiry\":{\n            \"month\":\"06\",\n            \"year\":\"19\"\n        },\n        \"cvv\":\"123\",\n        \"zip_code\":\"k1n1k2\"\n    },\n    \"image_url\": null\n}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/egift?session_id={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","egift"],"query":[{"key":"session_id","value":"{{user_session_key}}"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 12:48:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"400"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_egift_id\": 6596,\n    \"receipt\": {\n        \"receipt_id\": 17075073,\n        \"receipt_date\": 1559738902,\n        \"subtotal\": 20,\n        \"receiptType\": {\n            \"receiptType_id\": 4,\n            \"name\": \"E-Gift\"\n        },\n        \"receiptStatus\": {\n            \"receiptStatus_id\": 1,\n            \"name\": \"Purchase\"\n        },\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"recipient_email\": \"grace+1@spoonity.com\",\n    \"buyer_email\": \"grace@spoonity.com\",\n    \"amount\": 20,\n    \"release_date\": 1559738903,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    }\n}"},{"id":"bee5c38c-4151-4923-9e4b-5f966c03f637","name":"dashboard_vendor_egift_create (billing 2)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 20,\n    \"buyer\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace@spoonity.com\"\n    },\n    \"recipient\": {\n        \"name\": \"Grace Duncan\",\n        \"email\": \"grace+01@spoonity.com\"\n    },\n    \"message\": \"yew get a gift\",\n    \"billing\": {\n        \"id\": 69206\n    },\n    \"image_url\": null\n}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/egift?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","egift"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 05 Jun 2019 17:17:20 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"401"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_egift_id\": 6598,\n    \"receipt\": {\n        \"receipt_id\": 17075081,\n        \"receipt_date\": 1559755041,\n        \"subtotal\": 20,\n        \"receiptType\": {\n            \"receiptType_id\": 4,\n            \"name\": \"E-Gift\"\n        },\n        \"receiptStatus\": {\n            \"receiptStatus_id\": 1,\n            \"name\": \"Purchase\"\n        },\n        \"status\": {\n            \"status_id\": 1,\n            \"name\": \"Active\"\n        }\n    },\n    \"recipient_email\": \"grace+01@spoonity.com\",\n    \"buyer_email\": \"grace@spoonity.com\",\n    \"amount\": 20,\n    \"release_date\": 1559755041,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    }\n}"}],"_postman_id":"a29c2bd3-572f-4f6c-a96d-8fca6ca47167"}],"id":"59904fda-100a-41e8-b1da-646a145ef050","_postman_id":"59904fda-100a-41e8-b1da-646a145ef050","description":""},{"name":"order","item":[{"name":"order_process (gift card)","id":"5a50ed52-cb4c-4414-a526-761e6bf381f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>This request is used if the user authorizes payment for the current order with their quick pay balance. The quick pay balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to spend the desired amount in quick pay, or if the user has sufficient funds to load their quick pay balance.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><p><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:</p>\n<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><p><code>receipt_number</code> (string): the invoice id from the point of sale. If it matches a <code>receipt_number</code> generated previously from a loyalty request, then the two requests will be linked in Spoonity.</p>\n</li>\n<li><p><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</p>\n</li>\n<li><p><code>amount</code> (float): indicates how much is being added to or removed from the user's account, a positive value here adds this amount and a negative value removes this amount</p>\n</li>\n<li><p><code>date</code> (integer): the date this authorization is occurring, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 in the customer's local time</p>\n</li>\n<li><p><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</p>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</li>\n<li><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request. Contains:<ul>\n<li><code>lines</code>: shows the process was successful in a way that is user friendly</li>\n<li><code>user</code>: contains more in depth information about the user making the order:<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>card_number</code>: the same card_number that was provided in the request</li>\n<li><code>balances</code>: an array that contains information about the different balances a user has on their profile. Each object in balances contains:<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>currency</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>balance</code>: the amount of this currency that is available</li>\n<li><code>type</code>: indicates the category of payment being used</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number assigned to a cashier</li>\n<li><code>name</code> (string): the name of the cashier</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"fbc7ee25-de6d-4bca-966e-006ec4748101","name":"order_process (giftcard)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"amount\": 10,\n  \"date\": 1416240444,\n  \"cashier\": {\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"till","type":"text","value":"","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:08:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"330"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"reference_number\": \"17074472\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"Successfully added 10 quick pay balance\"\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"card_number\": \"brandin@spoonity.com\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"5a50ed52-cb4c-4414-a526-761e6bf381f0"},{"name":"payment_loyalty_pay","id":"93e48bac-9a05-49a6-9930-a4b9a4fad04b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"card_number\": \"brandin@spoonity.com\",\n\t\"amount\": 10.00\n}"},"url":"{{endpoint}}/order/payments/loyalty?api_key={{apikey}}&pos_session_hash={{orderHash}}","description":"<p>This request is used if the user authorizes payment for the current order with their loyalty balance. The loyalty balance is retrieved by using a specific means of identification, and is used here to determine if the user has sufficient funds to use the desired amount in loyalty points.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><code>amount</code> (float): the amount that is being paid in dollars by the user</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>amount</code>: indicates the amount in dollars that was removed from the user's account, amount of points actually removed varies based on individual loyalty systems</li>\n<li><code>transaction_id</code>: a reference number that only supplements the order, this number only references the payment itself</li>\n</ul>\n","urlObject":{"path":["order","payments","loyalty"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}],"variable":[]}},"response":[{"id":"8a393281-9d1b-4b55-904f-39255cc59c64","name":"payment_loyalty_pay","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"card_number\": \"brandin@spoonity.com\",\n\t\"amount\": 10.00\n}"},"url":{"raw":"{{endpoint}}/order/payments/loyalty?api_key={{apikey}}&pos_session_hash={{orderHash}}","host":["{{endpoint}}"],"path":["order","payments","loyalty"],"query":[{"key":"api_key","value":"{{apikey}}"},{"key":"pos_session_hash","value":"{{orderHash}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 15:41:30 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"111"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"amount\": -10,\n    \"transaction_id\": \"20720675\",\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"93e48bac-9a05-49a6-9930-a4b9a4fad04b"},{"name":"order_process (loyalty)","id":"558cb296-511e-42d8-aabe-b2a5886e0fbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-059\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":"{{endpoint}}/order?api_key={{apikey}}","description":"<p>Here, details about the items in the order, discounts on these items, and discounts on the overall order are sent to our system to complete the sale. If the user is spending points on this order, this request removes them from the user's account. If there are any points to be gained on this order, this request will also add those points to the user's account. The appearance of the response of this request may change based on the structure of the loyalty system with each vendor. Once this order is complete, often the DEL onscreen_close request is called immediately to close the session.</p>\n<blockquote>\n<p>Note: to see examples for both spending points and earning points, toggle between the two options at the top of the example request. </p>\n</blockquote>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><p><code>card_number</code> (string): part of the user's identification which allows us to access details about the account holder, can be given as:</p>\n<ul>\n<li>card number</li>\n<li>email address</li>\n<li>mobile phone number</li>\n<li>app token</li>\n<li>cedula</li>\n<li>passport number</li>\n</ul>\n</li>\n<li><p><code>till</code> (integer): only used for tracking and information purposes, and is not relevant to the order itself</p>\n</li>\n<li><p><code>receipt_number</code> (string): the invoice id from the point of sale</p>\n</li>\n<li><p><code>subtotal</code> (float): the only value that is used to calculate points earned from this order</p>\n</li>\n<li><p><code>taxes</code> (array): holds information about what taxes are on the order, not relevant to the calculation of points</p>\n</li>\n<li><p><code>total</code> (float): the amount the customer actually pays, not relevant to the calculation of points</p>\n</li>\n<li><p><code>payment_method</code> (string): how the customer pays for the order</p>\n</li>\n<li><p><code>date</code> (integer): the date this authorization is occurring, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00 in the customer's local time</p>\n</li>\n<li><p><code>cashier</code> (object, see Appendix below): used for tracking and information purposes, not relevant to the order itself</p>\n</li>\n<li><p><code>line_items</code> (array of line_item objects, see Appendix below): holds information about each item in the order</p>\n</li>\n<li><p><code>discount</code> (array of discount objects, see Appendix): holds objects that have information about discounts on the overall order</p>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>reference_number</code>: the identification number that Spoonity uses to keep track of this order internally</li>\n<li><code>success</code>: indicates if the request was successfully authorized by Spoonity or not</li>\n<li><code>receipt_data</code>: holds information about the process that just occurred and information about the user indicated in the request, contains:<ul>\n<li><code>lines</code>: shows the process was successful in a way that is user friendly</li>\n<li><code>points</code>: contains information about the points that are being redeemed or earned, each object in this array contains<ul>\n<li><code>currency</code> (see Appendix): an object that holds information about the type of currency being used</li>\n<li><code>amount</code>: indicates the quantity of the points that are being removed or added</li>\n<li><code>expiryDate</code>: indicates the date that these points will expire, as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>user</code>: contains more in depth information about the user making the order:<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>card_number</code>: the same card_number that was provided in the request</li>\n<li><code>balances</code>: an array that contains information about the different balances a user has on their profile<ul>\n<li><code>id</code>: an internal reference number for the type of currency</li>\n<li><code>currency</code>: indicates the type of currency in a way that is more user friendly</li>\n<li><code>balance</code>: the amount of this currency that is available</li>\n<li><code>type</code>: indicates the category of payment being used</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"cashier\">cashier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"1\",\n    \"name\": \"Tony\"\n  }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number assigned to a cashier</li>\n<li><code>name</code> (string): the name of the cashier</li>\n</ul>\n<h6 id=\"line_item\">line_item</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>categories</code> (array): not relevant to the order, can be ignored</li>\n<li><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a discount specific to this line item</li>\n<li><code>price</code> (float): indicates the price of 1 unit of this item, must be a positive value</li>\n<li><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</li>\n<li><code>modifiers</code> (array of line_items, see Appendix): contains information about items which modify the current item being ordered</li>\n</ul>\n<h6 id=\"discounts\">discounts</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"clover_discount\",\n    \"name\": \"Free item\",\n    \"amount\": 2\n        }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an internal reference that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>amount</code> (float): indicates how much this discount is worth in dollars, must be a positive value</li>\n</ul>\n<h6 id=\"modifiers\">modifiers</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }\n\n</code></pre>\n<ul>\n<li><code>id</code> (string): an identification number that is unique to this item</li>\n<li><code>name</code> (string): identifies the item in a way that is more user friendly</li>\n<li><code>categories</code> (array): not relevant to the order, can be ignored</li>\n<li><code>discounts</code> (array of discount objects, see Appendix): holds objects that have information about a unique discount</li>\n<li><code>price</code> (float): indicates the price of 1 unit of this item</li>\n<li><code>quantity</code> (integer): indicates how many units of this item are being purchased on this order</li>\n<li><code>modifiers</code>: each modifier has another array of modifiers, making it possible for modifiers to be nested infinitely</li>\n</ul>\n<h6 id=\"currency\">currency</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 191,\n    \"name\": \"Canadian Dollar\"\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an identification number for the type of currency</li>\n<li><code>name</code>: indicates the type of currency in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["order"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"694867f8-7671-4e6d-a5f1-82fc515b9920","name":"order_process (loyalty, earning)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-005\",\n  \"subtotal\": 10,\n  \"taxes\": [],\n  \"total\": 10,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"__unknown_id\",\n    \"name\": \"Unknown product\",\n    \"categories\": [],\n    \"discounts\": [],\n    \"price\": 10,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 14 May 2019 12:07:42 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"417"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074524\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"100 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": 100,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 6.3600000000000003,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9886,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"},{"id":"d0c326bb-9dff-4dc7-b7dc-1e1dc89c15a6","name":"order_process (loyalty, spending)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"card_number\": \"brandin@spoonity.com\",\n  \"till\": 1,\n  \"receipt_number\": \"BC-PROMO-058\",\n  \"subtotal\": 0,\n  \"taxes\": [],\n  \"total\": 0,\n  \"payment_method\": \"CASH\",\n  \"date\": \"1422901482\",\n  \"cashier\": {\n    \"id\": \"_tony_\",\n    \"name\": \"Tony\"\n  },\n  \"line_items\": [{\n    \"id\": \"coffee\",\n    \"name\": \"Regular Drip\",\n    \"categories\": [],\n    \"discounts\": [\n    \t{\n    \t\t\"id\": \"clover_discount\",\n    \t\t\"name\": \"Free item\",\n    \t\t\"amount\": 2\n    \t}\n    ],\n    \"price\": 2,\n    \"quantity\": 1,\n    \"modifiers\": []\n  }],\n  \"discounts\": []\n}"},"url":{"raw":"{{endpoint}}/order?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 09 May 2019 16:10:57 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"488"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference_number\": \"17074481\",\n    \"success\": \"true\",\n    \"receipt_data\": {\n        \"lines\": [\n            \"-60 points added\"\n        ],\n        \"points\": [\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -10,\n                \"expiryDate\": null\n            },\n            {\n                \"currency\": {\n                    \"id\": 961,\n                    \"name\": \"Points\"\n                },\n                \"amount\": -50,\n                \"expiryDate\": null\n            }\n        ],\n        \"user\": {\n            \"id\": \"582846\",\n            \"balances\": [\n                {\n                    \"id\": 191,\n                    \"currency\": \"Canadian Dollar\",\n                    \"balance\": 16.359999999999999,\n                    \"type\": \"Quick Pay\"\n                },\n                {\n                    \"id\": 961,\n                    \"currency\": \"Points\",\n                    \"balance\": 9786,\n                    \"type\": \"Loyalty\"\n                }\n            ]\n        }\n    },\n    \"error\": {\n        \"errors\": [],\n        \"code\": null,\n        \"reference_id\": null\n    }\n}"}],"_postman_id":"558cb296-511e-42d8-aabe-b2a5886e0fbf"},{"name":"order_void","id":"f5eab46a-0788-414a-856e-a0bab8128308","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":"{{endpoint}}/order/void?api_key={{apikey}}","description":"<p>This request is used to void an order if necessary. Orders can only be voided in order from the most recent sale. To void a sale that was not the most recent, the more recent orders must be voided until the desired order to void is reached, that order must be voided, then the more recent orders must be re-applied in the sequence they occurred.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>receipt</code> (integer): identifies which order is meant to be voided, matches the <code>reference_number</code> that is found in the response of the order_process (loyalty) request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>voided</code>: true if this order was successfully voided</li>\n</ul>\n","urlObject":{"path":["order","void"],"host":["{{endpoint}}"],"query":[{"key":"api_key","value":"{{apikey}}"}],"variable":[]}},"response":[{"id":"8a280a18-2ecb-4c8f-aefa-62644637abb8","name":"order_void","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receipt\": 17074472\n}"},"url":{"raw":"{{endpoint}}/order/void?api_key={{apikey}}","host":["{{endpoint}}"],"path":["order","void"],"query":[{"key":"api_key","value":"{{apikey}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 13 May 2019 15:36:31 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) PHP/7.1.15 OpenSSL/1.0.2k-fips"},{"key":"X-Powered-By","value":"PHP/7.1.15"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"15"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"voided\": true\n}"}],"_postman_id":"f5eab46a-0788-414a-856e-a0bab8128308"}],"id":"00fcf79e-55a5-44be-b53e-e230a42ee14c","_postman_id":"00fcf79e-55a5-44be-b53e-e230a42ee14c","description":""},{"name":"user info/actions","item":[{"name":"user_email_exists","id":"981776fc-670a-46d8-a861-d7951d9b2f88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{endpoint}}/user/email/exists?email={{email}}&vendor={{vendor}}","description":"<p>This request determines if the given email is linked with any account at Spoonity.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email</code> (string): passed in using query parameters, the email that is being attempted to be found</li>\n<li><code>vendor</code> (integer): passed in using the query parameters, the vendor with which the email is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>exists</code>: a boolean, true if this email exists, false otherwise</li>\n<li><code>vendor</code> (see Appendix): an object that contains information about the vendor this email was first registered with</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","email","exists"],"host":["{{endpoint}}"],"query":[{"key":"email","value":"{{email}}"},{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"32985c7e-2079-4d03-b7ec-abf2568b097b","name":"user_email_exists","originalRequest":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{endpoint}}/user/email/exists?email={{email}}&vendor={{vendor}}","host":["{{endpoint}}"],"path":["user","email","exists"],"query":[{"key":"email","value":"{{email}}"},{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:45:37 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"59"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"exists\": true,\n    \"vendor\": {\n        \"id\": 1044383,\n        \"name\": \"Cookie Hut\"\n    }\n}"}],"_postman_id":"981776fc-670a-46d8-a861-d7951d9b2f88"},{"name":"user_cedula_exists","id":"e13867fa-dd5d-40be-8819-37e18fe1bf8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/cedula/exists?cedula=0915931042&vendor=1","description":"<p>This request determines if a cedula is linked to any account at Spoonity. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>cedula</code> (string): passed in using query parameters, the cedula that is being searched</li>\n<li><code>vendor</code> (integer): passed in using the query parameters, the vendor with which the cedula is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>exists</code>: a boolean, true if the cedula exists in our system</li>\n<li><code>valid</code>: a boolean, true if the cedula provided is valid in the vendor's country of residence</li>\n<li><code>vendor</code>: an object that contains information about the vendor this cedula was first registered with</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","cedula","exists"],"host":["{{endpoint}}"],"query":[{"key":"cedula","value":"0915931042"},{"key":"vendor","value":"1"}],"variable":[]}},"response":[{"id":"6f60ac78-19ea-47a0-9237-aca89d68e6c2","name":"user_cedula_exists","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/cedula/exists?cedula=0915931042&vendor=1","host":["{{endpoint}}"],"path":["user","cedula","exists"],"query":[{"key":"cedula","value":"0915931042"},{"key":"vendor","value":"1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 29 May 2019 18:35:18 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"81"},{"key":"Keep-Alive","value":"timeout=5, max=99"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"exists\": false,\n    \"valid\": true,\n    \"vendor\": {\n        \"id\": 101331,\n        \"name\": \"Sweet & Coffee\"\n    }\n}"}],"_postman_id":"e13867fa-dd5d-40be-8819-37e18fe1bf8e"},{"name":"user_mobile_exists","id":"395ec1b0-df9e-4398-ab2e-5ed3eb1d2ad1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/mobile/exists?mobile={{phone}}&vendor={{vendor}}","description":"<p>This request determines if a mobile phone number is linked with any account at Spoonity.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>mobile</code> (string): passed in using query parameters, the desired mobile number to be found</li>\n<li><code>vendor</code> (integer): passed in using query parameters, the id of the vendor with which the mobile number is being checked</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>available</code>: a boolean, true if this is a valid phone number that is available to be registered, false otherwise</li>\n</ul>\n","urlObject":{"path":["user","mobile","exists"],"host":["{{endpoint}}"],"query":[{"key":"mobile","value":"{{phone}}"},{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"607de379-2b15-4173-8174-726f49c73aed","name":"user_mobile_exists","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/mobile/exists?mobile={{phone}}&vendor={{vendor}}","host":["{{endpoint}}"],"path":["user","mobile","exists"],"query":[{"key":"mobile","value":"{{phone}}"},{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:46:15 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"19"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"available\": false\n}"}],"_postman_id":"395ec1b0-df9e-4398-ab2e-5ed3eb1d2ad1"},{"name":"user_register","id":"79897cba-c90f-4003-8748-379911a9bf2d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"first_name\": \"Grace\",\n   \"last_name\": \"Duncan\",\n   \"anonymous\": 0,\n   \"email_address\": \"grace+1@spoonity.com\",\n   \"password\": \"Spoonity4\",\n   \"birthdate\": 780162621,\n   \"vendor\": 1,\n   \"language\": 1,\n   \"terms\": 1\n}"},"url":"{{endpoint}}/user/register","description":"<p>This request is responsible for creating a profile for a new user. This sets up an account with basic user information such as first and last names, the user's email address, and the user's preferred language.</p>\n<h4 id=\"request\">Request:</h4>\n<p>Required parameters:</p>\n<ul>\n<li><code>first_name</code> (string): the first name of the user that is registering</li>\n<li><code>last_name</code> (string): the last name of the user that is registering</li>\n<li><code>anonymous</code> (boolean): always set to false</li>\n<li><code>email_address</code> (string): the email the user wants linked to their account</li>\n<li><code>password</code> (string): the password the user will use to access their account</li>\n<li><code>terms</code> (boolean): always set to true</li>\n<li><code>vendor</code> (integer): the internal reference number associated with the specific vendor with which the user is registering</li>\n</ul>\n<p>Optional parameters:</p>\n<ul>\n<li><code>birthdate</code> (integer): the user's date of birth as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>language</code> (integer, see Appendix): an internal reference number that indicates the user's preferred language</li>\n<li><code>cedula</code> (string): the cedula of the user that is registering, only needed in South America</li>\n<li><code>contact_consent</code> (integer, see Appendix): an internal reference number that represents the user's consent to being contacted</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>id</code>: an internal reference number associated with this user</li>\n<li><code>first_name</code>: the first name the user registered with</li>\n<li><code>last_name</code>: the last name this user registered with</li>\n<li><code>email_address</code>: the email address this user registered with</li>\n<li><code>birthdate</code>: the user's date of birth if it was included as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_created</code>: the date this account was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>date_updated</code>: the date this account was last updated as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see Appendix): an object that holds information about the current status of the user</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status of the user</li>\n<li><code>name</code>: indicates the user's current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n</code></pre><h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n</code></pre>","urlObject":{"path":["user","register"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"690932cd-1b55-418b-8320-92db604058c1","name":"user_register","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"first_name\": \"Grace\",\n   \"last_name\": \"Duncan\",\n   \"anonymous\": 0,\n   \"email_address\": \"grace@spoonity.com\",\n   \"password\": \"Spoonity4\",\n   \"birthdate\": 845908004,\n   \"vendor\": 1,\n   \"language\": 1,\n   \"terms\": 1\n}"},"url":"{{endpoint}}/user/register"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:27:33 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"408"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"user\",\n    \"id\": \"1000454652210\",\n    \"first_name\": \"Grace\",\n    \"last_name\": \"Duncan\",\n    \"email_address\": \"grace@spoonity.com\",\n    \"facebook_identifier\": null,\n    \"twitter_identifier\": null,\n    \"google_identifier\": null,\n    \"linkedin_identifier\": null,\n    \"birthdate\": 845908004,\n    \"date_created\": 1558967253,\n    \"date_updated\": 1558967253,\n    \"status\": {\n        \"id\": 1,\n    \t\"name\": \"Active\"\n    }\n}"}],"_postman_id":"79897cba-c90f-4003-8748-379911a9bf2d"},{"name":"user_authenticate","id":"b8c9694d-499f-47b1-ada4-6697822d3900","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"password\": \"Spoonity4\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/authenticate","description":"<p>This request authenticates a user's credentials and creates a login session. Here, information about the user as it applies to this vendor is returned. The session identifier value is crucial to accessing this current login session at any given time. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email_address</code> (string): the email with which the user registered their account</li>\n<li><code>password</code> (string): the password with which the user registered their account</li>\n<li><code>vendor</code> (integer): the internal reference number for the vendor with which the user is attempting to log in</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>first_login</code>: a boolean value indicating if this is the user's first login to this vendor with this account</li>\n<li><code>online_order_token</code>: unique to this login session, allows a specific third party to access this same login session, in most cases this is safe to ignore</li>\n<li><code>vendor_user</code>: in this case will always be null, safe to ignore</li>\n<li><code>session_identifier</code>: a key unique to this current login session</li>\n<li><code>user_vendor</code>: an object that contains information about the user that is specific to this vendor, this object contains:<ul>\n<li><code>language</code> (see Appendix): an object that holds information about the language the user selected with this vendor</li>\n<li><code>vendor</code>: an object that holds information about the current vendor</li>\n<li><code>anonymous</code>: a boolean set with account registration, always false</li>\n<li><code>reload_amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>reload_threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>contact_consent</code> (see Appendix): an integer indicating if the user has allowed the vendor to contact them</li>\n<li><code>created</code>: the date the account was created with this vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>billing_profile</code>: the internal reference number of the billing profile used for automatic reload</li>\n<li><code>tier</code> (see Appendix): an object that contains information about the prestige level of the user with the current vendor</li>\n<li><code>tier_since</code>: the date this user reached this tier, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code> (see Appendix): an object that contains information about the current user</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"language\">language</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"code\": \"en\",\n    \"id\": 1,\n    \"name\": \"English\"\n}\n</code></pre>\n<ul>\n<li><code>code</code>: the two letter ISO 639-1 code associated with this language</li>\n<li><code>id</code>: the internal reference number Spoonity uses to identify this language</li>\n<li><code>name</code>: identifies the language in a way that is more user friendly</li>\n</ul>\n<h6 id=\"vendor\">vendor</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Spoonity\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: the internal reference number used to identify the vendor</li>\n<li><code>name</code>: identifies the vendor in a way that is more user friendly</li>\n</ul>\n<h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n</code></pre><h6 id=\"tier\">tier</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 12,\n    \"name\": \"Default\",\n    \"summary\": \"\",\n    \"description\": \"\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number unique to each tier</li>\n<li><code>name</code>: identifies the tier in a way that is more user friendly</li>\n<li><code>summary</code>: a summary of the perks offered at this tier</li>\n<li><code>description</code>: a description of the current tier</li>\n</ul>\n<h6 id=\"user\">user</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": \"582846\",\n    \"first_name\": \"brandin\",\n    \"last_name\": \"chiu\"\n}\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number unique to each user</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n</ul>\n","urlObject":{"path":["user","authenticate"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"220eb748-00e0-471e-8d17-b728b94f5160","name":"user_authenticate","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"password\": \"Spoonity4\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/authenticate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 13:07:24 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"955"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"first_login\": false,\n    \"object\": \"user_session\",\n    \"online_order_token\": \"edd13104b9e256cc12ab8f458db6cb34\",\n    \"vendor_user\": null,\n    \"session_identifier\": \"056930a5606663c59129029552932d9d\",\n    \"user_vendor\": {\n        \"language\": null,\n        \"object\": \"user_vendor\",\n        \"vendor\": {\n            \"id\": 1,\n            \"name\": \"Spoonity\",\n            \"object\": \"vendor\"\n        },\n        \"anonymous\": false,\n        \"reload_amount\": 0,\n        \"reload_threshold\": 0,\n        \"contact_consent\": 0,\n        \"created\": 1468417320,\n        \"billing_profile\": null,\n        \"tier\": {\n            \"object\": \"vendor_tier\",\n            \"id\": 12,\n            \"name\": \"Default\",\n            \"summary\": \"\",\n            \"description\": \"\"\n        },\n        \"tier_since\": 1468417320,\n        \"user\": {\n            \"object\": \"user\",\n            \"id\": \"582846\",\n            \"first_name\": \"brandin\",\n            \"last_name\": \"chiu\"\n        }\n    }\n}"}],"_postman_id":"b8c9694d-499f-47b1-ada4-6697822d3900"},{"name":"user_activate_create","id":"3ad6714b-9c4f-4d7f-b9a7-99b619833579","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate?token={{token}}&session_identifier={{user_session_key}}","description":"<p>This request activates a user's account. The user must have an active login session, and must have received an activation token in an email or SMS. This token is necessary to activate the account.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>token</code> (string): passed in using query parameters, the value that was sent to the user via email</li>\n<li><code>session_identifier</code> (string): passed in using query parameters, must match the session identifier key found in the response of the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p> The response will always be empty, however a status code of 200 OK indicates successful activation.</p>\n","urlObject":{"path":["user","activate"],"host":["{{endpoint}}"],"query":[{"key":"token","value":"{{token}}"},{"key":"session_identifier","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"093c8f19-0e1a-4172-8da3-7001408b3cdd","name":"user_activate_create","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate?token={{token}}&session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate"],"query":[{"key":"token","value":"{{token}}"},{"key":"session_identifier","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:13:40 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3ad6714b-9c4f-4d7f-b9a7-99b619833579"},{"name":"user_send_activation_email_read","id":"01184dab-69c4-4fe5-b085-f9846c6daf4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate/email?session_identifier={{user_session_key}}","description":"<p>This request sends an email to the user currently logged into the given session, this email contains the information necessary to verify that email address.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_identifier</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate the email was sent successfully.</p>\n","urlObject":{"path":["user","activate","email"],"host":["{{endpoint}}"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"7a441499-c1c0-4f38-ac1d-58c9e1c995ee","name":"user_send_activation_email_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/email?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","email"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:27:42 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"01184dab-69c4-4fe5-b085-f9846c6daf4b"},{"name":"user_send_activation_sms_read","id":"9610f4eb-60c9-4b65-b4bc-54e0cadb9ecc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}&phone={{phone}}&country=CA","description":"<p>This request sends an SMS message to the user currently logged into the given session, and contains the information necessary to verify the mobile number on the account. If the user would like to change the mobile number this SMS message is sent to, extra query parameters <code>phone</code> and <code>country</code> must be included.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_identifier</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request</li>\n<li>Optionally, a <code>phone</code> parameter can be included, allowing the user to change the phone number during SMS validation (in case of error). When this parameter is included, it is also necessary to have:<ul>\n<li><code>country</code> (string): the two letter ISO 3166-1 code that indicates which country this phone number is registered in</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate the SMS message was sent successfully.</p>\n","urlObject":{"path":["user","activate","sms"],"host":["{{endpoint}}"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}"},{"key":"country","value":"CA"}],"variable":[]}},"response":[{"id":"0e015c3b-7dda-45ec-ab15-a15151d4a86a","name":"user_send_activation_sms_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","sms"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}","disabled":true},{"key":"country","value":"CA","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 13:28:38 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null},{"id":"4f263862-c77c-4b44-816d-31a88c8f141b","name":"user_send_activation_sms_read (error)","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/activate/sms?session_identifier={{user_session_key}}","host":["{{endpoint}}"],"path":["user","activate","sms"],"query":[{"key":"session_identifier","value":"{{user_session_key}}"},{"key":"phone","value":"{{phone}}","disabled":true},{"key":"country","value":"CA","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:40:14 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"406"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": {\n        \"code\": 0,\n        \"reference_id\": null,\n        \"more_info\": \"http://api.spoonity.com/doc/#apiMethod\",\n        \"errors\": [\n            {\n                \"reason\": \"exception\",\n                \"message\": \"There was an error trying to verify your number, please try again.  If the problem persists, please contact support.\"\n            }\n        ]\n    },\n    \"object\": \"error\"\n}"}],"_postman_id":"9610f4eb-60c9-4b65-b4bc-54e0cadb9ecc"},{"name":"user_is_validated","id":"4854dba8-a1d8-4834-a2c0-9566a9de4886","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/isValidated?session={{user_session_key}}","description":"<p>This request checks if a user is validated at a specific vendor. The session key gives access to information about which user has activated this session and with what vendor, making it unnecessary to supply any other information.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session</code> (string): passed in using query parameters, must match the session identifier found in the response of the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>isValidated</code>: a boolean, true if the user is validated, false if not</li>\n<li><code>phone_number</code>: the phone number associated with this user</li>\n<li><code>methods</code>: an array verification methods that are enabled with this vendor, user must have at least one of these verified in order to be validated </li>\n<li><code>status</code>: an object that holds information about the status of validation for this user<ul>\n<li><code>No Verification</code>: a boolean, true if the user has had their validation overridden by the vendor and does not have to validate their account, false otherwise</li>\n<li><code>Email</code>: a boolean, true if the user has validated their account through email, false otherwise</li>\n<li><code>Sms</code>: a boolean, true if the user has validated their account through SMS, false otherwise</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["user","isValidated"],"host":["{{endpoint}}"],"query":[{"key":"session","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"c3243882-2da5-411f-812b-8896d6845ad1","name":"user_is_validated","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/isValidated?session={{user_session_key}}","host":["{{endpoint}}"],"path":["user","isValidated"],"query":[{"key":"session","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:15:38 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"126"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"isValidated\": true,\n    \"phone_number\": null,\n    \"methods\": [\n        \"Email\",\n        \"Sms\"\n    ],\n    \"status\": {\n        \"No Verification\": false,\n        \"Email\": true,\n        \"Sms\": false\n    }\n}"}],"_postman_id":"4854dba8-a1d8-4834-a2c0-9566a9de4886"},{"name":"user_logout","id":"91bbe668-75a7-4669-a6ee-097b6c3fb349","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"url":"{{endpoint}}/user/logout?session_key={{user_session_key}}","description":"<p>This request uses the session identifier key that was generated in the user_authenticate request to log out of the session.  </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key that was created with the user_authenticate request</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK indicates successful logging out.</p>\n","urlObject":{"path":["user","logout"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"28906593-3a65-4adc-af76-cc1d595386f7","name":"user_logout","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":{"raw":"{{endpoint}}/user/logout?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","logout"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:42:22 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"91bbe668-75a7-4669-a6ee-097b6c3fb349"},{"name":"user_password_reset_reset","id":"6767c8b9-ec55-4f5f-97da-d87ef36ee7b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/password-reset/reset","description":"<p>With this request, the user can reset the password linked to their account. This request is used when a user indicates they forgot their password, so the user must only supply an email address to receive the reset information. An email is sent to the given address with a \"token\", which must be sent with the next request to finalize the password reset.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>email_address</code> (string): the email address for the account for which the password is being reset </li>\n<li><code>vendor</code> (integer): the internal reference number for the vendor with which the user is resetting their password</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status 200 OK code indicates the email was sent to the user.</p>\n","urlObject":{"path":["user","password-reset","reset"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"2ea9ec54-c37a-421e-9290-de4358b6196e","name":"user_password_reset_reset","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"email_address\": \"brandin@spoonity.com\",\n\t\"vendor\": 1\n}"},"url":"{{endpoint}}/user/password-reset/reset"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 28 May 2019 15:39:49 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"6767c8b9-ec55-4f5f-97da-d87ef36ee7b4"},{"name":"user_password_reset_apply","id":"3db3f6dd-a7cd-46b7-8ab6-de73cbeb44bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"token\": \"8ac39a5f61785061a6c4a1c8abe8dd9c\",\n\t\"password\": \"Spoonity1\"\n}"},"url":"{{endpoint}}/user/password-reset/apply","description":"<p>The token sent in the email to the user is used in this request to access the user's account and apply the new password. Requiring this token adds an extra measure of security, as it means the user is authorized to access to the email that is linked to the account being changed. Without this, any user could change the password to any given account for which they know an email address, regardless of authorization to access that email or Spoonity account ownership.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>token</code> (string): the value that was sent to the customer via the email they entered in the previous request</li>\n<li><code>password</code> (string): the new password for this user's account</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, however a status code of 200 OK will indicate that the new password was applied.</p>\n","urlObject":{"path":["user","password-reset","apply"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"d771bde9-c95b-47f1-9116-5b41e1676d37","name":"user_password_reset_apply","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"token\": \"8ac39a5f61785061a6c4a1c8abe8dd9c\",\n\t\"password\": \"Spoonity1\"\n\n}"},"url":"{{endpoint}}/user/password-reset/apply"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 27 May 2019 14:44:03 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3db3f6dd-a7cd-46b7-8ab6-de73cbeb44bd"},{"name":"user_profile_read","id":"d284653a-d0dc-4217-ad14-d51c522573aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/profile?session_key={{user_session_key}}","description":"<p>This request is used to get a user's profile information. The session_identifier that was produced on the user's login is used to fetch general information about the user such as their address, first and last names, push notification settings, contact consent settings, etc. This request will also return any optional information that is linked to the user's account, such as a user's favourite location if this has been specified.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>anonymous</code>: a boolean, always set to false</li>\n<li><code>billing_profile</code> (see Appendix): the user's billing profile that is selected for automatic reload, null if this feature is disabled</li>\n<li><code>contact_consent</code> (see Appendix): an internal reference number that represents the user's consent to be contacted by this vendor</li>\n<li><code>created</code>: the date this user's profile was created with this specific vendor, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>flagged</code>: a boolean, true if this user's account has been flagged for suspicious or fraudulent behaviour</li>\n<li><code>id</code>: an internal reference number that links the user's account to this specific vendor</li>\n<li><code>is_verified</code> (see Appendix): an object that indicates if the user is verified or not, similar to the response of the <code>user_is_validated</code> request in the \"Registering an account\" workflow</li>\n<li><code>language</code> (see Appendix): an internal reference number indicating the language that the user has specified to use</li>\n<li><code>metadata</code> (see Appendix): an array of objects that each store details about information that is surplus to the user's required profile data</li>\n<li><code>online_order_token</code>: unique to this login session, allows a specific third party to access this same login session, in most cases this is safe to ignore</li>\n<li><code>push_endpoints</code> (see Appendix): unique id that can be used to send the user push notifications</li>\n<li><code>referral_url</code>: a url that this user can share with a new user to earn points or apply a discount to both accounts</li>\n<li><code>reload_amount</code>: how much a user has indicated to reload automatically with automatic reload</li>\n<li><code>reload_threshold</code>: the point at which the user's account will automatically reload</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of the user</li>\n<li><code>updated</code>: the last date this profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code> (see Appendix): an object that contains information about the user whose profile is being read</li>\n<li><code>vendor</code>: an object that is always returned empty, safe to ignore</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"billing_profile\">billing_profile</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    card: \"4242 xxxx xxxx 4242\",\n    created: 1562871344,\n    expiry: 1564531200,\n    id: \"69235\",\n    name: \"nickname\",\n    object: \"user_billingprofile\",\n    status: {},\n    type: \"Visa\",\n    updated: 1563299711\n}\n\n</code></pre><ul>\n<li><p><code>card</code>: the first and last 4 digits of the credit card number linked to this profile</p>\n</li>\n<li><p><code>created</code>: the date this billing profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>expiry</code>: the expiry date found on this card, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n<li><p><code>id</code>: an internal reference number that identifies this billing profile</p>\n</li>\n<li><p><code>name</code>: user specific card reference, as it was entered in the description when the card was added</p>\n</li>\n<li><p><code>status</code>: (see Appendix): an object that contains information about the current status of the billing profile</p>\n</li>\n<li><p><code>type</code>: indicates the type of card in a way that is user friendly</p>\n</li>\n<li><p><code>updated</code>: the last date this billing profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</p>\n</li>\n</ul>\n<h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n\n</code></pre><h6 id=\"is_verified\">is_verified</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"status\": true,\n    \"methods\": {\n        \"No Verification\": false,\n        \"Email\": true,\n        \"Sms\": true\n    }\n\n</code></pre>\n<ul>\n<li><code>status</code>: a boolean, true if the user is validated</li>\n<li><code>methods</code>: an object that holds information about the enabled verification methods with this vendor, each object contains:<ul>\n<li><code>No Verification</code>: a boolean, true if the user has had their validation overridden by the vendor and does not have to validate their account, false otherwise</li>\n<li><code>Email</code>: a boolean, true if the user has validated their account through email, false otherwise</li>\n<li><code>Sms</code>: a boolean, true if the user has validated their account through SMS, false otherwise</li>\n</ul>\n</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n\n</code></pre><h6 id=\"metadata\">metadata</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"user_metadata_id\": \"6770055\",\n    \"user_metadataField_id\": 7,\n    \"field\": \"Address\",\n    \"value\": \"123 Smith St\",\n    \"validation\": null,\n    \"input_type\": null\n    }\n\n</code></pre>\n<ul>\n<li><code>user_metadata_id</code>: an internal reference number that is unique to each user metadata object</li>\n<li><code>user_metadataField_id</code>: an internal reference number that refers to the type of information help by this object</li>\n<li><code>field</code>: indicates the type of information stored in this object in a way that is more user friendly</li>\n<li><code>value</code>: the input for this type of information as it applies to the user</li>\n</ul>\n<h6 id=\"push_endpoints\">push_endpoints</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"gcm\": [],\n    \"apns\": []\n    }\n\n</code></pre>\n<ul>\n<li><code>gcm</code> and <code>apns</code> are arrays that hold information for push notifications</li>\n</ul>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"user\">user</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"object\": \"user\",\n    \"id\": 1000454652210,\n    \"cid\": null,\n    \"facebook_identifier\": null,\n    \"email_address\": \"grace@spoonity.com\",\n    \"first_name\": \"Grace\",\n    \"last_name\": \"Duncan\",\n    \"phone_number\": \"11234567890\",\n    \"passport_number\": null,\n    \"address\": {\n      \"address1\": \"123 Smith St\",\n      \"address2\": \"\",\n      \"city\": \"\",\n      \"region\": null,\n      \"country\": null,\n      \"postal_code\": \"\"\n      },\n    \"birthdate\": 845856000,\n    \"pet\": {\n      \"name\": null,\n      \"date_of_birth\": null\n    },\n    \"created\": 1558967253,\n    \"updated\": 1559225428,\n    \"status\": {}\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number that is unique to each user</li>\n<li><code>cid</code>: safe to ignore</li>\n<li><code>email_address</code>: the user's email address</li>\n<li><code>first_name</code>: the user's first name</li>\n<li><code>last_name</code>: the user's last name</li>\n<li><code>phone_number</code>: the user's phone number</li>\n<li><code>passport_number</code>: the user's passport number</li>\n<li><code>address</code> (see Appendix): an object that holds information about the user's address</li>\n<li><code>birthdate</code>: the user's birthdate, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>created</code>: the date the user's profile was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>updated</code>: the last date this user's profile was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>status</code> (see above Appendix entry): an object that contains information about the current status of the user</li>\n</ul>\n<h6 id=\"address\">address</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"address1\": \"123 Smith St\",\n    \"address2\": \"\",\n    \"city\": \"\",\n    \"region\": null,\n    \"country\": null,\n    \"postal_code\": \"\"\n}\n\n</code></pre>\n<ul>\n<li><code>address1</code>: the first line of the user's address</li>\n<li><code>address2</code>: the second line of the user's address, if applicable</li>\n<li><code>city</code>: the user's city</li>\n<li><code>region</code>: an object that contains information about the user's region<ul>\n<li><code>region_id</code>: an internal reference number unique to each region</li>\n<li><code>name</code>: indicates the region in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>country</code>: an object that holds information about the user's country<ul>\n<li><code>country_id</code>: an internal reference number unique to each country</li>\n<li><code>name</code>: indicates the country in a way that is more user friendly</li>\n</ul>\n</li>\n<li><code>postal_code</code>: the user's postal or zip code</li>\n</ul>\n","urlObject":{"path":["user","profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"a1fb6c81-4ba7-45bf-b6b1-a7e3cc36e8ca","name":"user_profile_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 14:10:44 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"3581"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"anonymous\": false,\n    \"billing_profile\": null,\n    \"contact_consent\": 0,\n    \"created\": 1559131926,\n    \"flagged\": false,\n    \"id\": \"2974107\",\n    \"is_verified\": {\n        \"status\": true,\n        \"methods\": {\n            \"No Verification\": false,\n            \"Email\": true,\n            \"Sms\": true\n        }\n    },\n    \"language\": null,\n    \"metadata\": [\n        {\n            \"user_metadata_id\": \"6770055\",\n            \"user_metadataField_id\": 7,\n            \"field\": \"Address\",\n            \"value\": \"123 Smith St\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770056\",\n            \"user_metadataField_id\": 15,\n            \"field\": \"Address2\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770057\",\n            \"user_metadataField_id\": 8,\n            \"field\": \"City\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770058\",\n            \"user_metadataField_id\": 9,\n            \"field\": \"Province\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770059\",\n            \"user_metadataField_id\": 16,\n            \"field\": \"Country\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770060\",\n            \"user_metadataField_id\": 1,\n            \"field\": \"Postal Code\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6769939\",\n            \"user_metadataField_id\": 2,\n            \"field\": \"Phone Number\",\n            \"value\": \"1234567890\",\n            \"validation\": null,\n            \"input_type\": null\n        },\n        {\n            \"user_metadata_id\": \"6770061\",\n            \"user_metadataField_id\": 45,\n            \"field\": \"Terms Accepted\",\n            \"value\": \"\",\n            \"validation\": null,\n            \"input_type\": null\n        }\n    ],\n    \"newsletters\": {\n        \"count\": 0,\n        \"data\": [],\n        \"next_page_url\": null,\n        \"object\": \"collection\",\n        \"page\": 1,\n        \"page_size\": 50,\n        \"previous_page_url\": null,\n        \"total_pages\": 0\n    },\n    \"object\": \"user_vendor\",\n    \"online_order_token\": null,\n    \"push_endpoints\": {\n        \"gcm\": [],\n        \"apns\": []\n    },\n    \"referral_url\": \"http://app-builder.spoonity.com/storage/microsite/deploy/playa-bowls#/invite/grace1441\",\n    \"reload_amount\": 0,\n    \"reload_threshold\": 0,\n    \"status\": {\n        \"status_id\": 1,\n        \"name\": \"Active\"\n    },\n    \"updated\": 1559225428,\n    \"user\": {\n        \"object\": \"user\",\n        \"id\": 1000454652210,\n        \"cid\": null,\n        \"facebook_identifier\": null,\n        \"email_address\": \"grace@spoonity.com\",\n        \"first_name\": \"Grace\",\n        \"last_name\": \"Duncan\",\n        \"phone_number\": \"11234567890\",\n        \"passport_number\": null,\n        \"address\": {\n            \"address1\": \"123 Smith St\",\n            \"address2\": \"\",\n            \"city\": \"\",\n            \"region\": null,\n            \"country\": null,\n            \"postal_code\": \"\"\n        },\n        \"birthdate\": 845856000,\n        \"pet\": {\n            \"name\": null,\n            \"date_of_birth\": null\n        },\n        \"created\": 1558967253,\n        \"updated\": 1559225428,\n        \"status\": {}\n    },\n    \"vendor\": {}\n}"}],"_postman_id":"d284653a-d0dc-4217-ad14-d51c522573aa"},{"name":"user_profile_update","id":"246efac6-54c1-4e6e-a352-9cc501965157","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"phone_number\": {\n\t\t\"number\": \"1234567890\",\n\t\t\"code\": \"1\"\n\t}\n}"},"url":"{{endpoint}}/user/profile?session_key={{user_session_key}}","description":"<p>This request is used to update information on a user's account. If only one piece of information is being updated, only that parameter has to be sent with the request. If multiple pieces of information are being updated, multiple parameters can be sent with one request to do this. This request can be used to change things such as a user's password, email, or address.</p>\n<h4 id=\"request\">Request:</h4>\n<p>Each of these parameters are optional, it is only necessary to include the parameters that are being updated.</p>\n<blockquote>\n<p>Note: if email or password is being updated, <code>current_password</code> (string) must also be included </p>\n</blockquote>\n<ul>\n<li><code>address1</code> (string): the user's updated address</li>\n<li><code>city</code> (string): the user's updated city</li>\n<li><code>region</code> (integer): the user's updated region as the internal reference number to this region</li>\n<li><code>country</code> (integer): the user's updated country as the internal reference number to this region</li>\n<li><code>postal_code</code> (string): the user's updated postal or zip code</li>\n<li><code>phone_number</code> (object, see Appendix): an object that contains information necessary to update the user's phone number</li>\n<li><code>password</code> (string): the user's updated password, must include parameter <code>current_password</code></li>\n<li><code>email_address</code> (string): the user's updated email, must include parameter <code>current_password</code></li>\n<li><code>language</code> (integer, see Appendix): the user's updated language preference as the internal reference number for this language</li>\n<li><code>contact_consent</code> (integer, see Appendix): the user's updated consent preferences as the internal reference number to this preference</li>\n<li><code>first_name</code> (string): the user's updated first name</li>\n<li><code>last_name</code>(string): the user's updated last name</li>\n<li><code>status</code> (object, see Appendix): an object that contains the information necessary to update the user's status</li>\n<li><code>metadata</code> (object, see Appendix): an object that contains the information necessary to update a metadata value</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty however a status code of 200 OK indicates the profile was updated successfully</p>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"phone_number\">phone_number</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"number\": \"1234567890\",\n    \"code\": \"1\"\n}\n\n</code></pre>\n<ul>\n<li><code>number</code> (string): the user's updated phone number</li>\n<li><code>code</code> (string): the country code associated with this number</li>\n</ul>\n<h6 id=\"language\">language</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>1 = en (English)\n2 = fr (French)\n3 = es (Spanish)\n4 = ar (Arabic)\n\n</code></pre><h6 id=\"contact_consent\">contact_consent</h6>\n<p>Possible values and their corresponding meanings for this integer:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>0 = no contact was enabled\n1 = only email contact was enabled\n2 = only SMS contact was enabled\n3 = both email and SMS contact was enabled\n\n</code></pre><h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n<h6 id=\"metadata\">metadata</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">{\n    \"user_metadata_id\": \"6770055\",\n    \"user_metadataField_id\": 7,\n    \"field\": \"Address\",\n    \"value\": \"123 Smith St\",\n    \"validation\": null,\n    \"input_type\": null\n    }\n\n</code></pre>\n<ul>\n<li><code>user_metadata_id</code>: an internal reference number that is unique to each user metadata object</li>\n<li><code>user_metadataField_id</code>: an internal reference number that refers to the type of information this object holds</li>\n<li><code>field</code>: indicates the type of information stored in this object in a way that is more user friendly</li>\n<li><code>value</code>: the input for this type of information as it applies to the user</li>\n</ul>\n","urlObject":{"path":["user","profile"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"33200a80-17cc-4b0b-a820-14619cecf115","name":"user_profile_update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"phone_number\": {\n\t\t\"number\": \"1234567890\",\n\t\t\"code\": \"1\"\n\t}\n}"},"url":{"raw":"{{endpoint}}/user/profile?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","profile"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 18:58:50 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"0"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"246efac6-54c1-4e6e-a352-9cc501965157"},{"name":"user_token_request","id":"c3ed7657-d8f5-4098-a3e9-ce3bf938816f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"token_type\": 2\n}"},"url":"{{endpoint}}/user/token/request?session_key={{user_session_key}}","description":"<p>This request returns a unique token and barcode for the user. This barcode can be used to identify the user on check in when placing an order. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in through the query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>token_type</code> (integer): a static value that is always 2</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>barcode</code>: raw image data that can be used to identify user on check in</li>\n<li><code>created</code>: the date this token was created, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry</code>: the date this token will expire, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>id</code>: an internal reference number that is unique to each token</li>\n<li><code>status</code> (see Appendix): an object that contains information about the current status of this token</li>\n<li><code>token</code>: holds the same information encoded in the barcode, in string form</li>\n<li><code>type</code>: a reference number for the type of token being returned, always the same so safe to ignore</li>\n<li><code>updated</code>: the last date this token was updated, listed as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>user</code>: an empty object, safe to ignore</li>\n<li><code>vendor</code>: an empty object, safe to ignore</li>\n</ul>\n<h4 id=\"appendix\">Appendix:</h4>\n<h6 id=\"status\">status</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">{\n    \"id\": 1,\n    \"name\": \"Active\"\n    }\n</code></pre>\n<ul>\n<li><code>id</code>: an internal reference number indicating the status</li>\n<li><code>name</code>: indicates the current status in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["user","token","request"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"0a5be09a-5fb7-44ac-b5fd-10831c6d889d","name":"user_token_request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"token_type\": 2\n}"},"url":{"raw":"{{endpoint}}/user/token/request?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","token","request"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:43:28 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, public, s-maxage=0"},{"key":"Expires","value":"Sat, 01 Jan 2000 00:00:00 GMT"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"924"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"barcode\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAawAAAEgAQMAAADSdNVMAAAABlBMVEX///8AAABVwtN+AAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAX5JREFUaIHt2kGOAyEMRFHfwPe/pW9AqsrZ9kiTsIn0UZRWA4+dZTdQRfvNdtS6u9oPvc0Z/fymsT7Vk/EznqFOTRoYDPY1m5nSX5Vm1rS4fWU9LQKDwe4xB6OiUU5a8ZkA3bh1x4HBYBeZwtMx6v9kQa9T6ThZBwaD3WOepHzoGtQl6LhjKmnRCAaD3WMOx3ZUpuQUHs+sfAe6OoXBYNdY16bD2c2VyKx2PPKYFmEw2AfspA51YqzeEHVNqqh1lP6RFmEw2P+Z0mHGs8ei6d3e4cy+S4IWBoPdZJv9kgcVrJ1w9TGCBytHeTAY7A47W4fWOwUqSnN+l8OEIBgMdo3p54+8cgo0yJs7E6bnKS3CYLAP2N5H8Zde+x5YNjfbFah3NF2QwmCwayx9tXdRlAa9p3needI3VfqpDIXBYB8wf+z5iM7QJwlbmfocbzc6YTDYNeZ9zLOpMfdTEqydvc7KvUsYDHaNbWachKrL0c7JXe6pqE8PGAz2LaP9YnsBwc/jtlK3UtoAAAAASUVORK5CYII=\",\n    \"created\": 1559231008,\n    \"expiry\": 2147483647,\n    \"id\": \"897652\",\n    \"status\": {},\n    \"token\": \"2eb31700aad7b757751d1bf66f3d2b0c\",\n    \"type\": {},\n    \"updated\": 1559231008,\n    \"user\": {},\n    \"vendor\": {}\n}"}],"_postman_id":"c3ed7657-d8f5-4098-a3e9-ce3bf938816f"},{"name":"user_delete_submit","id":"e04a2029-b47b-4dde-912d-a81b8ebe04ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{}"},"url":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/submit?session_key={{user_session_key}}","description":"<p>This request is called when a user indicates they would like to delete their account. An email is sent to the customer with a code that will allow them to confirm the deletion process. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which that account is being deleted</li>\n<li><code>user</code> (integer): passed in using the url directly, the internal reference number for the user's account that is to be deleted</li>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response will always be empty, but a status code of 204 No Content indicates an email was successfully sent.</p>\n","urlObject":{"path":["vendor","{{vendor}}","customers","{{user}}","submit"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"eec130d5-29e2-4914-bd6e-f33d9f4716b2","name":"user_delete_submit","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{}"},"url":{"raw":"{{endpoint}}/vendor/{{vendor}}/customers/{{user}}/submit?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["vendor","{{vendor}}","customers","{{user}}","submit"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"html","header":[{"key":"Date","value":"Thu, 30 May 2019 17:09:13 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"text/html; charset=UTF-8"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e04a2029-b47b-4dde-912d-a81b8ebe04ee"},{"name":"user_delete","id":"545c1348-741f-4664-8cf8-6246f13c1753","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"code\": \"aca0a733c0ba5a8afde59ce6d6f4dbf3\"\n}"},"url":"{{endpoint}}/vendor/{{vendor}}/customers","description":"<p>The code received by the user via their email is sent to our system using this request, along with the vendor with which this account is being deleted. This request is responsible for the actual deletion of the user's account. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using the url directly, the internal reference number for the vendor with which this user's account is being deleted</li>\n<li><code>code</code> (string): the code that the user received via email</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response returns an empty array, and a status code 200 OK indicates the account was successfully deleted.</p>\n","urlObject":{"path":["vendor","{{vendor}}","customers"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"59ebe0a0-51cc-42d8-8ad4-259dc7209bc3","name":"user_delete","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"code\": \"aca0a733c0ba5a8afde59ce6d6f4dbf3\"\n}"},"url":"{{endpoint}}/vendor/1/customers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 17:11:21 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"2"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"545c1348-741f-4664-8cf8-6246f13c1753"},{"name":"user_message_read","id":"5626e884-eebd-4147-a01c-85ccc7153de0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/message?session_key={{user_session_key}}&user_message={{user_message_id}}","description":"<p>This request returns a specific message as it is linked to a user's account. The user session key that was generated with the user_authenticate request and the reference number for the desired user_message are both required. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>user_message</code> (integer): passed in using the query parameters, must match the user message id of the desired user message to be viewed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>user_message_id</code>: an internal reference number that links the message to this specific user</li>\n<li><code>user_id</code>: an internal reference number unique to each user</li>\n<li><code>message</code>: an object that contains information about this message, this object contains:<ul>\n<li><code>message_id</code>: an internal reference number unique to each message</li>\n<li><code>title</code>: the title of this message</li>\n<li><code>subtitle</code>: the subtitle of this message</li>\n<li><code>banner</code>: a direct url for the banner image in this message</li>\n<li><code>body</code>: the body of this message </li>\n<li><code>publish_date</code>: the time this message was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry_date</code>: the time this message will expire as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>read</code>: a boolean indicating if this message has been read by this user</li>\n</ul>\n","urlObject":{"path":["user","message"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"user_message","value":"{{user_message_id}}"}],"variable":[]}},"response":[{"id":"32ae1e80-6544-4acd-a4e6-bc1f751799db","name":"user_message_read","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/message?session_key={{user_session_key}}&user_message={{user_message_id}}","host":["{{endpoint}}"],"path":["user","message"],"query":[{"key":"session_key","value":"{{user_session_key}}"},{"key":"user_message","value":"{{user_message_id}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.7"},{"key":"Date","value":"Thu, 18 Mar 2021 15:09:45 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"375"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"clear"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_message_id\": 3296353,\n    \"user_id\": 582846,\n    \"message\": {\n        \"message_id\": 995,\n        \"title\": \"test env\",\n        \"subtitle\": null,\n        \"banner\": null,\n        \"body\": \"<!DOCTYPE html>\\n<html>\\n<head>\\n</head>\\n<body>\\n<p>test env content</p>\\n</body>\\n</html>\",\n        \"publish_date\": 1587684453,\n        \"expiry_date\": null\n    },\n    \"read\": false\n}"}],"_postman_id":"5626e884-eebd-4147-a01c-85ccc7153de0"},{"name":"user_message_update","id":"53cda47a-7f1a-4246-a05c-46aac03ba528","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user_message\": 3296353,\n    \"read\": false,\n    \"status_id\": 1\n}"},"url":"{{endpoint}}/user/message?session_key={{user_session_key}}","description":"<p>This request is used to update the details of a specific message linked to a user's account. Specifically, it can be used to delete a message via the status_id, or to mark a message as read by this user.</p>\n<h4 id=\"request\">Request:</h4>\n<p>Required parameters:</p>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n<li><code>user_message</code> (integer): the internal reference number that refers to the desired message as it is linked to the user's account</li>\n<li><code>status_id</code> (integer): an internal reference number that indicates the current status of this user message</li>\n</ul>\n<p>Optional Parameters:</p>\n<ul>\n<li><code>read</code> (boolean): a boolean indicating if this message has been read by the user</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>user_message_id</code>: an internal reference number that links the message to this specific user</li>\n<li><code>user_id</code>: an internal reference number unique to each user</li>\n<li><code>message</code>: an object that contains information about this message, this object contains:<ul>\n<li><code>message_id</code>: an internal reference number unique to each message</li>\n<li><code>title</code>: the title of this message</li>\n<li><code>subtitle</code>: the subtitle of this message</li>\n<li><code>banner</code>: a direct url for the banner image in this message</li>\n<li><code>body</code>: the body of this message </li>\n<li><code>publish_date</code>: the time this message was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry_date</code>: the time this message will expire as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>read</code>: a boolean indicating if this message has been read by this user</li>\n</ul>\n","urlObject":{"path":["user","message"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"adfaca13-e008-4e36-be20-8db55bc60fa8","name":"user_message_update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user_message\": 3296353,\n    \"read\": true,\n    \"status_id\": 1\n}"},"url":{"raw":"{{endpoint}}/user/message?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","message"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.7"},{"key":"Date","value":"Thu, 18 Mar 2021 15:23:15 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"374"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"clear"}],"cookie":[],"responseTime":null,"body":"{\n    \"user_message_id\": 3296353,\n    \"user_id\": 582846,\n    \"message\": {\n        \"message_id\": 995,\n        \"title\": \"test env\",\n        \"subtitle\": null,\n        \"banner\": null,\n        \"body\": \"<!DOCTYPE html>\\n<html>\\n<head>\\n</head>\\n<body>\\n<p>test env content</p>\\n</body>\\n</html>\",\n        \"publish_date\": 1587684453,\n        \"expiry_date\": null\n    },\n    \"read\": true\n}"}],"_postman_id":"53cda47a-7f1a-4246-a05c-46aac03ba528"},{"name":"user_message_list","id":"643bc505-dd33-4319-a7f7-d478aee1900a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/user/message/list?session_key={{user_session_key}}","description":"<p>This request returns a list of all messages linked to a specific user. The internal reference numbers for each user message can be found here, which allows a specific message to be accessed at a later time. </p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>session_key</code> (string): passed in using query parameters, must match the session identifier key created with the user_authenticate request in the \"Registering an account\" workflow</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>The response appears as an array of objects where each object contains information about an individual message as it is linked to a specific user. Each object contains:</p>\n<ul>\n<li><code>user_message_id</code>: an internal reference number that links the message to this specific user</li>\n<li><code>user_id</code>: an internal reference number unique to each user</li>\n<li><code>message</code>: an object that contains information about this message, this object contains:<ul>\n<li><code>message_id</code>: an internal reference number unique to each message</li>\n<li><code>title</code>: the title of this message</li>\n<li><code>subtitle</code>: the subtitle of this message</li>\n<li><code>banner</code>: a direct url for the banner image in this message</li>\n<li><code>body</code>: the body of this message </li>\n<li><code>publish_date</code>: the time this message was created as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n<li><code>expiry_date</code>: the time this message will expire as a Unix timestamp in seconds from 1970-01-01 00:00:00</li>\n</ul>\n</li>\n<li><code>read</code>: a boolean indicating if this message has been read by this user</li>\n</ul>\n","urlObject":{"path":["user","message","list"],"host":["{{endpoint}}"],"query":[{"key":"session_key","value":"{{user_session_key}}"}],"variable":[]}},"response":[{"id":"1e789f8e-77c8-4283-a6ff-d5648009b381","name":"user_message_list","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/user/message/list?session_key={{user_session_key}}","host":["{{endpoint}}"],"path":["user","message","list"],"query":[{"key":"session_key","value":"{{user_session_key}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.7"},{"key":"Date","value":"Thu, 18 Mar 2021 15:09:51 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"391"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"clear"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"user_message_id\": 3296353,\n        \"user_id\": 582846,\n        \"vendor_id\": 1,\n        \"message\": {\n            \"message_id\": 995,\n            \"title\": \"test env\",\n            \"subtitle\": null,\n            \"banner\": null,\n            \"body\": \"<!DOCTYPE html>\\n<html>\\n<head>\\n</head>\\n<body>\\n<p>test env content</p>\\n</body>\\n</html>\",\n            \"publish_date\": 1587684453,\n            \"expiry_date\": null\n        },\n        \"read\": false\n    }\n]"}],"_postman_id":"643bc505-dd33-4319-a7f7-d478aee1900a"}],"id":"65056867-7301-484e-a655-5b8f8a4899e0","description":"","event":[{"listen":"prerequest","script":{"id":"17edb228-5fbb-4cd2-adf8-d81d094efb2c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"657fcd6c-2dce-416b-8cbf-1d9c68256129","type":"text/javascript","exec":[""]}}],"_postman_id":"65056867-7301-484e-a655-5b8f8a4899e0"},{"name":"other/helpers","item":[{"name":"/countries","id":"1aed3ac7-200e-447f-a5fa-9191bf0850b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries","description":"<p>This request returns a list of all the countries this vendor serves. This is designed to be a helper request for form building.</p>\n<h4 id=\"request\">Request:</h4>\n<p>There are no parameters required for this request.</p>\n<h4 id=\"response\">Response:</h4>\n<p>This request returns an array of country objects, each object contains:</p>\n<ul>\n<li><code>country_id</code>: an internal reference number unique to each country</li>\n<li><code>code</code>: the two letter ISO 3166-1 code associated with this country</li>\n<li><code>name</code>: indicates the country in a way that is more user friendly</li>\n<li><code>phone_code</code>: this country's calling code</li>\n<li><code>zip_validate</code>: used to validate a postal or zip code for this country</li>\n<li><code>phone_validate</code>: used to validate a phone number for this country</li>\n<li><code>flag_url</code>: a url that links this country's flag</li>\n</ul>\n","urlObject":{"path":["vendor","countries"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"7fb977b1-f7f2-4b08-a8b6-3ca8afc8d222","name":"/countries","originalRequest":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:20:01 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"country_id\": 1,\n        \"code\": \"AF\",\n        \"name\": \"Afghanistan\",\n        \"phone_code\": \"93\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/af.png\"\n    },\n    {\n        \"country_id\": 2,\n        \"code\": \"AL\",\n        \"name\": \"Albania\",\n        \"phone_code\": \"355\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/al.png\"\n    },\n    {\n        \"country_id\": 3,\n        \"code\": \"DZ\",\n        \"name\": \"Algeria\",\n        \"phone_code\": \"213\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/dz.png\"\n    },\n    {\n        \"country_id\": 6,\n        \"code\": \"AO\",\n        \"name\": \"Angola\",\n        \"phone_code\": \"244\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/ao.png\"\n    },\n    {\n        \"country_id\": 8,\n        \"code\": \"AQ\",\n        \"name\": \"Antarctica\",\n        \"phone_code\": \"672\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/aq.png\"\n    }, ...\n\n    \n   ... {\n        \"country_id\": 231,\n        \"code\": \"VN\",\n        \"name\": \"Viet Nam\",\n        \"phone_code\": \"84\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/vn.png\"\n    },\n    {\n        \"country_id\": 232,\n        \"code\": \"WF\",\n        \"name\": \"Wallis And Futuna Islands\",\n        \"phone_code\": \"681\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/wf.png\"\n    },\n    {\n        \"country_id\": 233,\n        \"code\": \"EH\",\n        \"name\": \"Western Sahara\",\n        \"phone_code\": \"212\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/eh.png\"\n    },\n    {\n        \"country_id\": 236,\n        \"code\": \"ZR\",\n        \"name\": \"Zaire\",\n        \"phone_code\": \"0\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/zr.png\"\n    },\n    {\n        \"country_id\": 237,\n        \"code\": \"ZM\",\n        \"name\": \"Zambia\",\n        \"phone_code\": \"260\",\n        \"zip_validate\": null,\n        \"phone_validate\": null,\n        \"flag_url\": \"https://s3.amazonaws.com/spoonity-flags/zm.png\"\n    }\n]"}],"_postman_id":"1aed3ac7-200e-447f-a5fa-9191bf0850b3"},{"name":"/countries/regions","id":"a1603994-afec-4d20-8b6a-20ab03ab041a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries/{{country}}/regions","description":"<p>This request returns a list of all the regions within a specific country this vendor serves. This is designed to be a helper request for form building.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>country</code> (integer): provided via the url directly, the internal reference number for the country whose regions are being listed</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<p>This request returns an array of region objects, each object contains:</p>\n<ul>\n<li><code>region_id</code>: an internal reference number unique to each region</li>\n<li><code>code</code>: the ISO 3166-2 subdivision code for this region</li>\n<li><code>name</code>: indicates the region in a way that is more user friendly</li>\n</ul>\n","urlObject":{"path":["vendor","countries","{{country}}","regions"],"host":["{{endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"c146a448-c1c7-4542-b700-0b6cb8c7bb62","name":"/countries/regions","originalRequest":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/countries/{{country}}/regions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 May 2019 15:37:04 GMT"},{"key":"Server","value":"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"694"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"region_id\": 136,\n        \"code\": \"AB\",\n        \"name\": \"Alberta\"\n    },\n    {\n        \"region_id\": 137,\n        \"code\": \"BC\",\n        \"name\": \"British Columbia\"\n    },\n    {\n        \"region_id\": 138,\n        \"code\": \"MB\",\n        \"name\": \"Manitoba\"\n    },\n    {\n        \"region_id\": 139,\n        \"code\": \"NB\",\n        \"name\": \"New Brunswick\"\n    },\n    {\n        \"region_id\": 140,\n        \"code\": \"NL\",\n        \"name\": \"Newfoundland and Labrador\"\n    },\n    {\n        \"region_id\": 141,\n        \"code\": \"NT\",\n        \"name\": \"Northwest Territories\"\n    },\n    {\n        \"region_id\": 142,\n        \"code\": \"NS\",\n        \"name\": \"Nova Scotia\"\n    },\n    {\n        \"region_id\": 143,\n        \"code\": \"NU\",\n        \"name\": \"Nunavut\"\n    },\n    {\n        \"region_id\": 144,\n        \"code\": \"ON\",\n        \"name\": \"Ontario\"\n    },\n    {\n        \"region_id\": 145,\n        \"code\": \"PE\",\n        \"name\": \"Prince Edward Island\"\n    },\n    {\n        \"region_id\": 146,\n        \"code\": \"QC\",\n        \"name\": \"Québec\"\n    },\n    {\n        \"region_id\": 147,\n        \"code\": \"SK\",\n        \"name\": \"Saskatchewan\"\n    },\n    {\n        \"region_id\": 148,\n        \"code\": \"YT\",\n        \"name\": \"Yukon Territory\"\n    }\n]"}],"_postman_id":"a1603994-afec-4d20-8b6a-20ab03ab041a"},{"name":"privacy_policy","id":"c81c7882-14cb-4898-996b-048261f294b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/content/privacy-policy?vendor={{vendor}}","description":"<p>This request retrieves the privacy policy content set by a vendor.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using query parameters, the internal reference ID of the vendor who's content is being retrieved</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>title</code>: the title of the privacy policy</li>\n<li><code>content</code>: the content of the privacy policy</li>\n</ul>\n","urlObject":{"path":["vendor","content","privacy-policy"],"host":["{{endpoint}}"],"query":[{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"da680267-5070-47bc-b7b0-5b4f419f1259","name":"privacy_policy","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/content/privacy-policy?vendor={{vendor}}","host":["{{endpoint}}"],"path":["vendor","content","privacy-policy"],"query":[{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.0"},{"key":"Date","value":"Tue, 16 Aug 2022 12:45:23 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"2253"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"vendor_content\",\n    \"title\": \"Privacy Policy\",\n    \"content\": \"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vestibulum arcu vitae urna rutrum eleifend. Vivamus varius pretium gravida. Nunc sit amet felis sem. Sed commodo nisi ligula, et hendrerit ante fermentum ut. Praesent sed erat in nisl efficitur tristique. Nam at urna a enim iaculis semper. Phasellus erat felis, pretium eget eleifend id, bibendum a magna. In sit amet hendrerit magna. Sed vel sapien sodales, rhoncus urna non, bibendum felis. Suspendisse eu lacus tellus. Suspendisse potenti. Vestibulum id nisi eu lectus accumsan dapibus sit amet id sem.</p>\\n<p>Mauris lobortis porta risus, sollicitudin scelerisque dui accumsan sit amet. Mauris at augue non nulla luctus hendrerit et in sapien. Mauris sit amet mauris orci. Nam laoreet magna at enim molestie dictum. Mauris est orci, luctus euismod egestas ut, scelerisque nec sapien. Integer a ex eu velit hendrerit faucibus ac sit amet elit. Proin eget libero at elit blandit auctor laoreet non nisl. Phasellus purus magna, posuere a nisi ac, lobortis euismod libero. Mauris augue velit, ornare sed tortor eget, consequat bibendum ligula. Ut non vehicula orci, vel aliquam sapien. Vestibulum tempor libero nulla, sit amet vulputate dui viverra a. Duis ultrices augue sit amet arcu mollis, ut scelerisque lectus euismod. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut auctor nisl ante, non ultricies metus molestie ut. Aliquam a leo consequat, volutpat velit vitae, cursus nisl.</p>\\n<p>Nullam malesuada eros eu purus elementum, nec fringilla nisi congue. Maecenas placerat ligula feugiat magna porta, quis molestie tellus tempus. Nulla ac odio tempus, vulputate lacus nec, porttitor diam. Integer aliquam, ligula a facilisis auctor, nunc lacus blandit nisi, nec vehicula massa dui eu est. Quisque sollicitudin eget tortor non feugiat. Cras scelerisque sapien vel urna maximus ultrices a vitae lacus. Quisque a sem diam. Praesent scelerisque, magna eget faucibus varius, nunc metus commodo nibh, tempor semper mi tortor vel diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\",\n    \"version\": null\n}"}],"_postman_id":"c81c7882-14cb-4898-996b-048261f294b5"},{"name":"terms_of_service","id":"b90eb3f1-fcbf-4c63-98af-1fc7c6b1300c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{endpoint}}/vendor/content/terms-of-service?vendor={{vendor}}","description":"<p>This request retrieves the terms of service content set by a vendor.</p>\n<h4 id=\"request\">Request:</h4>\n<ul>\n<li><code>vendor</code> (integer): passed in using query parameters, the internal reference ID of the vendor who's content is being retrieved</li>\n</ul>\n<h4 id=\"response\">Response:</h4>\n<ul>\n<li><code>title</code>: the title of the terms of service</li>\n<li><code>content</code>: the content of the terms of service</li>\n</ul>\n","urlObject":{"path":["vendor","content","terms-of-service"],"host":["{{endpoint}}"],"query":[{"key":"vendor","value":"{{vendor}}"}],"variable":[]}},"response":[{"id":"2b7dc959-bd48-4c8d-bca0-3204484117f3","name":"terms_of_service","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{endpoint}}/vendor/content/terms-of-service?vendor={{vendor}}","host":["{{endpoint}}"],"path":["vendor","content","terms-of-service"],"query":[{"key":"vendor","value":"{{vendor}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.0"},{"key":"Date","value":"Mon, 15 Aug 2022 21:59:31 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Length","value":"2255"},{"key":"X-Powered-By","value":"PHP/7.2.21"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Origin, x-requested-with, API-SESSION, Content-Type, Content-Range, Content-Disposition, Content-Description, Authorization"},{"key":"Cache-Control","value":"max-age=0, must-revalidate, no-cache, no-store, private"},{"key":"Pragma","value":"no-cache"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Via","value":"1.1 google"},{"key":"Alt-Svc","value":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"}],"cookie":[],"responseTime":null,"body":"{\n    \"object\": \"vendor_content\",\n    \"title\": \"Terms of Service\",\n    \"content\": \"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vestibulum arcu vitae urna rutrum eleifend. Vivamus varius pretium gravida. Nunc sit amet felis sem. Sed commodo nisi ligula, et hendrerit ante fermentum ut. Praesent sed erat in nisl efficitur tristique. Nam at urna a enim iaculis semper. Phasellus erat felis, pretium eget eleifend id, bibendum a magna. In sit amet hendrerit magna. Sed vel sapien sodales, rhoncus urna non, bibendum felis. Suspendisse eu lacus tellus. Suspendisse potenti. Vestibulum id nisi eu lectus accumsan dapibus sit amet id sem.</p>\\n<p>Mauris lobortis porta risus, sollicitudin scelerisque dui accumsan sit amet. Mauris at augue non nulla luctus hendrerit et in sapien. Mauris sit amet mauris orci. Nam laoreet magna at enim molestie dictum. Mauris est orci, luctus euismod egestas ut, scelerisque nec sapien. Integer a ex eu velit hendrerit faucibus ac sit amet elit. Proin eget libero at elit blandit auctor laoreet non nisl. Phasellus purus magna, posuere a nisi ac, lobortis euismod libero. Mauris augue velit, ornare sed tortor eget, consequat bibendum ligula. Ut non vehicula orci, vel aliquam sapien. Vestibulum tempor libero nulla, sit amet vulputate dui viverra a. Duis ultrices augue sit amet arcu mollis, ut scelerisque lectus euismod. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut auctor nisl ante, non ultricies metus molestie ut. Aliquam a leo consequat, volutpat velit vitae, cursus nisl.</p>\\n<p>Nullam malesuada eros eu purus elementum, nec fringilla nisi congue. Maecenas placerat ligula feugiat magna porta, quis molestie tellus tempus. Nulla ac odio tempus, vulputate lacus nec, porttitor diam. Integer aliquam, ligula a facilisis auctor, nunc lacus blandit nisi, nec vehicula massa dui eu est. Quisque sollicitudin eget tortor non feugiat. Cras scelerisque sapien vel urna maximus ultrices a vitae lacus. Quisque a sem diam. Praesent scelerisque, magna eget faucibus varius, nunc metus commodo nibh, tempor semper mi tortor vel diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\",\n    \"version\": null\n}"}],"_postman_id":"b90eb3f1-fcbf-4c63-98af-1fc7c6b1300c"}],"id":"06044eed-4b75-4c16-9933-60f6935b038e","_postman_id":"06044eed-4b75-4c16-9933-60f6935b038e","description":""}]}