{"info":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","description":"<html><head></head><body><p>Welcome to the Slyp Bank API!</p>\n<p>This information is intended as a technical reference for developers at partner Banks. Included is a full specification of each of the Slyp API endpoints relevant to banking partners, including request examples with sample code in multiple languages, use cases and response formats.</p>\n<p>For any assistance, error reporting or feedback please contact <a href=\"mailto:dev@slyp.com.au\">dev@slyp.com.au</a></p>\n<h1 id=\"api\">API</h1>\n<p>The following applies to the entire Slyp API, and is considered assumed knowledge throughout the rest of this resource.</p>\n<p>The Slyp API is based on RESTful principles with predictable, resource-oriented URLs and uses HTTP response codes to indicate successful API calls and errors. The API has built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients.</p>\n<p>Data Type definitions are included throughout this documentation to accompany request/response formats that use them. Required fields marked by an asterisk. Fields that are not required may be omitted in requests, and will typically be set to a default value of <code>null</code> unless otherwise stated. The fields included in a particular response instance may vary according to context, such as the role of the user making the request. For example, some attributes of a <code>Receipt</code> that are set by Consumers are not available to Merchants and vice versa.</p>\n<p>JSON is returned by all API responses, including errors.</p>\n<h1 id=\"errors\">Errors</h1>\n<p>Slyp makes use of standard HTTP response codes to indicate the outcome of an API request, as follows:</p>\n<ul>\n<li><code>2XX</code> response codes indicate success,</li>\n<li><code>3XX</code> response codes indicate a previous success,</li>\n<li><code>4XX</code> response codes indicate a failure, with additional information provided to elaborate on the reason for the failure,</li>\n<li><code>5XX</code> response codes indicate an error within the Smart Receipt solution.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th>HTTP CODE SUMMARY</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200 - OK</td>\n<td>Everything worked as expected.</td>\n</tr>\n<tr>\n<td>201 - Created</td>\n<td>The resource was created successfully. Resulting from a successful <code>POST</code> request.</td>\n</tr>\n<tr>\n<td>400 - Bad Request</td>\n<td>The request was invalid - generally due to missing, required or invalid parameters.</td>\n</tr>\n<tr>\n<td>401 - Unauthorized</td>\n<td>The API key or JWT provided was invalid or not authorised for this resource or action.</td>\n</tr>\n<tr>\n<td>402 - Request Failed</td>\n<td>The parameters were valid but the request failed.</td>\n</tr>\n<tr>\n<td>404 - Not Found</td>\n<td>The requested resource doesn't exist.</td>\n</tr>\n<tr>\n<td>409 - Conflict</td>\n<td>The resource already exists. Generally resulting from using the same idempotent key.</td>\n</tr>\n<tr>\n<td>429 - Too Many Requests</td>\n<td>Too many requests hit the API too quickly. We recommend an exponential back-off of your requests.</td>\n</tr>\n<tr>\n<td>500, 502, 503, 504 - Server Errors</td>\n<td>Something went wrong on our end. (These are rare.)</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Error Response Sample:</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n  \"status\": 401,\n  \"msg\": \"Unauthorized\",\n  \"code\": \"\", // Programatic error codes not yet implemented\n  \"request_id\": \"\", // unimplemented correlation id for the request\n  \"detail\": {} // arbitrary object for including further information or raw error responses\n}\n</code></pre>\n<h1 id=\"pagination\">Pagination</h1>\n<p>All top-level API resources have support for bulk fetches via \"list\" API methods. For instance you can list Receipts, list Promotions, and list Merchants. These list API methods share a common structure, taking two optional parameters: <code>limit</code> and <code>offset</code>.\n<br></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th>ARGUMENTS</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>limit</strong><br>Integer<br>Default: 10</td>\n<td>A limit on the number of objects to be returned per page, between 1 and 100.</td>\n</tr>\n<tr>\n<td><strong>offset</strong><br>Integer<br>Default: 0</td>\n<td>The number of records to skip offset by.</td>\n</tr>\n</tbody>\n</table>\n</div><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th>LIST RESPONSE FORMAT</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>current_offset</strong><br>Integer</td>\n<td>The offset used for this query from 0 index (the first item is item 0).</td>\n</tr>\n<tr>\n<td><strong>next_offset</strong><br>Integer</td>\n<td>The offset the client should use when making the next query to get the next 'page'.</td>\n</tr>\n<tr>\n<td><strong>items</strong><br>Array</td>\n<td>An array containing the actual response elements, paginated by any request parameters.</td>\n</tr>\n<tr>\n<td><strong>total</strong><br>Integer</td>\n<td>The total number of records available for given request parameters.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Example with offset to receive next page after the first 10 have already been received: </p>\n<blockquote>\n<p><code>.../merchants/:id/receipts?offset=10</code>\nExample with offset and limit to retrieve only the second item:\n<code>.../merchants/:id?receipts?offset=1&amp;limit=1</code></p>\n</blockquote>\n<h1 id=\"sorting\">Sorting</h1>\n<p>API responses with lists of data can be sorted by providing a sort parameter in the query string such as <code>sort=total_price</code> on a receipts request.</p>\n<p>The parameter may be prepended with a + or - to specify a sort order. The default is ascending (+). eg: <code>sort=-total_price</code> would sort items based on the <code>total_price</code> field in reverse order.</p>\n<p>By default, if no sort parameters are specified, the sort order is ascending on the default sorting field (typically time based, such as time of creation). Pass <code>sort=desc</code> in the query string to reverse the order on the default sorting field.</p>\n<h1 id=\"versioning\">Versioning</h1>\n<p>When necessary backwards-incompatible changes to the API are released, we release a new versioned prefix. The current version is <code>/v1/</code>. Read our API upgrades guide to see our API changelog and to learn more about backwards compatibility.</p>\n<blockquote>\n<p><em>As a precaution, use API versioning to test a new API version before committing to an upgrade.</em></p>\n</blockquote>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"API","slug":"api"},{"content":"Errors","slug":"errors"},{"content":"Pagination","slug":"pagination"},{"content":"Sorting","slug":"sorting"},{"content":"Versioning","slug":"versioning"}],"owner":"6320148","collectionId":"962cda89-6606-4f2e-918e-ae4f64f1c848","publishedId":"SzYT5hFD","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-03-25T06:35:24.000Z"},"item":[{"name":"Authenticate","item":[{"name":"Get an Access Token using MTLS","id":"d2b03a19-948b-4a08-ab9a-4b99adf0fbe0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://auth.api.uat-slyp.com.au","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}},"urlObject":{"protocol":"https","host":["auth","api","uat-slyp","com","au"],"query":[],"variable":[]}},"response":[],"_postman_id":"d2b03a19-948b-4a08-ab9a-4b99adf0fbe0"}],"id":"0b433b54-d7b5-44be-aa3e-4d35806229ce","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Document comments</th>\n<th>Version</th>\n<th>Date</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Initial technical specification</td>\n<td>1.0</td>\n<td>29 November 2019</td>\n</tr>\n<tr>\n<td>Updated X.509 field specification</td>\n<td>2.0</td>\n<td>3 December 2019</td>\n</tr>\n<tr>\n<td>Amended technical documentation; updated endpoint URL</td>\n<td>2.1</td>\n<td>23 December 2019</td>\n</tr>\n<tr>\n<td>Updated CA information and X.509 field specification</td>\n<td>3.0</td>\n<td>14 February 2020</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"technical-overview\">Technical Overview</h2>\n<p>This document is intended for a Slyp enabled Bank engineering team to connect to the Slyp authentication service,\nfor the purposes of integrating a Bank with Slyp.\nSlyp implements a Mutual TLS (MTLS) authentication protocol which requires both developers and production machines\nto use Public Key Infrastructure (PKI). This enables both the Slyp host server and its participating Bank clients to cryptographically (and mutually) authenticate their identity with Slyp before generating a Bank-scoped, short lived JWT token\nfor use with the Slyp API.\nThe Slyp API documentation will be supplied to a connecting party separately.</p>\n<h2 id=\"x509-certificate-authority\">X.509 Certificate Authority</h2>\n<p>The current Certificate Authority (CA) for Slyp is GlobalSign. More information about GlobalSign and its trust services can be found at <a href=\"https://www.globalsign.com\">https://www.globalsign.com</a></p>\n<h3 id=\"x509-certificate-authority-trust-chain\">X.509 Certificate Authority trust chain</h3>\n<p>To use MTLS with Slyp under the GlobalSign Root certificate, your systems must trust:\n    - GlobalSign Root CA - R3 (d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad)\n    -- GlobalSign RSA OV SSL CA 2018 (df:e8:30:23:06:2b:99:76:82:70:8b:4e:ab:8e:81:9a:ff:5d:97:75)</p>\n<h2 id=\"x509-certificate-types-for-developer-testing-and-production-systems\">X.509 Certificate Types for Developer Testing and Production Systems</h2>\n<p>Slyp supports the use of Bank-scoped developer certificates for the purposes of System Integration Testing (SIT), and will sign certificates that differentiate between clients that are Bank engineering team staff and production system clients.\nTo inspect the type of certificate you will be generating, a configuration file <code>client.cnf</code> will be distributed as a part of this ZIP archive (the \"Slyp authentication development kit\").</p>\n<h3 id=\"x509-subject-for-bank-engineering-team\">X.509 Subject for Bank engineering team</h3>\n<p>The X.509 subject for developer testing client certificates will be of the form:\n    C                      = AU\n    ST                     = New South Wales\n    L                      = Sydney\n    O                      = Slyp Pty Ltd\n    CN                     = .bank.test.slyp.com.au</p>\n<h3 id=\"x509-subject-for-production-system-clients\">X.509 Subject for production system clients</h3>\n<p>The X.509 subject for production system client certificates will be of the form:\n    C                      = AU\n    ST                     = New South Wales\n    L                      = Sydney\n    O                      = Slyp Pty Ltd\n    CN                     = .bank.prod.slyp.com.au</p>\n<h2 id=\"required-software-and-tooling\">Required Software and Tooling</h2>\n<p>To request a Bank-scoped client certificate for use with the Slyp authentication service via MTLS,\nyou must have OpenSSL, or equivalent, to generate X.509 client certificates.</p>\n<h2 id=\"generating-a-bank-scoped-x509-client-certificate\">Generating a Bank-scoped X.509 client certificate</h2>\n<h3 id=\"step-1\">Step 1.</h3>\n<p>To request an X.509 client certificate from Slyp, you must first generate and secure in accordance with the Slyp\nkey management policies, a private key to identify the user or production machine that will connect to the Slyp authentication\nservice.\nThis is achieved by running:\n    openssl genrsa -aes256 -passout stdin -out client-key.pem 4096\nand supply a passphrase at the command line.</p>\n<h3 id=\"step-2\">Step 2.</h3>\n<p>With your newly generated client certificate, you can now request a bank-scoped developer or production machine certificate\nby using your private key to create a certificate signing request (CSR).\nThe type of certificate you request will be included in your Slyp authentication development kit package as <code>client.cnf</code> and\ndistributed to you with this documentation.\nTo generate the CSR, execute:\n    openssl req -new -config client.cnf -key client-key.pem -out client-csr.pem</p>\n<h3 id=\"step-3\">Step 3.</h3>\n<p>The resultant CSR file must be sent to the certificate authority, Slyp, to sign and return the requested client certificate.\nThe method for sending and receiving CSR correspondence is via email, at the address:\n    <a href=\"mailto:pki@slyp.com.au\">pki@slyp.com.au</a>\nThe generated <code>client-csr.pem</code> file is non-sensitive, and will be verified by Slyp for its client eligibility.\nUpon receiving the CSR, Slyp will verify the legitimacy of the CSR and provide a client certificate to the requester if eligible.</p>\n<h3 id=\"step-4\">Step 4.</h3>\n<p>Once you have obtained a client certificate, you may now load into the JWT requesting software:</p>\n<ol>\n<li><code>ca-crt.pem</code> - the Slyp Root Certificate Authority certificate</li>\n<li><code>client-crt.pem</code> - your CA-signed X.509 client certificate</li>\n<li><code>client-key.pem</code> - your private key\nand request a JWT by making an MTLS secured HTTP GET request to:\n<a href=\"https://auth.api.slyp.com.au/\">https://auth.api.slyp.com.au/</a></li>\n</ol>\n","event":[{"listen":"prerequest","script":{"id":"e8a384dd-1322-4664-8d80-fdcec69d04b6","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a7362377-ab2d-488d-b5fa-7f3181e563b4","type":"text/javascript","exec":[""]}}],"_postman_id":"0b433b54-d7b5-44be-aa3e-4d35806229ce","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}}},{"name":"Consumer","item":[{"name":"Create a new Consumer","event":[{"listen":"test","script":{"id":"3d4134db-6efe-416b-92f1-359ac58897b6","exec":["var jsonData = JSON.parse(responseBody);","","if (responseCode.code === 200) {","    pm.environment.set(\"consumer-id\", jsonData.id);","}","","if (data.test !== \"true\" | data.test_bank === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"d9562646-6b52-4f60-9e0e-341b1dede1e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n    \"external_id\": \"hPHlYbgz2HcYHWh3YBOm90DePG6tofMd\",\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"female\",\n    \"is_active\": true\n}"},"url":"{{apiPrefix}}/consumers","urlObject":{"path":["consumers"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"ca9a483a-4d7c-4425-8c21-59bc44cdd81b","name":"Create a new Consumer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n    \"external_id\": \"hPHlYbgz2HcYHWh3YBOm90DePG6tofMd\",\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"femail\",\n    \"is_active\": true,\n}"},"url":"{{apiPrefix}}/consumers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 22 Jul 2019 05:04:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"880"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.13.0"},{"key":"X-Protected-By","value":"Sqreen"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Content-Type, Authorization, Content-Length, X-Requested-With"},{"key":"ETag","value":"W/\"370-cssKad80sd97z1Y5HsHynhcTptg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"xref\": \"C-X-e477226babc154ee6f6487b635696e4e409849b4\",\n    \"external_id\": \"hPHlYbgz2HcYHWh3YBOm90DePG6tofMd\",\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"female\",\n    \"is_active\": true\n}"}],"_postman_id":"d9562646-6b52-4f60-9e0e-341b1dede1e3"},{"name":"Get a single Consumer record","event":[{"listen":"test","script":{"id":"3ba0254c-ca1b-48c2-a4e4-d2e638d56c85","exec":["var jsonData = JSON.parse(responseBody);","","if (responseCode.code === 200) {","    pm.environment.set(\"consumer-id\", jsonData.id);","}","","if (data.test !== \"true\" | data.test_bank === \"positive\" | data.test_consumer === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"69334db0-f409-4851-952b-3e27207d2c3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/consumers/{{consumer-xref}}","urlObject":{"path":["consumers","{{consumer-xref}}"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"714302ce-515d-437c-9fb6-521627cfcd22","name":"Get a single Consumer record","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/consumers/{{consumer-xref}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 22 Jul 2019 05:04:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"910"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.13.0"},{"key":"X-Protected-By","value":"Sqreen"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Content-Type, Authorization, Content-Length, X-Requested-With"},{"key":"ETag","value":"W/\"38e-Xeg5FlV8G+GfgBOMBmoZtFbU6uA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"xref\": \"C-X-e477226babc154ee6f6487b635696e4e409849b4\",\n    \"external_id\": \"hPHlYbgz2HcYHWh3YBOm90DePG6tofMd\",\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"female\",\n    \"is_active\": true\n}"}],"_postman_id":"69334db0-f409-4851-952b-3e27207d2c3a"},{"name":"Update an existing Consumer","event":[{"listen":"test","script":{"id":"a5948120-6bc7-4f45-997d-e720679711bb","exec":["if (data.test !== \"true\" | data.test_bank === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"49d9c6e1-4437-4163-ae84-dd38d1debf7a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"male\",\n    \"is_active\": false\n}\n"},"url":"{{apiPrefix}}/consumers/{{consumer-xref}}","urlObject":{"path":["consumers","{{consumer-xref}}"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"c5ed0640-b57f-4abf-8eeb-76c55f526f59","name":"Update an existing Consumer","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n    \"address\": {\n        \"state\": \"NSW\",\n        \"postcode\": \"2000\",\n        \"country_code\": \"au\"\n    },\n    \"date_of_birth\": {\n    \t\"date\": \"1991-01-01\",\n    \t\"fidelity\": \"age_range\"\n    },\n    \"gender\": \"male\",\n    \"is_active\": false\n}"},"url":"{{apiPrefix}}/consumers/{{consummer-xref}}"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Length","value":"0","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"49d9c6e1-4437-4163-ae84-dd38d1debf7a"},{"name":"Delete a single Consumer record","event":[{"listen":"test","script":{"id":"ca43f23a-86ac-46e9-8ec3-a6a8b025b7a7","exec":["if (data.test !== \"true\" | data.test_bank === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"0be46fef-06b0-4f59-9056-d747b6f86e40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":""},"url":"{{apiPrefix}}/consumers/{{consumer-xref}}","urlObject":{"path":["consumers","{{consumer-xref}}"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"0b290edc-3000-45a2-950d-7960cdd7db14","name":"Delete a single Consumer record","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":""},"url":"{{apiPrefix}}/consumers/{{consumer-xref}}"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"0be46fef-06b0-4f59-9056-d747b6f86e40"}],"id":"adb9baa3-c9cd-4e94-97f2-5e6677e77382","description":"<p>The <code>/Consumers</code> endpoint allows a participating Bank to register and manage a Consumer for the Slyp Smart Receipts solution.</p>\n<blockquote>\n<p><em>Note</em> Functions relating to surfacing full receipt details and the interaction with that receipt are handled directly by the Slyp SDK.</p>\n</blockquote>\n<h3 id=\"consumer\">Consumer</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>xref</strong><br />String<br /><em>Returned only</em></td>\n<td>Slyp's external reference ID for the given consumer. This field cannot be set or edited. Generated by Slyp and used for lookups, updates, and deletes.</td>\n</tr>\n<tr>\n<td><strong>external_id</strong><br />String<br /></td>\n<td>Optional Client provided ID for the given consumer. Must be unique.</td>\n</tr>\n<tr>\n<td><strong>address</strong><br /><em>StreetAddress</em><br /></td>\n<td>The street address of the account holder. Specify <code>suburb</code>, <code>state</code>, <code>postcode</code>.<br /><br />Refer to StreetAddress definition.</td>\n</tr>\n<tr>\n<td><strong>date_of_birth</strong><br /><em>DateOfBirth</em><br />Default: null</td>\n<td>The account holders date of birth structure, consisting of a <code>date</code> field in <code>\"YYYY-MM-DD\"</code> format and an optional (default: <code>day</code>) <code>fidelity</code> field which can be one of <code>age_range</code>, <code>year</code>, <code>month</code> or <code>day</code> representing the accuracy of the date. See examples below.</td>\n</tr>\n<tr>\n<td><strong>gender</strong><br />String<br /></td>\n<td>The account holders gender. Either <code>male</code>, <code>female</code> or a string for other where required.</td>\n</tr>\n<tr>\n<td><strong>is_active</strong><br />Boolean<br />Default is <code>true</code></td>\n<td>Is this consumer active to receive smart receipts.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"streetaddress\">StreetAddress</h3>\n<p>Structure containing the consumers address information.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>state</strong><br />String<br /></td>\n<td>The state, one of <code>NSW</code>, <code>VIC</code>, <code>WA</code>, <code>QLD</code>, <code>NT</code>, <code>TAS</code> or <code>ACT</code>.</td>\n</tr>\n<tr>\n<td><strong>postcode*</strong><br />String<br /></td>\n<td>The four digit (AU) postcode.</td>\n</tr>\n<tr>\n<td><strong>country_code*</strong><br />String<br /></td>\n<td>The <a href=\"https://www.iso.org/obp/ui/#search\">ISO 3166 Alpha-2 country code</a>. Australia is <code>\"AU\"</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"dateofbirth\">DateOfBirth</h4>\n<p>The string format must remain consistent even when providing low fidelity information. For example, if providing only a consumers year of birth, the month and day field may both simply be set to 01:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"date\": \"1980-01-01\",\n    \"fidelity\": \"year\"\n}\n</code></pre>\n<p>When providing only age range information, the date in the middle of the age range should be provided. For example, if it is currently 2020 and a consumer is between 24 (born 1996) and 35 (born 1985) years old, the mid point date may be provided as:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"date\": \"01-06-1990\",\n    \"fidelity\": \"age-range\"\n}\n</code></pre>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"c4c9a2d2-0bcc-4d47-9366-e3273faa5666","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"bcc9b37d-da6a-41be-b5ca-4d4c6cb8cdae","type":"text/javascript","exec":[""]}}],"_postman_id":"adb9baa3-c9cd-4e94-97f2-5e6677e77382"},{"name":"Consumers Receipts","item":[{"name":"Search Receipts for Consumer","event":[{"listen":"test","script":{"id":"244f0e39-2f82-445e-a706-08246fc04d81","exec":["var jsonData = JSON.parse(responseBody);","","if (responseCode.code === 200 && jsonData.items.length > 0) {","    pm.environment.set(\"receipt-id\", jsonData.items[0].id);","}","","if (data.test !== \"true\" | data.test_bank === \"positive\" | data.test_consumer === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"503557e2-2d06-49ac-9fe2-7a1965ffa52a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts?limit=100&from_date=2019-09-09&to_date=2019-09-15&min_amount=200&max_amount=300&tags=tax,business,personal","urlObject":{"path":["consumers","{{consumer-xref}}","receipts"],"host":["{{apiPrefix}}"],"query":[{"description":{"content":"<p>optional - defaults to 20.</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>optional</p>\n","type":"text/plain"},"key":"from_date","value":"2019-09-09"},{"description":{"content":"<p>optional</p>\n","type":"text/plain"},"key":"to_date","value":"2019-09-15"},{"description":{"content":"<p>optional</p>\n","type":"text/plain"},"key":"min_amount","value":"200"},{"description":{"content":"<p>optional</p>\n","type":"text/plain"},"key":"max_amount","value":"300"},{"description":{"content":"<p>optional</p>\n","type":"text/plain"},"key":"tags","value":"tax,business,personal"}],"variable":[]}},"response":[{"id":"a48dd495-755f-42ea-a2ee-54dbe962db1f","name":"List all Receipts for this Consumer","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":{"raw":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts?limit=100","host":["{{apiPrefix}}"],"path":["consumers","{{consumer-xref}}","receipts"],"query":[{"key":"limit","value":"100","description":"optional - defaults to 20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 22 Jul 2019 05:09:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"417"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.13.0"},{"key":"X-Protected-By","value":"Sqreen"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Content-Type, Authorization, Content-Length, X-Requested-With"},{"key":"ETag","value":"W/\"1a1-wjBjV09udOmeLMGqJ/ZgRFiFyDY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"current_offset\": 0,\n    \"next_offset\": 1,\n    \"items\": [\n        {\n            \"xref\": \"R-X-7afa7ee1b1a6c501cbb00d91e8ece769c5dfdbb9\",\n            \"merchant_name\": \"\",\n            \"store_name\": \"Slyp Shop Sydney\",\n            \"logo_url\": \"https://www.slyp.com.au/logos/Slyp-logo-vertical-RGB-black-text-white-bg.png\",\n            \"issued_at\": 1563772101,\n            \"is_tax_invoice\": true,\n            \"total_tax\": 23.9,\n            \"total_price\": 11.5,\n            \"currency_code\": \"AUD\",\n            \"receipt_type\": \"smart\",\n            \"tags\": []\n        }\n    ]\n}"}],"_postman_id":"503557e2-2d06-49ac-9fe2-7a1965ffa52a"},{"name":"Get a single Receipt for this Consumer","event":[{"listen":"test","script":{"id":"af60e7e8-7d4a-477e-bb90-6e290cd9d1fc","exec":["var jsonData = JSON.parse(responseBody);","","if (data.test !== \"true\" | data.test_bank === \"positive\" | data.test_consumer === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","    ","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"382dbf5c-db48-4354-9f70-2d6747626cc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts/{{receipt-xref}}","urlObject":{"path":["consumers","{{consumer-xref}}","receipts","{{receipt-xref}}"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"fa82ac31-7443-43d8-b33e-3e9771704ff6","name":"Get a single Receipt for this Consumer","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts/{{receipt-xref}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 22 Jul 2019 05:15:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"4299"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.13.0"},{"key":"X-Protected-By","value":"Sqreen"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Content-Type, Authorization, Content-Length, X-Requested-With"},{"key":"ETag","value":"W/\"10cb-XZeq5Qa/pIYQNw9GjwzTNyC9K/s\""}],"cookie":[],"responseTime":null,"body":"{\n    \"xref\": \"R-X-7afa7ee1b1a6c501cbb00d91e8ece769c5dfdbb9\",\n    \"basket_items\": [\n        {\n            \"product\": {\n                \"seqno\": 1,\n                \"name\": \"Myobi 46cc 16inch 2 Stroke Petrol Chainsaw\",\n                \"short_description\": null,\n                \"description\": \"A rugged and high-performing power tool to get the job done right. Backed by our reputation for innovative and quality tools and hardware\",\n                \"pricing\": {\n                    \"price\": 209,\n                    \"tax\": 19,\n                    \"discount\": 0,\n                    \"tax_type\": \"AU_GST\",\n                    \"currency_code\": \"AUD\"\n                },\n                \"quantity_purchased\": 1,\n                \"warranty_period\": 24,\n                \"serial_number\": \"319-4599-948\",\n                \"barcode\": null,\n                \"image_url\": \"http://www.pingdata.com.au/images/smartreceipt/product-sm-1.png\",\n                \"external_links\": [\n                    {\n                        \"product\": \"http://www.hardwarehouse.com.au/products/details/46cc-2-stroke-chainsaw-400mm\"\n                    },\n                    {\n                        \"documentation\": \"http://www.hardwarehouse.com.au/products/details/46cc-2-stroke-chainsaw-400mm.pdf\"\n                    },\n                    {\n                        \"manufacturer\": \"http://www.myobi.com.au\"\n                    },\n                    {\n                        \"custom\": {\n                            \"name\": \"Chainsaw School\",\n                            \"description\": \"Come in an learn how to handle your chainsaw. We'll be showing you the best tips and tricks for begginers through to experienced handlers.\",\n                            \"url\": \"http://www.hardwarehouse.com.au/schedule/35345\"\n                        }\n                    }\n                ],\n                \"original_invoice_number\": null\n            }\n        },\n        {\n            \"product\": {\n                \"seqno\": 2,\n                \"name\": \"Myobi 12V Cordless Drill\",\n                \"short_description\": null,\n                \"description\": \"A rugged and high-performing power tool to get the job done right. Backed by our reputation for innovative and quality tools and hardware\",\n                \"pricing\": {\n                    \"price\": 104,\n                    \"tax\": 9.45,\n                    \"discount\": 10,\n                    \"tax_type\": \"AU_GST\",\n                    \"currency_code\": \"AUD\"\n                },\n                \"quantity_purchased\": 1,\n                \"warranty_period\": 0,\n                \"serial_number\": \"319-4599-948\",\n                \"barcode\": null,\n                \"image_url\": \"http://www.pingdata.com.au/images/smartreceipt/product-sm-2.png\",\n                \"external_links\": [\n                    {\n                        \"product\": \"http://www.hardwarehouse.com.au/products/details/12v-drill-kit\"\n                    },\n                    {\n                        \"documentation\": \"http://www.hardwarehouse.com.au/products/details/12v-drill-kit.pdf\"\n                    },\n                    {\n                        \"manufacturer\": \"http://www.myobi.com.au\"\n                    }\n                ],\n                \"original_invoice_number\": null\n            }\n        },\n        {\n            \"adjustment\": {\n                \"seqno\": 3,\n                \"name\": \"Frequent Shopper\",\n                \"description\": \"Loyal customer discount\",\n                \"pricing\": {\n                    \"price\": -50,\n                    \"tax\": 0,\n                    \"discount\": 0,\n                    \"tax_type\": \"AU-GST\",\n                    \"currency_code\": \"AUD\"\n                }\n            }\n        }\n    ],\n    \"raw_basket_items\": null,\n    \"scanned_receipt\": null,\n    \"issued_at\": 1563772101,\n    \"merchant_detail\": {\n        \"name\": \"Slyp Shop Sydney\",\n        \"short_name\": \"Slyp Shop Sydney\",\n        \"logo_url\": \"https://www.slyp.com.au/logos/Slyp-logo-vertical-RGB-black-text-white-bg.png\",\n        \"receipt_theme\": null,\n        \"address\": {\n            \"street\": \"255 George St\",\n            \"street_2\": null,\n            \"suburb\": \"Sydney\",\n            \"state\": \"NSW\",\n            \"postcode\": \"2000\",\n            \"country_code\": \"au\"\n        },\n        \"phone_number\": \"(02) 9045 0946\",\n        \"abn\": \"19 613 031 271\",\n        \"external_links\": [\n            {\n                \"website\": \"https://www.slyp.com.au/\"\n            },\n            {\n                \"facebook\": \"https://www.facebook.com/weareslyp/\"\n            },\n            {\n                \"twitter\": \"https://twitter.com/weareslyp\"\n            }\n        ],\n        \"rendered_opening_hours\": {\n            \"current_state\": {\n                \"title\": \"Closing soon\",\n                \"subtitle\": \"Closes at 4:00pm\",\n                \"is_open\": true,\n                \"is_soon\": true\n            },\n            \"opening_hours\": [\n                {\n                    \"label\": \"Monday\",\n                    \"hours\": [\n                        \"9:00am-4:00pm\"\n                    ]\n                },\n                {\n                    \"label\": \"Tuesday\",\n                    \"hours\": [\n                        \"9:00am-4:00pm\"\n                    ]\n                },\n                {\n                    \"label\": \"Wednesday\",\n                    \"hours\": [\n                        \"9:00am-4:00pm\"\n                    ]\n                },\n                {\n                    \"label\": \"Thursday\",\n                    \"hours\": [\n                        \"9:00am-4:00pm\"\n                    ]\n                },\n                {\n                    \"label\": \"Friday\",\n                    \"hours\": [\n                        \"9:00am-4:00pm\"\n                    ]\n                },\n                {\n                    \"label\": \"Saturday\",\n                    \"hours\": [\n                        \"closed\"\n                    ]\n                },\n                {\n                    \"label\": \"Sunday\",\n                    \"hours\": [\n                        \"closed\"\n                    ]\n                }\n            ]\n        },\n        \"return_period\": 60,\n        \"timezone\": \"Australia/Sydney\"\n    },\n    \"is_tax_invoice\": true,\n    \"total_tax\": 23.9,\n    \"total_price\": 11.5,\n    \"currency_code\": \"AUD\",\n    \"metadata\": \"\",\n    \"purchaser\": null,\n    \"loyalty_card_transactions\": [],\n    \"one_touch_loyalty\": null,\n    \"served_by\": {\n        \"name\": \"Jessica A\",\n        \"position\": \"Store Manager\",\n        \"photo_url\": \"https://www.hardwarehouse.com.au/staff/1.png\"\n    },\n    \"offers\": [],\n    \"promotions\": [],\n    \"feedback\": [],\n    \"returns\": {\n        \"return_barcode\": \"123456789012\",\n        \"return_period\": 60,\n        \"return_reminders_enabled\": true,\n        \"return_policy_text\": \"\"\n    },\n    \"tags\": [],\n    \"receipt_type\": \"smart\",\n    \"archive\": false,\n    \"is_matched\": true,\n    \"layout\": [\n        \"Announcement\",\n        \"ReceiptHeader\",\n        \"LineItem\",\n        \"Returns\",\n        \"StoreDetails\",\n        \"ReceiptFooter\"\n    ],\n    \"footer_links\": [\n        {\n            \"name\": \"Terms and Conditions\",\n            \"description\": \"\",\n            \"url\": \"https://slyp.com.au/terms\"\n        }\n    ],\n    \"cards\": [\n        {\n            \"card_type\": \"visa\",\n            \"last4\": \"5555\"\n        }\n    ]\n}"}],"_postman_id":"382dbf5c-db48-4354-9f70-2d6747626cc7"},{"name":"Download Receipts (CSV or PDF)","event":[{"listen":"test","script":{"id":"920bb63b-5741-401a-958d-29e61fed237c","exec":["",""],"type":"text/javascript"}}],"id":"ea9187c8-5f4c-4c5e-b116-c419ea5367bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access-token}}"},{"key":"Content-Type","value":"text/csv","description":"<p>Options [\"text/csv\", \"application/pdf\"]</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [\n\t\t\"R-X-7afa7ee1b1a6c501cbb00d91e8ece769c5dfdbb9\"\n\t\t]\n}\n"},"url":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts/export","urlObject":{"path":["consumers","{{consumer-xref}}","receipts","export"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[{"id":"66255a63-df64-4df7-843e-765da22f5196","name":"Download Receipts as CSV","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"text/csv"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [\n\t\t\"R-X-7afa7ee1b1a6c501cbb00d91e8ece769c5dfdbb9\"\n\t\t]\n}\n"},"url":"{{apiPrefix}}/consumers/{{consumer-xref}}/receipts/export"},"status":"OK","code":200,"_postman_previewlanguage":"plain","header":[{"key":"Date","value":"Mon, 22 Jul 2019 05:24:36 GMT"},{"key":"Content-Type","value":"text/csv"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.13.0"},{"key":"X-Protected-By","value":"Sqreen"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET,PUT,POST,DELETE,OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"Content-Type, Authorization, Content-Length, X-Requested-With"}],"cookie":[],"responseTime":null,"body":"\"Merchant name\",\"Street\",\"Street 2\",\"Suburb\",\"State\",\"Postcode\",\"Country code\",\"Phone\",\"ABN\",\"Is tax invoice\",\"Total tax\",\"Total price\",\"Currency code\",\"Issued at\"\r\n\"Slyp Shop Sydney\",\"\",\"\",\"\",\"\",\"\",\"\",\"(02) 9045 0946\",\"19 613 031 271\",\"true\",\"23.9\",\"11.5\",\"AUD\",\"Monday, July 22nd 2019, 5:08:21 am\"\r\n"}],"_postman_id":"ea9187c8-5f4c-4c5e-b116-c419ea5367bf"}],"id":"72795e81-c7d5-4d1e-9ea5-da6b74a7cbb3","description":"<p>The Receipt includes:</p>\n<ul>\n<li><strong>payment data</strong>: typically printed on the eftpos receipt; required to match the receipt to the consumer's purchase history, based on the payment card used. Refer to Payment Data definition for more information on card payments and the Other Payment definition for non-card payment support.</li>\n<li><strong>basket items</strong>: often referred to as the 'basket data' or 'line items', includes the line item details for the purchase. Refer to Basket Items definition for more information.</li>\n<li><strong>purchaser information</strong>: details of the consumer of this transaction where it is available at POS. This information can be used to deliver a standard digital receipt to the consumer where they are not registered for Smart Receipts - <em>authorised partners only</em>.</li>\n<li><strong>loyalty card data</strong>: where the consumer has used a loyalty card or program at time of transaction. This data is currently used for display purposes only. Refer to Loyalty definition for more information</li>\n<li><strong>other information</strong> displayed on a typical receipt (e.g. barcode, pricing, tax invoice status).</li>\n</ul>\n<h3 id=\"receiptsummary\">ReceiptSummary</h3>\n<p>The receipt summary is the itemized type returned in the paginated response from the 'search receipts for consumer' request.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>xref</strong><br />String<br /><em>Returned only</em></td>\n<td>Slyp's external reference ID for the given Receipt. This field cannot be set or edited. Generated by Slyp and used for lookups, updates, and deletes.</td>\n</tr>\n<tr>\n<td><strong>merchant_name*</strong><br />String<br /></td>\n<td>The name of the parent merchant record, will be provided as an empty string if not available for any reason.</td>\n</tr>\n<tr>\n<td><strong>store_name*</strong><br />String<br /></td>\n<td>The name of the store, typically the value displayed on the receipt to identify the seller. Will be provided as an empty string if not available for any reason.</td>\n</tr>\n<tr>\n<td><strong>logo_url*</strong><br />String<br /></td>\n<td>The logo of the seller. Will be provided as an empty string if not available for any reason.</td>\n</tr>\n<tr>\n<td><strong>replacement_for</strong><br />Nullable String<br />Default: null</td>\n<td>The ID of the previous receipt to which this receipt is linked (e.g. for refunds, or when a receipt is replaced for some reason).</td>\n</tr>\n<tr>\n<td><strong>replaced_by</strong><br />Nullable String<br />Default: null</td>\n<td>If this receipt was replaced, the ID of the new version.</td>\n</tr>\n<tr>\n<td><strong>issued_at*</strong><br />Number<br /></td>\n<td>The UNIX time (seconds since epoch, UTC time, no timezone) that this receipt was issued to the consumer.</td>\n</tr>\n<tr>\n<td><strong>is_tax_invoice</strong><br />Nullable Boolean<br />Default: false</td>\n<td>An indication of whether this receipt serves as a tax invoice.</td>\n</tr>\n<tr>\n<td><strong>total_tax*</strong><br />Number<br /></td>\n<td>The total tax for this purchase.</td>\n</tr>\n<tr>\n<td><strong>total_price*</strong><br />Number<br /></td>\n<td>The total price for this purchase, including all taxes and discounts.</td>\n</tr>\n<tr>\n<td><strong>currency_code*</strong><br />String<br /></td>\n<td>The applicable ISO 4217 currency code for the purchase amount. Typically <code>AUD</code>. May differ from the currency charged to the payment card.</td>\n</tr>\n<tr>\n<td><strong>receipt_type*</strong><br />String<br /></td>\n<td>Indicates one of <code>'smart'</code> or <code>'scan'</code>.</td>\n</tr>\n<tr>\n<td><strong>tags</strong><br />Array of Strings<br />Default: []</td>\n<td>User set tags on the receipt.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"receipt\">Receipt</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>xref</strong><br />String<br /><em>Returned only</em></td>\n<td>Slyp's external reference ID for the given Receipt. This field cannot be set or edited. Generated by Slyp and used for lookups, updates, and deletes.</td>\n</tr>\n<tr>\n<td><strong>merchant_detail*</strong><br /><em>ConsumerMerchantDetail</em><br /></td>\n<td>Refer to ConsumerMerchantDetail definition.</td>\n</tr>\n<tr>\n<td><strong>basket_items*</strong><br /><em>BasketItem</em> Array<br /></td>\n<td>The items purchased in this transaction. Item types are <code>product</code>, <code>service</code>, <code>journey</code>, <code>adjustment</code>.<br />Refer to Basket Item definitions below.</td>\n</tr>\n<tr>\n<td><strong>scanned_receipt</strong><br />Nullable String<br />Default: null</td>\n<td>Link to the scan of the actual paper receipt, if it exists.</td>\n</tr>\n<tr>\n<td><strong>payments</strong><br />PaymentItem Array<br />Default: []</td>\n<td>Payment information for the receipt. Refer to PaymentItem definition below.</td>\n</tr>\n<tr>\n<td><strong>purchaser</strong><br />Purchaser</td>\n<td>Purchaser details if supplied at checkout or linked to a specific transaction by the POS.<br /> Refer to Purchaser definition.</td>\n</tr>\n<tr>\n<td><strong>issued_at*</strong><br />Number<br /></td>\n<td>The UNIX time (seconds since epoch, UTC time, no timezone) that this receipt was issued to the consumer.</td>\n</tr>\n<tr>\n<td><strong>is_tax_invoice</strong><br />Nullable Boolean<br />Default: false</td>\n<td>An indication of whether this receipt serves as a tax invoice.</td>\n</tr>\n<tr>\n<td><strong>total_tax*</strong><br />Number<br /></td>\n<td>The total tax for this purchase.</td>\n</tr>\n<tr>\n<td><strong>total_price*</strong><br />Number<br /></td>\n<td>The total price for this purchase, including all taxes and discounts.</td>\n</tr>\n<tr>\n<td><strong>currency_code*</strong><br />String<br /></td>\n<td>The applicable ISO 4217 currency code for the purchase amount. Typically <code>AUD</code>. May differ from the currency charged to the payment card.</td>\n</tr>\n<tr>\n<td><strong>one_touch_loyalty</strong><br />Nullable OneTouchLoyalty<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>returns</strong><br />Nullable ReceiptReturns<br />Default: null</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>served_by</strong><br />Nullable <em>Server</em><br />Default: null</td>\n<td>Details of the store staff member who served the consumer.<br /> Refer to Server definition.</td>\n</tr>\n<tr>\n<td><strong>tags</strong><br />Array of Strings<br />Default: []</td>\n<td>User applied tags on the receipt.</td>\n</tr>\n<tr>\n<td><strong>receipt_type*</strong><br />ReceiptType<br /></td>\n<td>One of <code>\"smart\"</code> or <code>\"scan\"</code> or <code>\"slip\"</code>.</td>\n</tr>\n<tr>\n<td><strong>archive*</strong><br />Boolean<br /></td>\n<td>Used to soft delete a receipt.</td>\n</tr>\n<tr>\n<td><strong>is_matched*</strong><br />Boolean<br /></td>\n<td>If the receipt has been matched to a bank transaction.</td>\n</tr>\n<tr>\n<td><strong>layout</strong><br />ReceiptLayoutComponent Array<br />Default: []</td>\n<td>Where a ReceiptLayoutComponent is one of <code>Announcement</code>, <code>ReceiptHeader</code>, <code>LineItem</code>, <code>Total</code>, <code>Returns</code>, <code>StoreDetails</code>, <code>Social</code>, <code>Tags</code> or <code>ReceiptFooter</code>.</td>\n</tr>\n<tr>\n<td><strong>announcements</strong><br />Nullable <em>ReceiptAnnouncement</em> Array<br />Default: []</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>external_links</strong><br />Nullable ReceiptSocialLink Array<br />Default: []</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>tax_messages</strong><br />Nullable String Array<br />Default: null</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>footer_links</strong><br />NamedLink Array<br />Default: null</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"consumermerchantdetail\">ConsumerMerchantDetail</h4>\n<p>Set of attributes relevant to the consumer view of the seller.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>name</strong><br />String</td>\n<td>The name of the Merchant.</td>\n</tr>\n<tr>\n<td><strong>short_name</strong><br />String</td>\n<td>The short version of Merchant name. Can be used as a logo.</td>\n</tr>\n<tr>\n<td><strong>parent_name</strong><br />String</td>\n<td>The name of the parent Merchant or Organisation.</td>\n</tr>\n<tr>\n<td><strong>logo_url</strong><br />String</td>\n<td>The logo for the Merchant.</td>\n</tr>\n<tr>\n<td><strong>receipt_theme</strong><br />Nullable <em>ReceiptTheme</em></td>\n<td>String Color and Text options for Receipt.</td>\n</tr>\n<tr>\n<td><strong>address</strong><br /><em>StreeAddress</em><br /></td>\n<td>The street address of the Merchant. Specify <code>suburb</code>, <code>state</code>, <code>postcode</code>.<br /><br />Refer to StreetAddress definition.</td>\n</tr>\n<tr>\n<td><strong>phone_number</strong><br />String</td>\n<td>Merchant phone number.</td>\n</tr>\n<tr>\n<td><strong>customer_service_number</strong><br />String</td>\n<td>Merchant Customer Service number.</td>\n</tr>\n<tr>\n<td><strong>abn</strong><br />String</td>\n<td>Merchant ABN.</td>\n</tr>\n<tr>\n<td><strong>external_links</strong><br /><em>MerchantLink</em> Array<br />Default: []</td>\n<td>Links to Merchant's social presence. Options <code>website</code>, <code>livechat</code>, <code>customer_service</code>, <code>return_policy</code>, <code>twitter</code>, <code>facebook</code>, <code>instagram</code>, <code>apple_app_store_id</code>, <code>google_play_store_id</code> or <code>custom</code>. Refer to MerchantLink definition.</td>\n</tr>\n<tr>\n<td><strong>rendered_opening_hours</strong><br />Nullable <em>RenderedOpeningHours</em> Array<br />Default: null</td>\n<td>Merchant hours information. Refer to RenderedOpeningHours definition.</td>\n</tr>\n<tr>\n<td><strong>return_period</strong><br />Number<br />Default: 0<br /></td>\n<td>Merchants return period.</td>\n</tr>\n<tr>\n<td><strong>timezone</strong><br />String</td>\n<td>String timezone for Merchant.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"receipttheme\">ReceiptTheme</h4>\n<p>Theme colour settings for Receipt SDK.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>background_colour</strong><br />Nullable String<br />Default: null</td>\n<td>The background colour that will be used in the render of the merchant within a UI specified by Hex color code, eg. <code>\"#0000ff\"</code>.</td>\n</tr>\n<tr>\n<td><strong>background_text</strong><br />Nullable String<br />Default: null</td>\n<td>The background text colour that will be used in the render of the merchant within a UI specified by Hex color code, eg. <code>\"#0000ff\"</code>.</td>\n</tr>\n<tr>\n<td><strong>primary_colour</strong><br />Nullable String<br />Default: null</td>\n<td>The primary colour that will be used in the render of the merchant within a UI specified by Hex color code, eg. <code>\"#0000ff\"</code>.</td>\n</tr>\n<tr>\n<td><strong>primary_text</strong><br />Nullable String<br />Default: null</td>\n<td>The primary text colour that will be used in the render of the merchant within a UI specified by Hex color code, eg. <code>\"#0000ff\"</code>.</td>\n</tr>\n<tr>\n<td><strong>secondary_colour</strong><br />Nullable String<br />Default: null</td>\n<td>The secondary colour that will be used in the render of the merchant within a UI specified by Hex color code, eg. <code>\"#0000ff\"</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"streetaddress\">StreetAddress</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>street</strong><br />String<br /></td>\n<td>The street address including any unit, property number and street name and type.</td>\n</tr>\n<tr>\n<td><strong>street_2</strong><br />String<br /></td>\n<td>Additional optional street information.</td>\n</tr>\n<tr>\n<td><strong>suburb</strong><br />String<br /></td>\n<td>The suburb.</td>\n</tr>\n<tr>\n<td><strong>state</strong><br />String<br /></td>\n<td>The state.</td>\n</tr>\n<tr>\n<td><strong>postcode*</strong><br />String<br /></td>\n<td>The four digit (AU) postcode.</td>\n</tr>\n<tr>\n<td><strong>country_code*</strong><br />String<br /></td>\n<td>The <a href=\"https://www.iso.org/obp/ui/#search\">ISO 3166 Alpha-2 country code</a>. Australia is <code>\"AU\"</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"merchantlink\">MerchantLink</h4>\n<p>A MerchantLink instance is one of the available types: <code>website</code>, <code>livechat</code>, <code>customer_service</code>, <code>return_policy</code>, <code>twitter</code>, <code>facebook</code>, <code>instagram</code>, <code>apple_app_store_id</code>, <code>google_play_store_id</code> or <code>custom</code>. For example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">MerchantLink Example:\n{\n  \"website\": \"http://www.slyp.com.au/\"\n}\n</code></pre>\n<p>The <code>custom</code> links take the form <code>name</code>, <code>description</code>, <code>url</code> such as:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">MerchantLink custom link example:\n{\n  \"name\": \"Pinterest\",\n  \"description\": \"A social platform not currently supported in Slip's default link types\",\n  \"url\": \"http:/mypinterestlink.com/\"\n}\n</code></pre>\n<h4 id=\"renderedopeninghours\">RenderedOpeningHours</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>current_state</strong><br /><em>OpenClosedState</em><br /></td>\n<td>Refer to OpenClosedState definition below.</td>\n</tr>\n<tr>\n<td><strong>opening_hours</strong><br /><em>DailyOpeningHours</em> Array<br /></td>\n<td>Refer to DailyOpeningHours definition below.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"openclosedstate\">OpenClosedState</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>title</strong><br />String<br /></td>\n<td>Current State title.</td>\n</tr>\n<tr>\n<td><strong>subtitle</strong><br />Nullable String<br />Default: null</td>\n<td>Current state subtitle.</td>\n</tr>\n<tr>\n<td><strong>is_open</strong><br />Boolean<br /></td>\n<td>If Merchant is open.</td>\n</tr>\n<tr>\n<td><strong>is_soon</strong><br />Boolean<br /></td>\n<td>If Merchant closes soon.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"dailyopeninghours\">DailyOpeningHours</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>label</strong><br />String<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>hours</strong><br />String Array<br /></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"basketitem\">BasketItem</h4>\n<p>Represents an individual line item that forms part of the basket data within a receipt. A BasketItem can be one of four possible types of <code>product</code>, <code>service</code>, <code>journey</code>, <code>adjustment</code>. Refer to each types' definition below, each of which include additional information about the item such as its category, warranty and return periods. The rich format of the Smart Receipt solution allows for web-based content to be added to the line item data, including URLs for further item detail and the opportunity to repurchase.</p>\n<p>example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"product\": {\n        // Valid product structure goes here, this example is incomplete.\n        \"seqno\": \"1\",\n        \"name\": \"The greatest song in the world\",\n        ...\n    }\n}\n</code></pre>\n<h4 id=\"basketitem-product\">BasketItem: Product</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>seqno</strong><br />Number</td>\n<td>The order in which we render a list of basket items, otherwise we'll render in the order they were provided.</td>\n</tr>\n<tr>\n<td><strong>name*</strong><br />String<br /></td>\n<td>A short title or name for this line item.</td>\n</tr>\n<tr>\n<td><strong>description</strong><br />String</td>\n<td>A description of the item to appear in the drop down view of a line item. This field will be distinct from the <code>name</code> if present.</td>\n</tr>\n<tr>\n<td><strong>pricing*</strong><br /><em>Pricing</em><br /></td>\n<td>Pricing information for this item.<br />Refer to Pricing definition.</td>\n</tr>\n<tr>\n<td><strong>taxes</strong><br /><em>Tax</em> Array<br /></td>\n<td>Details of any taxes applied to the item. Refer to Tax definition.</td>\n</tr>\n<tr>\n<td><strong>quantity_purchased*</strong><br />Number<br />Default: 1<br /></td>\n<td>The number of items of this type purchased (or the number of the unit type specified if applicable).</td>\n</tr>\n<tr>\n<td><strong>unit_type</strong><br />Nullable String<br />Default: null</td>\n<td>One of <code>g</code>, <code>kg</code>, <code>m</code> or <code>l</code> if applicable to the this product.</td>\n</tr>\n<tr>\n<td><strong>unit_value</strong><br />Nullable Number<br />Default: null</td>\n<td>The price per <code>unit_type</code> specified, if applicable.</td>\n</tr>\n<tr>\n<td><strong>warranty_period</strong><br />Number<br />Default: 0</td>\n<td>The warranty period, in months, for this item. If <code>0</code>, warranty information is omitted.</td>\n</tr>\n<tr>\n<td><strong>serial_number</strong><br />String<br />Default: null</td>\n<td>The serial number for this item.</td>\n</tr>\n<tr>\n<td><strong>barcode</strong><br />Barcode<br />Default: null</td>\n<td>The barcode for this item. Include <code>id</code> and <code>format</code>.<br />Where <code>format</code> is one of <code>ean13, ean8, ean5, ean2, upc, upcA, itf14, itf, code128</code>.<br /> Refer to Barcode definition.</td>\n</tr>\n<tr>\n<td><strong>image_url</strong><br />String</td>\n<td>The URL for the image for this item. Slyp caches images locally, please use the web view of receipts to confirm images are displaying correctly.</td>\n</tr>\n<tr>\n<td><strong>external_links</strong><br /><em>ProductLink</em> Array</td>\n<td>External links of type <code>product</code>, <code>manufacturer</code>, <code>documentation</code>, <code>custom</code>.<br />Where <code>custom</code> takes the form <code>name</code>, <code>description</code>, <code>url</code>.<br />Refer to ProductLink definition.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"productattributes\">ProductAttributes</h4>\n<p>Common attributes used to describe a specific product. Custom attributes may also be defined where they are not currently defined in our schema.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>size</strong><br />String</td>\n<td>Any type of size information. For example small, medium, XXL, etc.</td>\n</tr>\n<tr>\n<td><strong>colour</strong><br />String</td>\n<td>Any type of descriptive colour information i.e. black, white stripes, etc.</td>\n</tr>\n<tr>\n<td><strong>condition</strong><br />String</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>feature</strong><br />String</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>width</strong><br />Number</td>\n<td>Measure of the width of the item in any standard units.</td>\n</tr>\n<tr>\n<td><strong>height</strong><br />Number</td>\n<td>Measure of the height of the item in any standard units.</td>\n</tr>\n<tr>\n<td><strong>length</strong><br />Number</td>\n<td>Measure of the length of the item in any standard units.</td>\n</tr>\n<tr>\n<td><strong>netWeight</strong><br />Number</td>\n<td>The net weight of the item.</td>\n</tr>\n<tr>\n<td><strong>grossWeight</strong><br />Number</td>\n<td>The gross weight of the item.</td>\n</tr>\n<tr>\n<td><strong>volume</strong><br />Number</td>\n<td>The volume of the item.</td>\n</tr>\n<tr>\n<td><strong>custom</strong><br />CustomAttribute</td>\n<td>A custom attribute definition taking the form <code>name</code>,  <code>value</code>, <code>description</code>, where description is optional.</td>\n</tr>\n</tbody>\n</table>\n</div><p>A ProductAttributes example for <code>colour</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"colour\": \"teal\"\n}\n</code></pre>\n<p>A <code>custom</code> example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"name\": \"texture\",\n    \"value\": \"two day stubble rough\",\n    \"description\": \"This attribute describes the texture of the item, which could be rough or smooth\"\n}\n</code></pre>\n<h4 id=\"productidentifier\">ProductIdentifier</h4>\n<p>An object containing one String with the label of <code>mpn</code>, <code>upc</code>, <code>ean</code>, <code>slug</code> or <code>isbn</code>. Please enquire if other formats are required.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"isbn\": \"9788827506301\"\n}\n</code></pre>\n<h4 id=\"basketitem-service\">BasketItem: Service</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>seqno</strong><br />Number<br />Default: null</td>\n<td>The order in which we render a list of basket items, otherwise we'll render in the order they were provided.</td>\n</tr>\n<tr>\n<td><strong>name*</strong><br />String<br /></td>\n<td>A short title or name for this line item.</td>\n</tr>\n<tr>\n<td><strong>description</strong><br />String<br />Default: null</td>\n<td>A longer description of the item.</td>\n</tr>\n<tr>\n<td><strong>pricing*</strong><br /><em>Pricing</em><br /></td>\n<td>Pricing information for this item. <br />Refer to Pricing definition.</td>\n</tr>\n<tr>\n<td><strong>taxes</strong><br /><em>Tax</em> Array<br /></td>\n<td>Details of any taxes applied to the item. Refer to Tax definition.</td>\n</tr>\n<tr>\n<td><strong>quantity_purchased</strong><br />Number<br />Default: 1</td>\n<td>The number of items of this type purchased.</td>\n</tr>\n<tr>\n<td><strong>warranty_period</strong><br />Number<br />Default: 0</td>\n<td>The warranty period, in months, for this item. If default or <code>0</code>, warranty information is omitted.</td>\n</tr>\n<tr>\n<td><strong>image_url</strong><br />String<br />Default: null</td>\n<td>The URL for the image for this item.</td>\n</tr>\n<tr>\n<td><strong>external_links</strong><br /><em>ProductLink</em> Array</td>\n<td>External links of type <code>product</code>, <code>manufacturer</code>, <code>documentation</code>, <code>custom</code>.<br />Where <code>custom</code> takes the form <code>name</code>, <code>description</code>, <code>url</code>.<br />Refer to the ProductLink definition.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"basketitem-journey\">BasketItem: Journey</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>seqno</strong><br />Number<br />Default: null</td>\n<td>The order in which we render a list of basket items, otherwise we'll render in the order they were provided.</td>\n</tr>\n<tr>\n<td><strong>name*</strong><br />String<br /></td>\n<td>A short title or name for this line item.</td>\n</tr>\n<tr>\n<td><strong>description</strong><br />String</td>\n<td>A longer description of the item.</td>\n</tr>\n<tr>\n<td><strong>pricing*</strong><br /><em>Pricing</em><br /></td>\n<td>Pricing information for this item. <br />Refer to Pricing definition.</td>\n</tr>\n<tr>\n<td><strong>taxes</strong><br /><em>Tax</em> Array<br /></td>\n<td>Details of any taxes applied to the item. Refer to Tax definition.</td>\n</tr>\n<tr>\n<td><strong>pickup*</strong><br /><em>Location</em><br /></td>\n<td>Where the journey started. You must specify <code>name</code>, <code>position</code> for each item.<br />Where <code>position</code> takes the form <code>lat</code> and <code>lng</code>.<br />Refer to Location definition.</td>\n</tr>\n<tr>\n<td><strong>dropoff*</strong><br /><em>Location</em><br /></td>\n<td>Where the journey ended. You must specify <code>name</code>, <code>position</code> for each item.<br />Where <code>position</code> takes the form <code>lat</code> and <code>lng</code>.<br />Refer to Location definition.</td>\n</tr>\n<tr>\n<td><strong>image_url</strong><br />String</td>\n<td>The URL for the image for this item.</td>\n</tr>\n<tr>\n<td><strong>external_links</strong><br /><em>ProductLink</em> Array<br />Default: []</td>\n<td>External links of type <code>product</code>, <code>manufacturer</code>, <code>documentation</code>, <code>custom</code>.<br />Where <code>custom</code> takes the form <code>name</code>, <code>description</code>, <code>url</code>.<br />Refer to ProductLink definition.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"location\">Location</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>name</strong><br />String</td>\n<td>A human readable name for this location, eg. <code>\"Home\"</code> or <code>\"7 Hudson Street, Redfern\"</code>, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><strong>position</strong><br /><em>GpsPosition</em></td>\n<td>Specify both <code>lat</code> and <code>lng</code> for this location, or <code>null</code> if not available.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"basketitem-adjustment\">BasketItem: Adjustment</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>seqno</strong><br />Number</td>\n<td>The order in which we render a list of basket items, otherwise we'll render in the order they were provided.</td>\n</tr>\n<tr>\n<td><strong>name*</strong><br />String<br /></td>\n<td>A short title or name for this line item.</td>\n</tr>\n<tr>\n<td><strong>description</strong><br />String</td>\n<td>A longer description of the item.</td>\n</tr>\n<tr>\n<td><strong>pricing*</strong><br /><em>Pricing</em><br /></td>\n<td>Pricing information for this item. You must specify <code>price, tax, discount</code> for each item. Refer to Pricing definition.</td>\n</tr>\n<tr>\n<td><strong>taxes</strong><br /><em>Tax</em> Array<br /></td>\n<td>Details of any taxes applied to the item. Provide an array with a single \"TAX_FREE\" tax type object. Refer to Tax definition.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"pricing\">Pricing</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>price*</strong><br />Number<br /></td>\n<td>Total final price, including any taxes and discounts.</td>\n</tr>\n<tr>\n<td><strong>discount</strong><br />Number<br />Default: 0</td>\n<td>Absolute value of any discounts applied.</td>\n</tr>\n<tr>\n<td><strong>currency_code</strong><br />String<br />Default: \"AUD\"</td>\n<td>The applicable ISO 4217 currency code for the purchase amount. eg. Australian Dollars: <code>\"AUD\"</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"tax\">Tax</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>tax_type*</strong><br /><em>TaxType</em><br /></td>\n<td>The tax type applied, typically <code>\"AU_GST\"</code> for Australian Sales although tax free items should be designated with a <code>\"TAX_FREE\"</code> type and amount of zero. <code>\"AU_WET\"</code> is also supported. Contact Slyp to arrange new tax type definitions as required.</td>\n</tr>\n<tr>\n<td><strong>amount*</strong><br />Number<br /></td>\n<td>Total of this tax type applied to this item.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"productlink\">ProductLink</h4>\n<p>A product link can be labelled a link to <code>product</code>, <code>manufacturer</code>, <code>documentation</code>, <code>image_url</code> or a <code>custom</code> NamedLink which must include \nA link to a webpage for the product for further information and reordering example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"product\": \"www.company.com.au/product\"\n}\n</code></pre>\n<h4 id=\"paymentitem\">PaymentItem</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>name</strong><br />String<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>amount</strong><br />Number<br /></td>\n<td>Amount paid via this method in the receipt currency.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"purchaser\">Purchaser</h4>\n<p>Data relating to the purchaser in the transaction. </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>abn</strong><br />Nullable String<br />Default: null</td>\n<td>Customer ABN, required for valid tax invoice where sale total exceeds $1000 AUD.</td>\n</tr>\n<tr>\n<td><strong>name</strong><br />Nullable String<br />Default: null</td>\n<td>The name on the consumer.</td>\n</tr>\n<tr>\n<td><strong>email</strong><br />Nullable String<br />Default: null</td>\n<td>The email address of the consumer.</td>\n</tr>\n<tr>\n<td><strong>phone</strong><br />Nullable String<br />Default: null</td>\n<td>The mobile number of the consumer in E.164 standard format. Only Australian mobile numbers are currently supported. Invalid formatting or international numbers will cause an error.</td>\n</tr>\n<tr>\n<td><strong>notification_method</strong><br />String<br />Default: <code>none</code></td>\n<td>How the consumer would like to be notified. One of <code>\"email\"</code>, <code>\"sms\"</code>, <code>\"none\"</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"onetouchloyalty\">OneTouchLoyalty</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>tag_line</strong><br />String<br /></td>\n<td>Tagline to be displayed on Consumer's receipt.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"receiptreturns\">ReceiptReturns</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>return_barcode</strong><br />Nullable String<br />Default: null</td>\n<td>Return barcode ID.</td>\n</tr>\n<tr>\n<td><strong>return_barcode_format</strong><br />Nullable BarcodeFormat<br />Default: null</td>\n<td>One of <code>ean13, ean8, ean5, ean2, upc, upcA, itf14, itf, code128, code128 A/B/C</code>. Contact Slyp if your desired format is not listed.</td>\n</tr>\n<tr>\n<td><strong>return_period</strong><br />Nullable Number<br />Default: null</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>return_reminders_enabled</strong><br />Boolean<br />Default: true</td>\n<td></td>\n</tr>\n<tr>\n<td><strong>return_policy_text</strong><br />Nullable String<br />Default: null</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"server\">Server</h4>\n<p>Data relating to the the person who serviced or facilitated this purchase. </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>name</strong><br />String<br />Default: null</td>\n<td>The name of the server.</td>\n</tr>\n<tr>\n<td><strong>position</strong><br />String<br />Default: null</td>\n<td>Their position or job description i.e. \"Store Manager\".</td>\n</tr>\n<tr>\n<td><strong>photo_url</strong><br />String<br />Default: null</td>\n<td>A URL for an image of the server.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"receiptannouncement\">ReceiptAnnouncement</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>title</strong><br />String<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>description</strong><br />String<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>detail_link</strong><br />Nullable <em>NamedLink</em><br />Default: null</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"receiptsociallink\">ReceiptSocialLink</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>link_type</strong><br />String<br /></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>web_url</strong><br />String<br /></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"namedlink\">NamedLink</h4>\n<p>A link to a webpage for the product for further information and reordering example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JSON\">{\n    \"product\": \"www.company.com.au/product\"\n}\n</code></pre>\n","event":[{"listen":"prerequest","script":{"id":"2cc91edd-51fe-47dc-ae78-07df3d9207fc","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"2d3ac79d-4fd4-4427-8943-36b3bcf6adad","type":"text/javascript","exec":[""]}}],"_postman_id":"72795e81-c7d5-4d1e-9ea5-da6b74a7cbb3","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}}},{"name":"Transactions","item":[{"name":"Create Transaction","event":[{"listen":"prerequest","script":{"id":"5bd3159d-7d5c-41a8-87fa-8fe92d6e4111","exec":["// Set up random values for the required fields in the Transaction payload","pm.variables.set(\"transaction_date\", new Date());","pm.variables.set(\"mpan\", \"123456xxxxxx5555\");","pm.variables.set(\"payment_amount\", Math.floor(Math.random() * Math.floor(1000)));","pm.variables.set(\"banks_consumer_id\", \"abfa03ea-7baf-4229-92d6-57c23eb26469\");","pm.variables.set(\"network_merchant_id\", \"825\");","pm.variables.set(\"terminal_id\", \"678\");","pm.variables.set(\"retrieval_reference_number\", \"358\");","pm.variables.set(\"system_trace_audit_number\", \"347\");","pm.variables.set(\"issuing_bank_authorisation_code\", \"549\");","","// The following values may not be available at the Issuing Bank","pm.variables.set(\"pos_ref_no\", \"558\");","pm.variables.set(\"transaction_id\", \"581\");","pm.variables.set(\"reference_id\", \"164\");",""],"type":"text/javascript"}},{"listen":"test","script":{"id":"6c30446d-72b9-4ea1-877f-efd67f6a2ec2","exec":["var jsonData = JSON.parse(responseBody);","","if (data.test !== \"true\" | data.test_bank === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","    pm.environment.set(\"transaction-id\", jsonData.id);","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"29728803-a4cb-465f-a852-2dbf52f1a698","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{access-token}}"}],"body":{"mode":"raw","raw":"{\n    \"consumer_xref\": \"C-X-08f323deadbeefa7af34d5feb414ce27\",\n\n    \"bank_transaction_id\" : \"\",\n    \"scheme_transaction_id\": \"\",\n   \n    \"message_type_indicator\": \"\",\n\n    \"transmission_date_time\": \"2020-03-02T13:25:12+01:00\",\n    \"local_transaction_date_time\": \"2020-03-02T13:25:12+01:00\",\n \n    \"processing_code\": 123456,\n    \"original_processing_code\": 123456,\n    \"response_code\": 0,\n\n    \"retrieval_reference_number\": \"\",\n    \"authorisation_identification_response\": \"\",\n\n    \"is_tokenised\": true,\n \n    \"card\" : {\n        \"bin\": 1234567,\n        \"last_four\": 1234\n    },\n    \n   \"token\" : {\n        \"bin\": 1234567,\n        \"last_four\": 1234\n    },\n    \n    \"amount\": {\n        \"transaction\" : {\n            \"amount\": \"123.45\",\n            \"currency_code\": \"036\"\n        }\n    },\n     \n    \"acquirer\": {\n          \"system_trace_audit_number\": 123456\n    },   \n    \n    \"merchant\" : {        \n        \"category_code\": 1234,\n        \"network_id\": \"\",\n        \"terminal_id\": \"\",\n        \"psuedo_terminal_id\": \"\",\n        \"name_location\": \"\"\n    } \n}"},"url":"{{apiPrefix}}/bank/transactions","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"fb266b06-1dc9-470a-a073-7180e19259bc","id":"fb266b06-1dc9-470a-a073-7180e19259bc","name":"Transactions","type":"folder"}},"urlObject":{"path":["bank","transactions"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"29728803-a4cb-465f-a852-2dbf52f1a698"},{"name":"Get a Single Transaction Record","event":[{"listen":"test","script":{"id":"044da093-1815-4509-8c32-426ce7c745fe","exec":["if (data.test !== \"true\" | data.test_bank === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"c48c7bd0-b75a-42e1-bd3e-66d928c6af4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access-token}}"}],"url":"{{apiPrefix}}/transactions/{{transaction-xref}}","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"fb266b06-1dc9-470a-a073-7180e19259bc","id":"fb266b06-1dc9-470a-a073-7180e19259bc","name":"Transactions","type":"folder"}},"urlObject":{"path":["transactions","{{transaction-xref}}"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c48c7bd0-b75a-42e1-bd3e-66d928c6af4f"}],"id":"fb266b06-1dc9-470a-a073-7180e19259bc","description":"<p>The <code>/bank/transactions</code> endpoints allow a participating Bank of the Slyp Smart Receipts solution to submit transaction data for a consumer purchase. Slyp then matches the transaction with a related receipt, making it possible to attribute basket data to individual consumers.</p>\n<p>Matching is an asynchronous process as receipts and transactions can be received at varying times and sequences.</p>\n<p>Transactions can only be posted for a pre-existing Consumer on Slyp. A Consumer record must be created before creating a Transaction record for them.</p>\n<blockquote>\n<p><em>Note</em> Transactions can ONLY be created and retrieved, they cannot be modified or deleted.</p>\n</blockquote>\n<h3 id=\"transaction\">Transaction</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Parameter</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>consumer_xref</strong>*<br />String<br /></td>\n<td>The Slyp Consumer ID to which the transaction relates.</td>\n</tr>\n<tr>\n<td><strong>bank_transaction_id*</strong><br />String<br /></td>\n<td>The banks' transaction ID as is accounted for in the banks' transaction reconciliation system.</td>\n</tr>\n<tr>\n<td><strong>scheme_transaction_id*</strong><br />String<br /></td>\n<td>The transaction ID as referred to by the scheme. This will usually be the scheme ID for the authorisation message as sent/retrieved from the scheme.</td>\n</tr>\n<tr>\n<td><strong>message_type_indicator</strong>*<br />String<br /></td>\n<td>The Message Type Indicator field as present in the ISO8583 message header.</td>\n</tr>\n<tr>\n<td><strong>transmission_date_time</strong>*<br />Datetime<br /></td>\n<td>The message transmission timestamp in ISO8601 format.</td>\n</tr>\n<tr>\n<td><strong>local_transaction_date_time</strong>*<br />Datetime<br /></td>\n<td>The transaction transmission timestamp in ISO8601 format.</td>\n</tr>\n<tr>\n<td><strong>processing_code</strong>*<br />String<br /></td>\n<td>The ISO8583 processing code attached to the transaction message.</td>\n</tr>\n<tr>\n<td><strong>original_processing_code</strong>*<br />String<br /></td>\n<td>The earliest known ISO8583 processing code as recieved by the bank.</td>\n</tr>\n<tr>\n<td><strong>response_code</strong>*<br />String<br /></td>\n<td>The ISO8583 response code for the transaction.</td>\n</tr>\n<tr>\n<td><strong>retrieval_reference_number</strong>*<br />String<br /></td>\n<td>The ISO8583 message bitmap field 37.</td>\n</tr>\n<tr>\n<td><strong>is_tokenised</strong>*<br />Boolean<br /></td>\n<td>A flag indicating the Card PAN has been tokenised in the processing of this transaction.</td>\n</tr>\n<tr>\n<td><strong>card_scheme</strong>*<br />String<br /></td>\n<td>A string indicating the scheme through which the transaction was recieved.</td>\n</tr>\n<tr>\n<td><strong>card_bin</strong>*<br />Integer<br /></td>\n<td>The Bank Identification Number (BIN) portion of the Card PAN.</td>\n</tr>\n<tr>\n<td><strong>card_last_four</strong>*<br />Integer<br /></td>\n<td>The last four digits of the Card PAN.</td>\n</tr>\n<tr>\n<td><strong>token_scheme</strong><br />String<br /></td>\n<td>If the transaction was tokenised, a string indicating the scheme through which the transaction was recieved.</td>\n</tr>\n<tr>\n<td><strong>token_bin</strong><br />Integer<br /></td>\n<td>If the transaction was tokenised, the Bank Identification Number (BIN) portion of the Token PAN.</td>\n</tr>\n<tr>\n<td><strong>token_last_four</strong><br />Integer<br /></td>\n<td>If the transaction was tokenised, the last four digits of the Token PAN.</td>\n</tr>\n<tr>\n<td><strong>currency_code</strong>*<br />String<br /></td>\n<td>The currency code for the transaction in ISO4217 format.</td>\n</tr>\n<tr>\n<td><strong>amount</strong>*<br />String<br /></td>\n<td>The value of the transaction.</td>\n</tr>\n<tr>\n<td><strong>merchant_category_code</strong>*<br />Integer<br /></td>\n<td>The Merchant Cateogry Code (MCC) for the merchant that accepted the card payment.</td>\n</tr>\n<tr>\n<td><strong>merchant_network_id</strong>*<br />String<br /></td>\n<td>The scheme ID for the merchant that accepted the card payment.</td>\n</tr>\n<tr>\n<td><strong>merchant_terminal_id</strong>*<br />String<br /></td>\n<td>The banks' ID for the merchant terminal that accepted the card payment.</td>\n</tr>\n<tr>\n<td><strong>merchant_address</strong>*<br />String<br /></td>\n<td>The street address of the merchant on file with the bank.</td>\n</tr>\n<tr>\n<td><strong>merchant_city</strong>*<br />String<br /></td>\n<td>The city of the merchant on file with the bank.</td>\n</tr>\n<tr>\n<td><strong>merchant_state</strong>*<br />String<br /></td>\n<td>The state of the merchant on file with the bank.</td>\n</tr>\n<tr>\n<td><strong>merchant_postcode</strong>*<br />String<br /></td>\n<td>The postcode of the merchant on file with the bank.</td>\n</tr>\n<tr>\n<td><strong>merchant_country_code</strong>*<br />String<br /></td>\n<td>The country of the merchant on file with the bank in ISO3166 format.</td>\n</tr>\n<tr>\n<td><strong>acquiring_institution_id</strong>*<br />Integer<br /></td>\n<td>The ID for the bank that acquired the transaction.</td>\n</tr>\n<tr>\n<td><strong>acquiring_institution_country_code</strong>*<br />Integer<br /></td>\n<td>The country of the bank that acquired the transaction in ISO3166 format.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"78ea69c0-1820-48e3-921a-da01863f7aa5","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"4d152b2d-132c-4ab0-9fed-bf942ae91404","type":"text/javascript","exec":[""]}}],"_postman_id":"fb266b06-1dc9-470a-a073-7180e19259bc"},{"name":"Network Merchant Ids","item":[{"name":"List all network merchant Ids","event":[{"listen":"test","script":{"id":"e3300737-f9d5-4316-a0e5-d0bb6496c201","exec":["var jsonData = JSON.parse(responseBody);","","if (responseCode.code === 200 && jsonData.items.length > 0) {","    pm.environment.set(\"network-merchant-id\", jsonData.items[0].id);","}","","if (data.test !== \"true\" | data.test_bank === \"positive\" | data.test_consumer === \"positive\") {","    tests[\"Status code is 200\"] = responseCode.code === 200;","} else {","    tests[\"Status code is 401\"] = responseCode.code === 401;","}"],"type":"text/javascript"}}],"id":"03e98ebf-030b-407c-8b01-e1b3a16f9855","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{access-token}}","type":"text"}],"url":"{{apiPrefix}}/network-merchant-ids","urlObject":{"path":["network-merchant-ids"],"host":["{{apiPrefix}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"03e98ebf-030b-407c-8b01-e1b3a16f9855"}],"id":"2783faef-d050-4275-bbff-793a0dcdcc43","description":"<p>The <code>/network-merchant-ids</code> endpoint provides a list of merchants registered at Slyp with the current bank.</p>\n<p>This is a paginated response. The <code>items</code> contain a list of strings, representing <code>network-merchant-ids</code>.</p>\n<p>We expect that <code>transactions</code> will only be provided for <code>network-merchant-ids</code> that are found in this list.</p>\n","event":[{"listen":"prerequest","script":{"id":"b57c62e1-c11a-42a3-b7b7-f89523dd7a07","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"09f9e6e5-6e40-4079-8372-daa38cb5c7ab","type":"text/javascript","exec":[""]}}],"_postman_id":"2783faef-d050-4275-bbff-793a0dcdcc43","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}}},{"name":"Webhooks","item":[{"name":"Example of New Merchant","id":"3354aed3-8efe-4073-b02a-829d6b9bc71f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"VIEW","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Signature","value":"<HMAC SHA256 signature of body>"}],"body":{"mode":"raw","raw":"{\n    \"network_merchant_id\": \"the-network-merchant-mid\"\n}"},"url":"<your registered webhook url>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}},"urlObject":{"host":["<your registered webhook url>"],"query":[],"variable":[]}},"response":[],"_postman_id":"3354aed3-8efe-4073-b02a-829d6b9bc71f"},{"name":"Example of Transaction Matched","id":"a92ef672-bf6d-46ec-a4bf-93f25a9ade43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"VIEW","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Signature","value":"<HMAC SHA256 signature of body>"}],"body":{"mode":"raw","raw":"{\n    \"matched_transaction\": {\n        \"transaction\": \"725b17862a5289489dcaeb26dab749810146\",\n        \"consumer\": \"C-X-123\",\n        \"receipt\": \"R-X-123\",\n        \"receipt_type\": \"smart\"\n    }\n}"},"url":"<your registered webhook url>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}},"urlObject":{"host":["<your registered webhook url>"],"query":[],"variable":[]}},"response":[],"_postman_id":"a92ef672-bf6d-46ec-a4bf-93f25a9ade43"}],"id":"43ac1333-df79-44de-bc99-b93f68234d53","description":"<p>Slyp supports Webhooks to enable eventful applications, time sensitive applications.</p>\n<p>To verify the authenticity of Webhooks, we sign the POST payload using HMAC SHA256, providing the signature in the X-Signature custom Header. The secret used for signing is provided by the Bank.</p>\n<p>Slyp will POST the Webhook to your registered listener URL with a body containing relevant data for that event. Refer to the specific event definition for the exact payload of that Webhook.</p>\n<h3 id=\"event-types\">Event Types</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Event Name</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>new_merchant</strong></td>\n<td>A new Network Merchant ID (MID) has been added.</td>\n</tr>\n<tr>\n<td><strong>transaction_matched</strong></td>\n<td>On a successfully matched Receipt event.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"webhook-payloads\">Webhook Payloads</h3>\n<p>For a <code>new_merchant</code> webhook, the payload is:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  network_merchant_id: 'MID-123' // The new Network Merchant ID\n}\n</code></pre><p>For a <code>receipt_matched</code> webhook, the payload is:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  matched_transaction: {\n    transaction: 'trID',    // Banks Payment Transaction ID\n    consumer: 'cID,         // Slyp Consumer ID\n    receipt: 'rID',         // Slyp Receipt ID\n    receipt_type: 'smart',  // The type of receipts\n  }\n}\n</code></pre>","event":[{"listen":"prerequest","script":{"id":"8341c85b-8bbc-4669-80be-7b6427e2732b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"3b98b3b4-e999-4f62-8dcf-c13af7edb0af","type":"text/javascript","exec":[""]}}],"_postman_id":"43ac1333-df79-44de-bc99-b93f68234d53","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":true,"source":{"_postman_id":"962cda89-6606-4f2e-918e-ae4f64f1c848","id":"962cda89-6606-4f2e-918e-ae4f64f1c848","name":"Slyp Bank Integration API v1.3","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]}},"event":[{"listen":"prerequest","script":{"id":"3159adf3-c833-4502-8943-fdafbfc5cdf5","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"8e99e76d-4ef3-453f-90e8-15410623f8e2","type":"text/javascript","exec":[""]}}]}