{"info":{"_postman_id":"447314b8-8907-4fd6-ac5a-c34cc838dfd1","name":"Receipt Bot - Secure API","description":"<html><head></head><body><p>Receipt-Bot API provides a collection of end-points that can be used for uploading documents and associated metadata for data extraction. It is a SOAP-based service that authenticates requests using the API keys.</p>\n<p>The extracted data is returned to a webhook provided by you.</p>\n<p>Our API uses resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.</p>\n<img src=\"https://www.receipt-bot.com/assets/images/mian-img-final.jpg\">\n\n<h1 id=\"base-url\">Base URL</h1>\n<p>The base URL for the API is following; <a href=\"https://api.receipt-bot.com/\">https://api.receipt-bot.com/</a></p>\n<h1 id=\"authentication\">Authentication</h1>\n<p>The Receipt Bot API uses API keys to authenticate each request. API key is generated for each user and business. You can generate API keys using Integration Data page in the web app.</p>\n<p>To get your API key;</p>\n<p>* Register an account with Receipt Bot<br>* Navigate to integration data screen and click on the show keys button.</p>\n<p>Please keep your API key secure and do not share on publicly accessible locations on your website or on GitHub, and client-side code etc.</p>\n<p>Your API key is linked with your user account password, changing your password updates your API keys as well. So if you need to change the key at any time, simply change the account password. \nSimilarly, when changing user account password, please also remember to update your keys in the API authentication setup at your end.</p>\n<h1 id=\"response-status-codes\">Response Status Codes</h1>\n<p>Receipt Bot API uses standard REST response codes for indicating the API response, such success or failure for an API request.</p>\n<p>In general;</p>\n<p>* Codes in the 2xx range indicate success.<br>* Codes in the 4xx range indicate an error that failed given the information provided. (e.g. a required parameter was omitted, a charge failed, etc.).<br>* Codes in the 5xx range indicate an error from our servers (Please report these error at <a href=\"mailto:hello@receipt-bot.com\">hello@receipt-bot.com</a>, if any identified).</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>200 OK</td>\n<td>Request received and recorded as expected.</td>\n</tr>\n<tr>\n<td>400 Bad Request</td>\n<td>The request was unacceptable, often due to missing a required parameter.</td>\n</tr>\n<tr>\n<td>403 Unauthorized</td>\n<td>Invalid API key provided or throttling limit reached.</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>500, 502, 503, 504 Server Errors</td>\n<td>Something went wrong on our end. (It rarely happens as we thoroughly test all API changes but please do report if any such cases identified.)</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"request-throttling\">Request Throttling</h1>\n<p>Receipt Bot limits the number of requests that can be received within a minute to maximum of 60.<br>If you send more than 60 requests within a minute, then the system will return an error with status code 429.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Base URL","slug":"base-url"},{"content":"Authentication","slug":"authentication"},{"content":"Response Status Codes","slug":"response-status-codes"},{"content":"Request Throttling","slug":"request-throttling"}],"owner":"14388213","collectionId":"447314b8-8907-4fd6-ac5a-c34cc838dfd1","publishedId":"2s83mbrQy3","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2022-09-28T17:21:33.000Z"},"item":[{"name":"API - 01 - Upload File","id":"a6d78a06-b04d-4735-b014-50fab12f49bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"APIKey\": \"\",\r\n    \"BusinessID\": \"\",\r\n    \"DocumentType\": 1,\r\n    \"FileName\": \"\",\r\n    \"FileContent\": \"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/FileUploadService.svc/FileUpload","description":"<h1 id=\"introduction\">Introduction</h1>\n<p>This end-point is used to upload a new file to Receipt-Bot a base64 string for data extraction.</p>\n<h4 id=\"limitation\">Limitation</h4>\n<p>* The end-point only accepts one file per request. (Please create separate requests if you want to upload multiple files or merge documents in a single PDF file to upload document in a single request.)<br />* The allowed file formats are PDF, PNG, JPG &amp; JPEG.<br />* The maximum file size allowed per request from API is 50 MB while you can upload files up to 256 MB via web app.<br />For information about allowed file formats and upload channels, please refer to the following Help Article: <a href=\"https://www.receipt-bot.com/blog/knowledge-base/upload-documents/\">https://www.receipt-bot.com/blog/knowledge-base/upload-documents/</a></p>\n<h1 id=\"input\">Input</h1>\n<p>This end-point requires the following data parameters;</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>APIKey</td>\n<td>The API Key generated for your integration. (Mandatory)</td>\n</tr>\n<tr>\n<td>BusinessID</td>\n<td>The encrypted business ID. (Mandatory)</td>\n</tr>\n<tr>\n<td>DocumentType</td>\n<td>Document type can be an invoice, statement or other. (Optional and by default set as invoice)</td>\n</tr>\n<tr>\n<td>FileName</td>\n<td>The name of the file. (Mandatory)</td>\n</tr>\n<tr>\n<td>FileContent</td>\n<td>The content of the file converted into a base 64 string. (Mandatory)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"document-type\">Document Type</h4>\n<p>Document Type can be following;</p>\n<p>* Pass \"0\" to upload a \"Purchase Invoice\"<br />* Pass \"1\" to upload an \"Other\" document<br />* Pass \"2\" to upload a \"Statement\"<br />* Pass \"3\" to upload a \"Sale Invoice\"</p>\n<h1 id=\"output\">Output</h1>\n<p>In case of success, the end-point returns a document ID in response. The document ID is a unique identifier of a document within a business in Receipt Bot.</p>\n<p>Receipt Bot will extract data for your uploaded documents, (provided you have an active subscription with a positive credits balance.) You can find detailed information about <a href=\"https://www.receipt-bot.com/blog/knowledge-base/view-billing-utilization-history/\">credits utilization and billing in Receipt Bot here.</a></p>\n<p>Receipt Bot will return extracted data via HTTP post on your provided Webhook URL. You can set up the integration and provide webhook and authentication details on the integration data page in the Receipt Bot web app.</p>\n<p>You can find out more about API integration on the following help article: <a href=\"https://www.receipt-bot.com/blog/knowledge-base/configuring-api-custom-accounting-software-integration\">configuring a Webhook URL here. (Article Coming Soon :)</a></p>\n<p>When the data has been extracted and gone through the validations, it will be exported to the given webhook. All export attempts are recorded as events in the system. Below is a list of key export events;</p>\n<p><strong>Statement Data Export</strong><br />* This event is generated when a statement is processed.<br />* The event content includes metadata for the file and extracted statement details.<br />* Sample response attached with example \"W5 - Webhooks Response - Successful Response for Statement Data Export\".</p>\n<p><strong>File Export</strong><br />* This event is generated when a document is exported from Receipt Bot as a result of split or merge, creating a new file and document ID in Receipt Bot.<br />* The event content includes metadata &amp; base 64 content for the new file created by Receipt Bot.<br />* This document and document ID would not exist in your system at this stage. The system will send, both the document and the extracted data together in two different files as simultaneous events.<br />* Sample response attached with example \"W6 - Webhooks Response - Successful Response for File Export\".</p>\n<p><em>Note: If you do not return a 200 success event for any specific response then the system will continue to send that event for up to three times until a success is received.</em></p>\n<h2 id=\"event-details---statement-data-export\">Event Details - Statement Data Export</h2>\n<p>Receipt Bot provides the following attributes when exporting the statements data;</p>\n<h4 id=\"event-attributes\">Event Attributes</h4>\n<p><strong>BusinessID</strong><br />* Definition: Receipt Bot generated unique business/entity identifier.<br />* Data type: String</p>\n<p><strong>BusinessName</strong><br />* Definition: Business name as provided by you for business setup.<br />* Data type: String</p>\n<p><strong>EventID</strong><br />* Definition: Unique ID assigned for each export attempt by Receipt Bot to your provided webhook.<br />* Data type: String</p>\n<p><strong>EventType</strong><br />* Definition: Type of events initiated by Receipt Bot for exporting data to your webhooks.<br />* Allowed values: FileExport, StatementDataExport<br />* Data type: String</p>\n<p><strong>Trigger</strong><br />* Definition: The trigger which initiaed this event.<br />* Allowed values: AutoExport, ManualExport<br />* Data type: String</p>\n<p><strong>WebhookStatus</strong><br />* Allowed values: Scheduled, Succeeded, Re-scheduled, Failed<br />* Data type: String</p>\n<p><strong>OccurredAt</strong><br />* Definition: Date time when the event occurred.<br />* Data type: Integer</p>\n<h4 id=\"file-attributes\">File Attributes</h4>\n<p><strong>DocumentID</strong><br />* Definition: Receipt Bot generated unique document identifier for each business.<br />* Data type: Integer</p>\n<p><strong>UploadDate</strong><br />* Definition: Date time when the Receipt Bot received your document.<br />* Data type: Integer</p>\n<p><strong>DocumentTypeName</strong><br />* Definition: Document type identified by the system.<br />* Allowed values: Invoice or Receipt, Other Document, Bank or Card Statement<br />* Data type: String</p>\n<p><strong>DocumentTypeID</strong><br />* Definition: Document type identified for the system.<br />* Allowed values: 0, 1, 2<br />* Integer</p>\n<p><strong>FileName</strong><br />* Definition: Original file name provided when uploading a document.<br />* Data type: String</p>\n<p><strong>Source</strong><br />* Definition: The source from which a document is received.<br />* Allowed values: Web, Mobile, Email, System, API<br />* Data type: String</p>\n<p><strong>UploadUserEmail</strong><br />* Definition: The user email who uploaded the document.<br />* Data type: String</p>\n<h5 id=\"partent-document-attributes\">Partent Document Attributes</h5>\n<p><strong>DocumentID</strong><br />* Definition: The unique identifier for the source document from which the current document has been generated.<br />* Data type: Integer</p>\n<p><strong>FileName</strong><br />* Definition: The name of the source document that was passed on document upload.<br />* Data type: String</p>\n<p><strong>RemainingResponses</strong><br />* Definition: This shows the count of responses that you will further receive for the source document. If a single document contains multiple bank statements then the system splits the data by header and provide you with a separate response for each file.<br />* Data type: Integer</p>\n<h4 id=\"statement-attributes\">Statement Attributes</h4>\n<p><strong>ClosingBalance</strong><br />* Definition: Closing balances as extracted from the statement. Positive integer for an account credit balance (a deposit that is an accounting asset) and a negative integer for an account debit balance (a loan or credit card payable amount, that is an accounting liability.)<br />* Data type: Integer</p>\n<p><strong>OpeningBalance</strong><br />* Definition: Opening balances as extracted from the statement. Positive integer for an account credit balance (a deposit that is an accounting asset) and a negative integer for an account debit balance (a loan or credit card payable amount, that is an accounting liability.)<br />* Data type: Integer</p>\n<p><strong>DateFrom</strong><br />* Definition: Start date of the period for statement.<br />* Data type: Integer</p>\n<p><strong>DateTo</strong><br />* Definition: End date of the period for statement.<br />* Data type: Integer</p>\n<p><strong>DocumentSubType</strong><br />* Definition: The subtype for the document classify documents into different groups requiring different data handling.<br />* Allowed values: Bank Statement, Credit Card Statement, Loan/Mortgage Statement, Merchant Account Statement, PayPal Statement, Duplicate Document, Processing Error. You can further read about what each document sub-type represents from the following help article: <a href=\"https://www.receipt-bot.com/blog/knowledge-base/review-download-bank-statements/\">Review and download bank statements</a><br />* Data type: String</p>\n<p><strong>ProcessStatus</strong><br />* Definition: The status of the document in the processing cycle.<br />* Allowed values: Processing, Processed, Paused, Exported.<br />* Data type: String</p>\n<p><strong>Title</strong><br />* Definition: Title as extracted from the bank statement.<br />* Data type: String</p>\n<p><strong>ProcessingNotes</strong><br />* Definition: Processing Notes are added in case of validation failures or errors during the processing of a document. For example, the line balances did not reconcile with the header balances or the document was identified as duplicate. Processing notes are not errors and do not appear as error messages.<br />* Data type: List (String)</p>\n<h4 id=\"payment-method-attributes\">Payment Method Attributes</h4>\n<p><strong>PaymentMethodID</strong><br />* Definition: Unique ID assigned to each payment method.<br />* Data type: Integer</p>\n<p><strong>BankName</strong><br />* Definition: Bank name as extracted from the statement.<br />* Data type: String</p>\n<p><strong>DisplayName</strong><br />* Definition: Unique name assigned to each account by Receipt Bot or by the user.<br />* Data type: String</p>\n<p><strong>AccountNumber</strong><br />* Definition: Last four digits of the account number as extracted by the system.<br />* Data type: String</p>\n<p><strong>PaymentMode</strong><br />* Definition: Type of bank account like Bank, Credit Card or PayPal.<br />* Allowed values: Bank, Credit Card, PayPal, None<br />* Data type: String</p>\n<p><strong>Currency</strong><br />* Definition: Default currency for the payment method.<br />* Data type: String</p>\n<h4 id=\"statement-transaction-attributes\">Statement Transaction Attributes</h4>\n<p><strong>TransactionID</strong><br />* Definition: ID refers to the sequence of rows in a statement.<br />* Data type: Integer</p>\n<p><strong>Date</strong><br />* Description: Transaction Date; as extracted from the statement and standardised to address any gaps. Note: If there are multiple columns for dates in a statement, Receipt Bot only considers the date at which the transaction impacted the statement balance. Example; Some credit cards have a transaction date (when the payment occurred) and a value date (when the payment got approved by the financial institution and increased the payables. Receipt Bot will extract the value date)<br />* Data type: Integer</p>\n<p><strong>Description</strong><br />* Definition: It is the particulars or narration extracted for a transaction.<br />* Data type: String</p>\n<p><strong>Reference</strong><br />* Definition: This includes the extracted reference or transaction type.<br />* Data type: String</p>\n<p><strong>MoneyOut</strong><br />* Definition: Money Out; is the amount paid out from the account.<br />* Data type: Integer</p>\n<p><strong>MoneyIn</strong><br />* Definition: Money In; is the amount received into the account.<br />Note: Even if the money in and money out amounts are in a single column in the uploaded document, in the export file, the amounts are mapped to the relevant columns.<br />* Data type: Integer</p>\n<p><strong>Balance</strong><br />* Definition: Balance includes the extracted running balance amounts from the statement. The balance column will be included in the output if it was available in the uploaded statements and it can blank.<br />* Data type: Integer</p>\n<p><strong>SubAccountReference</strong><br />* Definition: If the statement has multiple accounts, then the account reference is added against each transaction to indicate which account/card this transaction relates to.<br />* Data type: String</p>\n<p><strong>MemoAmount1</strong><br />* Definition: If there are additional columns in a statement that do not impact the balance and are only included as transaction detail, e.g. charges, fee, interest etc, those columns are extracted as memo amount. The data extraction validations do not cover the memo amount columns<br />* Data type: Integer</p>\n<p><strong>MemoAmount2</strong><br />* Definition: Additional extracted data, similar to memo amount 1.<br />* Data type: Integer</p>\n<h2 id=\"event-details---file-export\">Event Details - File Export</h2>\n<p>Receipt Bot provides the following attributes when export statement files that were created in Receipt Bot as a result of split or merge of uploaded documents;</p>\n<h4 id=\"file-attributes-1\">File Attributes</h4>\n<p><strong>DocumentID</strong><br />* Definition: Receipt Bot generated unique document identifier.<br />* Data type: Integer</p>\n<p><strong>UploadDate</strong><br />* Definition: Date time when the Receipt Bot received your document.<br />* Data type: Integer</p>\n<p><strong>DocumentTypeName</strong><br />* Definition: Document type identified for the system.<br />* Allowed values: Invoice or Receipt, Other Document, Bank or Card Statement<br />* Data type: String</p>\n<p><strong>DocumentTypeID</strong><br />* Definition: Document type identified for the system.<br />* Allowed values: 0, 1, 2<br />* Integer</p>\n<p><strong>FileName</strong><br />* Definition: File name assigned by Receipt Bot when the document was created.<br />* Data type: String</p>\n<p><strong>FileContent</strong><br />* Definition: File content converted to a base64 string.<br />* Data type: String</p>\n<p><strong>Source</strong><br />* Definition: The source from which a document is received. In the case of a document created by Receipt Bot, the source is, \"System\".<br />* Allowed values: Web, Mobile, Email, System, API<br />* Data type: String</p>\n<p><strong>UploadUserEmail</strong><br />* Definition: The user email who uploaded the document.<br />* Data type: String</p>\n<h5 id=\"partent-document-attributes-1\">Partent Document Attributes</h5>\n<p><strong>DocumentID</strong><br />* Definition: The unique identifier for the source document from which the current document has been generated.<br />* Data type: Integer</p>\n<p><strong>FileName</strong><br />* Definition: The name of the source document that was passed on document upload.<br />* Data type: String</p>\n<p><strong>RemainingResponses</strong><br />* Definition: This shows the count of responses that you will further receive for the source document. If a single document contains multiple bank statements then the system splits the data by header and provide you with a separate response for each file.<br />* Data type: Integer</p>\n","urlObject":{"path":["FileUpload"],"host":["https://api.receipt-bot.com/FileUploadService","svc"],"query":[],"variable":[]}},"response":[{"id":"45c885b2-cee0-4206-9d7d-dce09907dfa9","name":"Successful Upload Example","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\": \"sampleAPIKey\",\r\n\t\"BusinessID\": \"sampleBusinessKey\",\r\n\t\"FileName\": \"sample1.pdf\",\r\n    \"DocumentType\": 2,\r\n    \"FileContent\": \"SampleFileContent\" \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.receipt-bot.com/FileUploadService.svc/FileUpload","host":["https://api.receipt-bot.com/FileUploadService","svc"],"path":["FileUpload"],"query":[{"key":"","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"private"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"Microsoft-IIS/8.5"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Wed, 03 Feb 2021 09:31:27 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"DocumentID\": \"290\",\n    \"Message\": \"Document uploaded successfully\",\n    \"ProcessingTime\": \"Expected Processing Time is 30 Minutes\"\n}"},{"id":"e7a06f53-7c81-4c08-ada0-73f2bbf73892","name":"Incorrect Extension Passed Example","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\": \"SampleAPIKey\",\r\n\t\"BusinessID\": \"SampleBusinessKey\",\r\n\t\"FileName\": \"sample2\",\r\n    \"DocumentType\": 2,\r\n    \"FileContent\": \"SampleFileContent\" \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/FileUploadService.svc/FileUpload"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"private"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"Microsoft-IIS/8.5"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Wed, 03 Feb 2021 09:36:45 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"DetailedInformation\": \"Invalid file name or file name with bad extension\",\n    \"Message\": \"One or more errors occurred\"\n}"},{"id":"2841aa7f-a9c9-4df3-9439-9fe8bd67fbaf","name":"Mandatory fields missed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\": \"\",\r\n\t\"BusinessID\": \"\",\r\n\t\"FileName\": \"\",\r\n    \"DocumentType\": 2,\r\n    \"FileContent\": \"\" \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/FileUploadService.svc/FileUpload"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"private"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"Microsoft-IIS/8.5"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Wed, 03 Feb 2021 09:38:18 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"DetailedInformation\": \"Mandatory fields missing\",\n    \"Message\": \"One or more errors occurred\"\n}"},{"id":"ac454a76-e8dd-4235-87a3-be8b3e992884","name":"Incorrect base64 string passed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\": \"SampleAPIKey\",\r\n\t\"BusinessID\": \"SampleBusinessKey\",\r\n\t\"FileName\": \"sample1.pdf\",\r\n    \"DocumentType\": 2,\r\n    \"FileContent\": \"@#$%^&abcdadakldl\" \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/FileUploadService.svc/FileUpload"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"private"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"Microsoft-IIS/8.5"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Wed, 03 Feb 2021 09:41:42 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"DetailedInformation\": \"Invalid base64 string\",\n    \"Message\": \"One or more errors occurred\"\n}"},{"id":"2a573113-6a36-4158-8e6d-5fa9fcfacb80","name":"Webhooks Response - Successful Response for Statement Data Export","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"BusinessID\": \"ABCD1234567890123456789\",\r\n    \"BusinessName\": \"Brilliant Business\",\r\n    \"EventID\": \"id1234asd\",\r\n    \"EventType\": \"StatementDataExport\",\r\n    \"OccurredAt\": 1615464315,\r\n    \"Trigger\": \"AutoExport\",\r\n    \"WebhookStatus\": \"Scheduled\",\r\n    \"File\": {\r\n        \"DocumentID\": 2,\r\n        \"UploadDate\": 1615464315,\r\n        \"DocumentTypeName\": \"Bank & Card Statement\",\r\n        \"DocumentTypeID\": 2,\r\n        \"FileName\": \"DocID1_P1-P2.pdf\",\r\n        \"ParentDocumentID\": 1,\r\n        \"ParentDocument\": {\r\n            \"DocumentID\": 1,\r\n            \"FileName\": \"SampleFile.pdf\",\r\n            \"RemainingResponses\": 1\r\n        },\r\n        \"Source\": \"System\",\r\n        \"UploadUserEmail\": \"user@domain.com\"\r\n    },\r\n    \"Statement\": {\r\n        \"ClosingBalance\": 70,\r\n        \"DateFrom\": 1616838238,\r\n        \"DateTo\": 1616838238,\r\n        \"DocumentSubType\": \"Bank Statement\",\r\n        \"OpeningBalance\": 0,\r\n        \"ParentDocumentID\": 0,\r\n        \"PaymentMethod\": {\r\n            \"PaymentMethodID\": 101,\r\n            \"BankName\": \"HSBC\",\r\n            \"DisplayName\": \"HSBC-2021\",\r\n            \"AccountNumber\": \"4591\",\r\n            \"PaymentMode\": \"Bank\",\r\n            \"Currency\": \"GBP\"\r\n        },\r\n        \"ProcessingNotes\": [\r\n            \"Missing details: The statement has transactions without any date.\",\r\n            \"Validation Error: Transaction summary does not match with the sum of transaction lines.\"\r\n        ],\r\n        \"ProcessStatus\": \"Processed\",\r\n        \"Title\": \"John Smith\",\r\n        \"Transactions\": [\r\n            {\r\n                \"TransactionID\": 1,\r\n                \"Date\": \"1616838238\",\r\n                \"Description\": \"Direct Credit\",\r\n                \"Reference\": \"-\",\r\n                \"MoneyOut\": 0,\r\n                \"MoneyIn\": 100,\r\n                \"Balance\": 100,\r\n                \"SubAccountReference\": \"-\",\r\n                \"MemoAmount1\": 0,\r\n                \"MemoAmount2\": 0\r\n            },\r\n            {\r\n                \"TransactionID\": 2,\r\n                \"Date\": \"1616838238\",\r\n                \"Description\": \"Direct Debit\",\r\n                \"Reference\": \"DD\",\r\n                \"MoneyOut\": 30,\r\n                \"MoneyIn\": 0,\r\n                \"Balance\": 70,\r\n                \"SubAccountReference\": \"-\",\r\n                \"MemoAmount1\": 0,\r\n                \"MemoAmount2\": 0\r\n            }\r\n        ]\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{business_webhook_url}}"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"cd9ea2dd-8c6e-4505-b1ce-21a46cc013b4","name":"W6 - Webhooks Response - Successful Response for File Export","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"BusinessID\": \"ABCD1234567890123456789\",\r\n    \"BusinessName\": \"Brilliant Business\",\r\n    \"EventID\": \"id1234asd\",\r\n    \"EventType\":\"FileExport\",\r\n    \"OccurredAt\":1615464315,\r\n    \"Trigger\": \"AutoExport\",\r\n\t\"WebhookStatus\": \"Scheduled\",\r\n    \"File\": {\r\n        \"DocumentID\": 2,\r\n        \"UploadDate\": 1615464315,\r\n        \"DocumentTypeName\": \"Bank or Card Statement\",\r\n        \"DocumentTypeID\": 2,\r\n        \"FileContent\": \"__base64_file_content__\",\r\n        \"FileName\": \"DocID1_P1-P2.pdf\",\r\n        \"ParentDocument\": {\r\n            \"DocumentID\": 1,\r\n            \"FileName\": \"SampleFile.pdf\",\r\n            \"RemainingResponses\": 1\r\n        },\r\n        \"Source\": \"System\",\r\n        \"UploadUserEmail\": \"user@domain.com\"\r\n        }\r\n}","options":{"raw":{"language":"json"}}},"url":"{{business_webhook_url}}"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a6d78a06-b04d-4735-b014-50fab12f49bb"},{"name":"API - 02 - Get Statement","id":"8e81a760-5f2f-4328-9a36-aab73e15aed2","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"host":true,"user-agent":true,"accept":true,"accept-encoding":true,"connection":true}},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\":\"\",\r\n\t\"BusinessID\":\"\",\r\n\t\"DocumentID\":\"\" \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/BankStatementService.svc/StatementDetails","description":"<h1 id=\"introduction\">Introduction</h1>\n<p>This end-point can be used to get the extracted bank statement data.</p>\n<p><em>Note: The data extraction process takes some time therefore avoid hitting the API immediately after uploading the document. It is recommended to setup a webhook interface so that Receipt Bot automatically send you extracted data on your endpoint once it is processed.</em></p>\n<h1 id=\"input\">Input</h1>\n<p>This end-point requires the following data parameters;</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>APIKey</td>\n<td>The API Key generated for your integration. (Mandatory)</td>\n</tr>\n<tr>\n<td>BusinessID</td>\n<td>The encrypted business ID. (Mandatory)</td>\n</tr>\n<tr>\n<td>DocumentID</td>\n<td>Document type can be an invoice, statement or other. (Optional and by default set as invoice)</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"output\">Output</h1>\n<p>The system will return a payload that will contain the extracted statements data.</p>\n<p>The output will contain the following keys;</p>\n<p><strong>APIVersionKey</strong><br />* This key will return the webhooks version setup for your business.<br /><strong>Message</strong><br />* This key will return a detailed message if any error occurs in the request. If no error occurs and the request is completed successfully then system will return \"success\".<br />* The list of possible values are mentioned below.</p>\n<p><strong>Payload</strong><br />* This key will return a list of documents. In most cases, you will receive only one item in the payload list that will be based on the document ID that is passed in the request body.<br />* If the document ID in request was modified and split into multiple documents, this key will return the list of all split documents.<br />* Each item in the list will contain the same asreceived from the webhooks. You can read the definition of keys under the heading of \"Event Details - Statement Data Export\".</p>\n<h2 id=\"common-error-responses\">Common Error Responses</h2>\n<ul>\n<li>If the document does not exist in Receipt Bot, you will get a message \"Document Id doesn't exist\"</li>\n<li>If any mandatory field is missed or passed with incorrect casing in the request, you will get a message that \"Invalid parameter keys, the keys and values are case sensitive.\"</li>\n<li>If the APIKey or BusinessID is passed incorrectly, system will return a message \"Authentication error, user or business key not found.\"</li>\n<li>If the document is currently in the processing state then system will return message key under the payload key with value \"Document is currently queued to be processed\"</li>\n<li>If the document requested is not processed and the processing has been paused due to any reason then you will receive a message \"Document processing paused; <em>[reason for pause]</em>\"</li>\n</ul>\n<h2 id=\"split-files\">Split Files</h2>\n<p>If the document you uploaded has been modified and split into multiple files then you will receive data for all the split files that are created from this document under the payload key.</p>\n","urlObject":{"path":["StatementDetails"],"host":["https://api.receipt-bot.com/BankStatementService","svc"],"query":[],"variable":[]}},"response":[{"id":"eeacd323-087e-4430-b47d-ccbf365fd66b","name":"Success Response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"APIKey\":\"\",\r\n\t\"BusinessID\":\"\",\r\n\t\"DocumentID\":\"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.receipt-bot.com/BankStatementService.svc/StatementDetails"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"private"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Fri, 10 Feb 2023 14:48:06 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"APIVersionKey\": \"V2\",\n    \"Message\": \"success\",\n    \"Payload\": [\n        {\n            \"BusinessID\": \"vZU3K933W7r7lqDaRO8DDw==\",\n            \"BusinessName\": \"Brilliant Business\",\n            \"EventID\": \"EV_306991\",\n            \"EventType\": \"GetStatementData\",\n            \"File\": {\n                \"DocumentID\": 76,\n                \"DocumentTypeID\": 2,\n                \"DocumentTypeName\": \"Bank Statement\",\n                \"FileName\": \"DocID74_P2.pdf\",\n                \"ParentDocument\": {\n                    \"DocumentID\": 74,\n                    \"FileName\": \"March April 2022.pdf\"\n                },\n                \"Source\": \"System\",\n                \"UploadDate\": 1669292307,\n                \"UploadUserEmail\": \"demo@receipt-bot.com\"\n            },\n            \"OccurredAt\": 1680005361,\n            \"Statement\": {\n                \"ChargeablePages\": 1,\n                \"ClosingBalance\": -61.15,\n                \"DateFrom\": 1646092800,\n                \"DateTo\": 1648598400,\n                \"DocumentSubType\": \"Bank Statement\",\n                \"OpeningBalance\": -30.00,\n                \"PaymentMethod\": {\n                    \"AccountNumber\": \"0000\",\n                    \"BankAddress\": null,\n                    \"BankName\": \"Standard Bank\",\n                    \"BankPhoneNumber\": null,\n                    \"Currency\": \"GBP\",\n                    \"CustomerAddress\": null,\n                    \"CustomerName\": null,\n                    \"CustomerPhoneNumber\": null,\n                    \"DisplayName\": \"Standard Bank-0000\",\n                    \"PaymentMethodID\": 37553,\n                    \"PaymentMode\": \"Bank\"\n                },\n                \"ProcessStatus\": \"Exported\",\n                \"ProcessingNotes\": [],\n                \"Title\": \"XYZ (PTY) LTD\",\n                \"Transactions\": [\n                    {\n                        \"Balance\": -180.00,\n                        \"Date\": 1646179200,\n                        \"Description\": \"BANK CHARGES\\n!CARD REPLACEM4278193441522307\",\n                        \"LineID\": \"00706100001000076\",\n                        \"MemoAmount1\": 0,\n                        \"MemoAmount2\": 0,\n                        \"MoneyIn\": 0,\n                        \"MoneyOut\": 150.00,\n                        \"Reference\": \"\",\n                        \"SubAccountReference\": \"\",\n                        \"TransactionID\": 1,\n                        \"UniqueIdentifierID\": 5725377\n                    },\n                    {\n                        \"Balance\": -30.00,\n                        \"Date\": 1646956800,\n                        \"Description\": \"TRANSACTION REVERSAL\\nCARD REPLACEMENT FEE\",\n                        \"LineID\": \"00706100002000076\",\n                        \"MemoAmount1\": 0,\n                        \"MemoAmount2\": 0,\n                        \"MoneyIn\": 150.00,\n                        \"MoneyOut\": 0,\n                        \"Reference\": \"\",\n                        \"SubAccountReference\": \"\",\n                        \"TransactionID\": 2,\n                        \"UniqueIdentifierID\": 5725378\n                    },\n                    {\n                        \"Balance\": -31.15,\n                        \"Date\": 1648166400,\n                        \"Description\": \"EXCESS INTEREST\",\n                        \"LineID\": \"00706100003000076\",\n                        \"MemoAmount1\": 0,\n                        \"MemoAmount2\": 0,\n                        \"MoneyIn\": 0,\n                        \"MoneyOut\": 1.15,\n                        \"Reference\": \"\",\n                        \"SubAccountReference\": \"\",\n                        \"TransactionID\": 3,\n                        \"UniqueIdentifierID\": 5725379\n                    },\n                    {\n                        \"Balance\": -61.15,\n                        \"Date\": 1648598400,\n                        \"Description\": \"MEMBERSHIP FEE\\nUCOUNT\",\n                        \"LineID\": \"00706100004000076\",\n                        \"MemoAmount1\": 0,\n                        \"MemoAmount2\": 0,\n                        \"MoneyIn\": 0,\n                        \"MoneyOut\": 30.00,\n                        \"Reference\": \"\",\n                        \"SubAccountReference\": \"\",\n                        \"TransactionID\": 4,\n                        \"UniqueIdentifierID\": 5725380\n                    }\n                ],\n                \"TransactionsCount\": 4\n            },\n            \"WebhookStatus\": \"Sent\"\n        }\n    ]\n}"}],"_postman_id":"8e81a760-5f2f-4328-9a36-aab73e15aed2"}],"event":[{"listen":"prerequest","script":{"id":"cc31fe5b-d1a8-4114-b62d-235665eff401","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"8117cf5c-fb3d-4197-82ae-e5f191aaefc9","type":"text/javascript","exec":[""]}}],"variable":[{"key":"base_url","value":"https://api.receipt-bot.com/"},{"key":"api_key","value":""},{"key":"business_id","value":""},{"key":"file_name","value":""},{"key":"DocumentTypeId","value":"1"},{"key":"document_id","value":"","type":"string"},{"key":"file_content_base64","value":""}]}