{"info":{"_postman_id":"3a64f96d-8a42-4d99-a835-ae4b1811f91a","name":"Connect API Documentation","description":"<html><head></head><body><p>Version 2.0 Realease Candidate 1</p>\n<h2 id=\"release-candidate-1\">Release Candidate 1</h2>\n<p><strong>This API documentation is currently going through final review and may have some minor changes.</strong></p>\n<hr>\n<p>The TMT Connect API Service enables you to integrate your systems with TMT First to support the automated processing of devices.</p>\n<h2 id=\"version-control\">Version Control</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Date</strong></th>\n<th><strong>Version</strong></th>\n<th><strong>Change</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>14/03/2023</td>\n<td>1.0</td>\n<td>Initial Release</td>\n</tr>\n<tr>\n<td>07/08/2024</td>\n<td>2.0 (RC1)</td>\n<td>Updated for Connect2</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"contact-tmt-first\">Contact TMT First</h2>\n<ul>\n<li><p>Email: <a href=\"https://mailto:business@tmtfirst.co.uk\">business@tmtfirst.co.uk</a></p>\n</li>\n<li><p>Phone: 01782 576920</p>\n</li>\n</ul>\n<h1 id=\"environments\">Environments</h1>\n<p>Replace URL references to \"<strong>{{URL}}</strong>\" with the URL of the environment listed below:</p>\n<ul>\n<li><p>PROD</p>\n<ul>\n<li><a href=\"https://connectapi.tmttech.co.uk\">https://connectapi.tmttech.co.uk</a></li>\n</ul>\n</li>\n<li><p>TEST</p>\n<ul>\n<li><a href=\"https://connectapi-uat.tmttech.co.uk\">https://connectapi-uat.tmttech.co.uk</a></li>\n</ul>\n</li>\n</ul>\n<h4 id=\"please-note\"><strong>Please Note</strong></h4>\n<p>As our systems and services are updated, responses from our API endpoints may include new data fields so it's important your system allows for the additional fields or simply ignores them.</p>\n<p>We won't change existing field names or response structures without providing notice.</p>\n<h1 id=\"testing\">Testing</h1>\n<h3 id=\"customer-reference-prefixes\">Customer Reference Prefixes</h3>\n<p>When testing against our Test environment, the API treats jobs differently based on customer reference prefixes:</p>\n<ul>\n<li><p>Prefix \"0-\" (e.g., \"0-ref1\"): This will automatically advance the job to the Quote Stage, allowing you to test scenarios such as viewing, accepting, or rejecting quotes.</p>\n</li>\n<li><p>Prefix \"1-\" (e.g., \"1-ref2\"): This will push the job through as 'Cannot be Repaired' and randomly select between the statuses 'No Fault Found' or 'Beyond Economic Repair (BER)'.</p>\n</li>\n</ul>\n<p>If the customer reference is not prefixed with \"0-\" or \"1-\", no automatic status changes will occur.</p>\n<h1 id=\"rate-limits\">Rate Limits</h1>\n<p>All Connect endpoints have a rate limit of 60 / minute.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Environments","slug":"environments"},{"content":"Testing","slug":"testing"},{"content":"Rate Limits","slug":"rate-limits"}],"owner":"19015415","collectionId":"3a64f96d-8a42-4d99-a835-ae4b1811f91a","publishedId":"2s93JowQek","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2024-06-18T10:44:27.000Z"},"item":[{"name":"Authentication","item":[],"id":"f6b61efd-d840-4da9-bb6e-2015f37064d3","description":"<p>Our API uses API keys to authenticate requests. An API key is a unique identifier that allows you to access the API.</p>\n<p>Your API key can be generated by an Organisation Admin within the <a href=\"https://connect2.tmtfirst.co.uk/manage-organisation/\">Manage My Organisation</a> screen.</p>\n<p>Include your API key in the 'Authorization' header of your requests. The format of the header should be as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: &lt;your-api-key&gt;\n\n</code></pre>","_postman_id":"f6b61efd-d840-4da9-bb6e-2015f37064d3"},{"name":"Pre-Alert","item":[{"name":"prealert","id":"cca2285c-ee78-4b30-b255-b664601983bd","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"customer_reference\": \"REF123\",\r\n  \"po_number\": \"PO123456\",\r\n  \"make\": \"Samsung\",\r\n  \"model\": \"Galaxy S20\",\r\n  \"imei\": \"123456789012345\",\r\n  \"serial_number\": \"\",\r\n  \"job_description\": \"\",\r\n  \"ra_flag\": 1,\r\n  \"return_address\": {\r\n    \"address_line_1\": \"123 TMT\",\r\n    \"address_line_2\": \"First Lane\",\r\n    \"city\": \"Newcastle-under-Lyme\",\r\n    \"postcode\": \"ST5 9JQ\"\r\n  },\r\n  \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/prealert","description":"<p>The '/prealert' endpoint is used to send us the device/job details.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Customer Reference</td>\n<td>String</td>\n<td>Yes</td>\n<td>A reference number used by your system.</td>\n</tr>\n<tr>\n<td>PO Number</td>\n<td>String</td>\n<td>No</td>\n<td>Your PO number, this can be added later via the 'update-po' endpoint.</td>\n</tr>\n<tr>\n<td>Make</td>\n<td>String</td>\n<td>Yes</td>\n<td>Enter the Manufacturer of the device you are sending, See <a href=\"https://connectapidocs.tmttech.co.uk/#36786eea-4a2a-447e-8dba-5e8f90bdbba2\">Manufacturer List</a></td>\n</tr>\n<tr>\n<td>Model</td>\n<td>String</td>\n<td>No</td>\n<td>Where possible, send the model of the device.</td>\n</tr>\n<tr>\n<td>IMEI</td>\n<td>String</td>\n<td>No</td>\n<td>Where possible, please include an IMEI or Serial Number.</td>\n</tr>\n<tr>\n<td>Serial Number</td>\n<td>String</td>\n<td>No</td>\n<td>Where possible, please include an IMEI or Serial Number.</td>\n</tr>\n<tr>\n<td>Job Description</td>\n<td>String</td>\n<td>Yes</td>\n<td>Description of the job or repair details/faults.</td>\n</tr>\n<tr>\n<td>RaFlag</td>\n<td>String</td>\n<td>Yes</td>\n<td>Return Address Flag should be either 0 or 1  <br />0 = Return to your Organisation  <br />1 = Return to the specified address.</td>\n</tr>\n<tr>\n<td>Return Address</td>\n<td>Object</td>\n<td>Yes</td>\n<td>IF RaFlag = 1 - Specify the below address details.  <br />IF RaFlag = 0 - Set value to 'null' (see below example).</td>\n</tr>\n<tr>\n<td>Address Line 1</td>\n<td>String</td>\n<td>Yes</td>\n<td>Used if RaFlag set to '1'</td>\n</tr>\n<tr>\n<td>Address Line 2</td>\n<td>String</td>\n<td>Yes</td>\n<td>Used if RaFlag set to '1'</td>\n</tr>\n<tr>\n<td>City</td>\n<td>String</td>\n<td>Yes</td>\n<td>Used if RaFlag set to '1'</td>\n</tr>\n<tr>\n<td>Postcode</td>\n<td>String</td>\n<td>Yes</td>\n<td>Used if RaFlag set to '1'</td>\n</tr>\n<tr>\n<td>User Name</td>\n<td>String</td>\n<td>No</td>\n<td>Optional field to send the username or user ID of the person sending the pre-alert.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"raflag-0-example\">RaFlag 0 Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"customer_reference\": \"REF124\",\n    \"po_number\": \"PO123456\",\n    \"make\": \"Samsung\",\n    \"model\": \"Galaxy S20\",\n    \"imei\": \"123456789012347\",\n    \"serial_number\": \"SN123454\",\n    \"job_description\": \"Job / Repair Details\",\n    \"ra_flag\": 0,\n    \"return_address\": null,\n    \"user_name\": \"John Doe\"\n}\n\n</code></pre>\n","urlObject":{"path":["prealert"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"c092bd6c-1b9a-417f-8d88-8a7365e1e746","name":"prealert","originalRequest":{"method":"POST","header":[{"key":"","value":"","type":"text","disabled":true},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n  \"customer_reference\": \"REF123\",\r\n  \"po_number\": \"PO123456\",\r\n  \"make\": \"Samsung\",\r\n  \"model\": \"Galaxy S20\",\r\n  \"imei\": \"123456789012345\",\r\n  \"serial_number\": \"\",\r\n  \"job_description\": \"\",\r\n  \"ra_flag\": 1,\r\n  \"return_address\": {\r\n    \"address_line_1\": \"123 TMT\",\r\n    \"address_line_2\": \"First Lane\",\r\n    \"city\": \"Newcastle-under-Lyme\",\r\n    \"postcode\": \"ST5 9JQ\"\r\n  },\r\n  \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/prealert"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 10:12:23 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"64"}],"cookie":[],"responseTime":null,"body":"{\n    \"connect_id\": 123456,\n    \"message\": \"Device pre-alerted successfully\"\n}"}],"_postman_id":"cca2285c-ee78-4b30-b255-b664601983bd"},{"name":"cancel-prealert","id":"5aec48e7-437b-4c63-95f1-2cce9831794f","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\": 12345,\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/cancel-prealert","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Connect ID</td>\n<td>Number</td>\n<td>Yes</td>\n<td>The unique Connect ID</td>\n</tr>\n<tr>\n<td>User Name</td>\n<td>String</td>\n<td>No</td>\n<td>Optional field to send the username or user ID of the person accepting or rejecting the quote.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["cancel-prealert"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"ff6a7f0a-7b41-455f-b93f-1d07c254f811","name":"cancel-prealert","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\": 12345,\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}}},"_postman_previewlanguage":"json","header":[{},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"Pre-alert cancelled successfully\"\n}"}],"_postman_id":"5aec48e7-437b-4c63-95f1-2cce9831794f"}],"id":"1de29e72-6133-4844-a168-f98b0bc8c1b1","_postman_id":"1de29e72-6133-4844-a168-f98b0bc8c1b1","description":""},{"name":"Device Info","item":[{"name":"devices","event":[{"listen":"test","script":{"id":"4e721a20-a137-4017-9d03-53000b7c5436","exec":["pm.test(\"Response status code is 200\", function () {","    pm.response.to.have.status(200);","});","","","pm.test(\"Response has the required fields\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('array').that.is.not.empty;","    responseData.forEach(function(item) {","        pm.expect(item).to.include.all.keys(","            'courier', 'customer', 'customer_reference', 'date_in', 'date_out', ","            'date_received', 'id', 'imei', 'job_description', 'job_id', 'make', ","            'model', 'notes', 'po_number', 'ra_flag', 'serial_number', 'status', 'tracking_number'","        );","    });","});","","","pm.test(\"Date_in, date_out, and date_received are in valid date format\", function () {","    const responseData = pm.response.json();","    ","    pm.expect(responseData).to.be.an('array');","    responseData.forEach(function(device) {","        pm.expect(device.date_in).to.match(/^\\d{4}-\\d{2}-\\d{2}$/);","        pm.expect(device.date_out).to.match(/^\\d{4}-\\d{2}-\\d{2}$/);","        pm.expect(device.date_received).to.match(/^\\d{4}-\\d{2}-\\d{2}$/);","    });","});","","","pm.test(\"Response time is less than 200ms\", function () {","  pm.expect(pm.response.responseTime).to.be.below(200);","});",""],"type":"text/javascript","packages":{}}}],"id":"4bd60101-690f-49eb-8c09-178b8d200554","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Status","value":"<status url encoded>","type":"text"},{"key":"start_date","value":"<yyyy-mm-dd>","type":"text"},{"key":"end_date","value":"<yyyy-mm-dd>","type":"text"}],"url":"{{url}}/devices","description":"<p>The '/devices' endpoint retrieves a list of all your devices.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Status</td>\n<td>String</td>\n<td>No</td>\n<td>Optional to filter by specific status  <br /><a href=\"https://connectapidocs.tmttech.co.uk/#0e0163bf-f137-4dc6-b6ed-7696a2fd8c7b\">List of Status</a></td>\n</tr>\n<tr>\n<td>Start Date  <br />&amp;  <br />End Date</td>\n<td>Date (yyyy-mm-dd)</td>\n<td>No</td>\n<td>Optional to filter by date range</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["devices"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"d0956761-ba5e-45c4-845f-edfdfcb8fca7","name":"devices","originalRequest":{"header":[]},"_postman_previewlanguage":"","header":[""],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\r\n    {\r\n        \"connect_id\": 12345,\r\n        \"customer_reference\": \"\",\r\n        \"date_in\": \"Tue, 23 Apr 2024 09:30:00 GMT\",\r\n        \"date_out\": \"Tue, 14 May 2024 15:35:26 GMT\",\r\n        \"date_received\": \"Thu, 25 Apr 2024 08:23:50 GMT\",\r\n        \"imei\": \"123456789123456\",\r\n        \"job_description\": \"Broken Screen\",\r\n        \"job_id\": 123456,\r\n        \"make\": \"Samsung\",\r\n        \"model\": \"SM-G525F\",\r\n        \"notes\": \"Screen\",\r\n        \"po_number\": \"\",\r\n        \"quote\": {\r\n            \"quote_price\": \"100.00\",\r\n            \"quote_status\": 1,\r\n            \"quote_update_date\": \"Wed, 08 May 2024 07:43:24 GMT\",\r\n            \"repair_outcome\": \"Repaired\",\r\n            \"repairable\": \"Y\",\r\n            \"triage_conditions\": \"Broken Display\"\r\n        },\r\n        \"ra_flag\": 0,\r\n        \"serial_number\": \"X123456X\",\r\n        \"status\": \"DISPATCHED\",\r\n        \"tracking_number\": \"123456789\"\r\n    },\r\n    {\r\n        \"connect_id\": 12346,\r\n        \"customer_reference\": \"\",\r\n        \"date_in\": \"Tue, 23 Apr 2024 09:30:00 GMT\",\r\n        \"date_out\": \"Tue, 14 May 2024 15:35:26 GMT\",\r\n        \"date_received\": \"Thu, 25 Apr 2024 08:23:50 GMT\",\r\n        \"imei\": \"123456789123457\",\r\n        \"job_description\": \"Broken Screen\",\r\n        \"job_id\": 123457,\r\n        \"make\": \"Samsung\",\r\n        \"model\": \"SM-G525F\",\r\n        \"notes\": \"Screen\",\r\n        \"po_number\": \"\",\r\n        \"quote\": {\r\n            \"quote_price\": \"100.00\",\r\n            \"quote_status\": 1,\r\n            \"quote_update_date\": \"Wed, 08 May 2024 07:43:24 GMT\",\r\n            \"repair_outcome\": \"Repaired\",\r\n            \"repairable\": \"Y\",\r\n            \"triage_conditions\": \"Broken Display\"\r\n        },\r\n        \"ra_flag\": 0,\r\n        \"serial_number\": \"X123457X\",\r\n        \"status\": \"DISPATCHED\",\r\n        \"tracking_number\": \"1234567890\"\r\n    }\r\n]"}],"_postman_id":"4bd60101-690f-49eb-8c09-178b8d200554"},{"name":"job","id":"841f3d9b-b4a7-4661-aa2e-8fda7831a267","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"GET","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{url}}/job/<connect_id>","description":"<p>The '/job' endpoint retrieves details of the specified device/job.</p>\n","urlObject":{"path":["job","<connect_id>"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"b5d61738-3d7c-4900-b4e0-4d9bf23924d9","name":"job","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{url}}/job/<connect_id>"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"connect_id\": 12345,\n    \"customer_reference\": \"123456\",\n    \"date_in\": \"Wed, 22 May 2024 07:45:11 GMT\",\n    \"date_out\": null,\n    \"date_received\": \"Tue, 28 May 2024 11:56:46 GMT\",\n    \"imei\": \"123456789123456\",\n    \"job_description\": \"water damage\",\n    \"job_id\": 123456,\n    \"make\": \"Samsung\",\n    \"model\": \"SM-G525F\",\n    \"notes\": \"SCREEN, BATTERY, MAIN BOARD, CHARGING PORT\",\n    \"po_number\": \"\",\n    \"quote\": {\n        \"quote_price\": \"123.94\",\n        \"quote_status\": 0,\n        \"quote_update_date\": null,\n        \"repair_outcome\": null,\n        \"repairable\": \"Y\",\n        \"triage_conditions\": \"Liquid Damage\"\n    },\n    \"ra_flag\": 0,\n    \"serial_number\": \"\",\n    \"status\": \"QUOTE SENT\",\n    \"tracking_number\": null\n}"}],"_postman_id":"841f3d9b-b4a7-4661-aa2e-8fda7831a267"}],"id":"19b03428-7d6d-4b43-96ea-338633232277","_postman_id":"19b03428-7d6d-4b43-96ea-338633232277","description":""},{"name":"Quotes","item":[{"name":"get-quotes","id":"9735d188-6b63-4c4e-99f6-9740bae3b4ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"url":"{{url}}/get-quotes","description":"<p>The '/get-quotes' endpoint retrieves a list of devices with outstanding quotes. Use this endpoint to fetch information about devices that have pending quotes associated with them.</p>\n","urlObject":{"path":["get-quotes"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"8bf949c1-17d8-4ffb-adcf-88ed4c1000c2","name":"get-quotes","originalRequest":{"method":"GET","header":[]},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n    {\n        \"connect_id\": 123456,\n        \"job_id\": 123456,\n        \"quote_price\": \"100.00\",\n        \"repairable\": \"Y\",\n        \"triage_conditions\": \"Triage Finding 1, Triage Finding 2\"\n    }\n]"}],"_postman_id":"9735d188-6b63-4c4e-99f6-9740bae3b4ce"},{"name":"quote-response","id":"8ee5e063-0f0f-4628-a0b5-8bb4b54ebb53","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12345,\r\n    \"status\": 1,\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response","description":"<p>The '/quote-response' endpoint enables you to accept or reject a quote.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Connect ID</td>\n<td>Number</td>\n<td>Yes</td>\n<td>The unique Connect ID</td>\n</tr>\n<tr>\n<td>Status</td>\n<td>Number</td>\n<td>Yes</td>\n<td>1 = Accept  <br />2 = Reject</td>\n</tr>\n<tr>\n<td>User Name</td>\n<td>String</td>\n<td>No</td>\n<td>Optional field to send the username or user ID of the person accepting or rejecting the quote.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["quote-response"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"6a388068-4733-48a7-b198-1b1070b4e8ae","name":"quote-response REJECTED","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12454,\r\n    \"status\": 0,\r\n    \"sser_name\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 10:14:14 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"74"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Quote status updated successfully\",\n    \"status\": \"QUOTE REJECTED\"\n}"},{"id":"f83a73dc-7410-455a-82db-b6cf5c897f2f","name":"quote-response ACCEPTED","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12454,\r\n    \"status\": 0,\r\n    \"sser_name\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 11:35:53 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"74"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Quote status updated successfully\",\n    \"status\": \"QUOTE ACCEPTED\"\n}"},{"id":"3a2ebe97-60d8-45d9-a785-244973e6f3b6","name":"quote-response NOT FOUND","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12454,\r\n    \"status\": 0,\r\n    \"sser_name\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response"},"status":"NOT FOUND","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 10:22:06 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"28"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Quote not found\"\n}"},{"id":"505aa13a-0ee6-40c0-8bad-4582758a930b","name":"quote-response INVALID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12454,\r\n    \"status\": 0,\r\n    \"sser_name\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response"},"status":"FORBIDDEN","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 11:37:16 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"26"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid quote\"\n}"},{"id":"96d39b20-0cbc-43e3-bce9-0102dfec4eb3","name":"quote-response WRONG STATUS","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"},{"key":"Content-Length","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\":12454,\r\n    \"status\": 0,\r\n    \"sser_name\": null\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/quote-response"},"status":"BAD REQUEST","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"gunicorn"},{"key":"Date","value":"Mon, 24 Jun 2024 11:46:46 GMT"},{"key":"Connection","value":"close"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"112"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"error\": \"Value error, Invalid status. Only 1 (accepted) or 2 (rejected) are allowed.\",\n        \"location\": [\n            \"Status\"\n        ]\n    }\n]"}],"_postman_id":"8ee5e063-0f0f-4628-a0b5-8bb4b54ebb53"}],"id":"4538a512-0a60-44c0-a909-0ae22bc99c43","_postman_id":"4538a512-0a60-44c0-a909-0ae22bc99c43","description":""},{"name":"Purchase Order","item":[{"name":"update-po","id":"336f6474-5731-4579-99b2-e200b319cdaf","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"POST","header":[{"key":"Authorization","value":"<api key>","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\": 12345,\r\n    \"po_number\": \"\",\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/update-po","description":"<p>Purchase Order numbers can be added during the Pre-Alert call, if it's unknown at that time, you can use this enpoint to update it, PO numbers can only be added if one doesn't already exist.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Connect ID</td>\n<td>Number</td>\n<td>Yes</td>\n<td>The unique Connect ID</td>\n</tr>\n<tr>\n<td>PO Number</td>\n<td>Number</td>\n<td>Yes</td>\n<td>Your PO number.</td>\n</tr>\n<tr>\n<td>User Name</td>\n<td>String</td>\n<td>No</td>\n<td>Optional field to send the username or user ID of the person accepting or rejecting the quote.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["update-po"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"27da0dda-b418-4e26-9e37-e68fa9e6828c","name":"update-po","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\": 12345,\r\n    \"po_number\": \"\",\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"PO number updated successfully\"\n}"},{"id":"5ab27f17-a077-4eb0-a327-b15e1b21eebe","name":"update-po (not empty)","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connect_id\": 12345,\r\n    \"po_number\": \"\",\r\n    \"user_name\": \"John Doe\"\r\n}","options":{"raw":{"language":"json"}}}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": \"PO number can only be updated if it is currently empty\"\n}"}],"_postman_id":"336f6474-5731-4579-99b2-e200b319cdaf"}],"id":"f476b0e9-20b5-443f-91ca-6d6d54866e55","_postman_id":"f476b0e9-20b5-443f-91ca-6d6d54866e55","description":""},{"name":"Appendix","item":[{"name":"Manufacturer List","item":[],"id":"36786eea-4a2a-447e-8dba-5e8f90bdbba2","description":"<p>Please use the relevant brand/manufacturer mentioned below, if you have a manufacturer that's not listed below, please contact us.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Brand</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Apple</td>\n</tr>\n<tr>\n<td>Emporia</td>\n</tr>\n<tr>\n<td>JCB</td>\n</tr>\n<tr>\n<td>Lenovo</td>\n</tr>\n<tr>\n<td>Microsoft</td>\n</tr>\n<tr>\n<td>Samsung</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"36786eea-4a2a-447e-8dba-5e8f90bdbba2"},{"name":"Status List","item":[],"id":"0e0163bf-f137-4dc6-b6ed-7696a2fd8c7b","description":"<p>These are the different statuses and what they mean.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Submitted</td>\n<td>Repair information has been submitted to our system</td>\n</tr>\n<tr>\n<td>Received</td>\n<td>Device has arrived at TMT First</td>\n</tr>\n<tr>\n<td>Awaiting Inspection</td>\n<td>Device is currently waiting to be inspected by an engineer</td>\n</tr>\n<tr>\n<td>With Technician</td>\n<td>The device is in the process of being inspected and/or repaired by an engineer</td>\n</tr>\n<tr>\n<td>BER</td>\n<td>The device is beyond economical repair</td>\n</tr>\n<tr>\n<td>Quote Sent</td>\n<td>The device has been inspected and a quote for the repair has been sent</td>\n</tr>\n<tr>\n<td>Quote Refused</td>\n<td>The customer has declined the quote</td>\n</tr>\n<tr>\n<td>Awaiting Parts</td>\n<td>The parts required are not in stock and have been ordered</td>\n</tr>\n<tr>\n<td>Parts Received</td>\n<td>The parts required to repair the device have been received</td>\n</tr>\n<tr>\n<td>Awaiting Quality Control</td>\n<td>The device has been repaired and waiting to be tested</td>\n</tr>\n<tr>\n<td>Passed Quality Control</td>\n<td>The device has passed all quality checks</td>\n</tr>\n<tr>\n<td>Completed</td>\n<td>The repair process has been finished*</td>\n</tr>\n<tr>\n<td>Awaiting Shipment</td>\n<td>The device is with our warehouse ready to be dispatched</td>\n</tr>\n<tr>\n<td>Dispatched</td>\n<td>The device has been dispatched</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>*Please Note - Completed means it has finished the repair process but doesn't mean it's repaired, the outcome of the repair process will be stated in the API Data and Connect Portal.</em></p>\n","_postman_id":"0e0163bf-f137-4dc6-b6ed-7696a2fd8c7b"}],"id":"1dbf06a6-8633-49f9-bc11-33e54ce9f7c8","_postman_id":"1dbf06a6-8633-49f9-bc11-33e54ce9f7c8","description":""}]}