{"info":{"_postman_id":"a34d57f5-c35b-4574-994e-da0498fe46e1","name":"Apollo Finvest: Disbursement Status API","description":"<html><head></head><body><h1 id=\"disbursement-status-read-api\">Disbursement Status Read API</h1>\n<p>These APIs help to have smooth disbursement status communication between both Apollo and Fintech partners.</p>\n<h2 id=\"overview\">Overview</h2>\n<p>This API makes sure that there is efficient communication between Apollo and Fintech partners based on who has conducted the disbursement activity. Once the <strong><code>disbursement is done by Apollo</code></strong>, the partners can use <strong><code>Disbursement Read API</code></strong> to fetch the status of the disbursement.</p>\n<h5 id=\"there-are-3-key-elements-to-loan-read-api\"><strong><code>There are 3 key elements to Loan Read API</code></strong></h5>\n<ul>\n<li><strong>Authentication/Authorisation</strong></li>\n<li><strong>Disbursement Read API</strong></li>\n<li><strong>Callback URL or Webhook</strong></li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Disbursement Status Read API","slug":"disbursement-status-read-api"}],"owner":"11963942","collectionId":"a34d57f5-c35b-4574-994e-da0498fe46e1","publishedId":"TVetakS3","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-11-20T04:42:25.000Z"},"item":[{"name":"Integration of Callback URL or Webhook","item":[],"id":"09e832d2-bc0c-48a7-84f0-7985e8534aaf","description":"<h1 id=\"callback-url-or-webhook-for-disbursement-status-api\">Callback URL or Webhook for Disbursement Status API</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>Partner provides a callback URL on which they want to get a notification for the disbursement of a loan<br />This URL will be added to the partner’s configuration on Sonic to enable this feature. This is optional and can be used instead of Disbursement Read Status API by simply giving a Callback URL and integrating it with Sonic.</p>\n<h2 id=\"how-will-this-feature-works\">How will this feature works:</h2>\n<p>Whenever Apollo uploads and update the disbursement status for a loan and if the URL is integrated into the partner’s configuration on Sonic, then it will send responses along with the status to the partner on this URL.</p>\n<h2 id=\"response-body\">Response Body:</h2>\n<hr />\n<p>The response structure sent by Sonic contains the following information:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Response</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Partner Tag</td>\n<td>Unique Partner Tag provided by Apollo. Eg: \"ABC\"</td>\n<td>This a unique value assigned by Apollo to its partners to identify them and allow them to create and store loans in Apollo's system</td>\n</tr>\n<tr>\n<td>Loan Type</td>\n<td>PL/ML/CL/CL_2</td>\n<td>This will be the type of loan mentioned at the time of loan creation for that particular loan</td>\n</tr>\n<tr>\n<td>Loan ID</td>\n<td>The Loan Id was created by the Partner at the time of loan creation. Eg: \"Test001\"</td>\n<td>This is a unique value created and maintained by the partner at the time of pushing the loan to Apollo's system</td>\n</tr>\n<tr>\n<td>Status</td>\n<td>This is the current status of the loan. eg: \"Success/Failed/Unknown\"</td>\n<td>This field represents the loan stages through which all the loans are processed at Apollo</td>\n</tr>\n<tr>\n<td>Bank Name</td>\n<td>Bank name of the borrower. Eg: \"Axis Bank\"</td>\n<td>This is the name of the bank of the borrower given at the time of loan creation</td>\n</tr>\n<tr>\n<td>Customer Bank Account Name</td>\n<td>Bank account name of the borrower as per bank records. Eg: \"Kartik Aryan\"</td>\n<td>This is the name of the account holder of the given bank account. This will be the same as given at the time of loan creation</td>\n</tr>\n<tr>\n<td>Bank Account Number</td>\n<td>Bank account number of the borrower. Eg: \"213005789\"</td>\n<td>This is the account number of the borrower given at the time of loan creation</td>\n</tr>\n<tr>\n<td>Bank IFSC Code</td>\n<td>IFSC code of the borrower. Eg: \"AXI001534\"</td>\n<td>This is the bank IFSC code of the borrower given at the time of loan creation</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"sample-response\">Sample Response:</h3>\n<hr />\n<p><strong>Response sent on Webhook URL when status success is uploaded;</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"partner_tag\": \"TEST3\",\n  \"loan_type\": \"PL\",\n  \"loan_id\": \"TEST202\",\n  \"utr\": \"N1372115063\",\n  \"status\": \"SUCCESS\",\n  \"bank_name\": \"HDFC Bank\",\n  \"customer_bank_account_name\": \"Salman Khan\",\n  \"bank_account_number\": \"50170817\",\n  \"bank_IFSC_code\": \"HDFC0046\"\n}\n\n</code></pre>\n<p><strong>Response sent on Webhook URL when status Failed is uploaded</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"partner_tag\": \"TEST4\", \n\"loan_type\": \"CL\", \n\"loan_id\": \"test0001\", \n\"utr\": \"\",\n \"status\": \"Failed\"\n}\n\n</code></pre>\n<h2 id=\"disbursement-statuses\">Disbursement Statuses</h2>\n<hr />\n<p>These are the common statuses pushed on the response body of the Disbursement Status Read API and Callback URL.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Success</td>\n<td>SUCCESS</td>\n<td>This states the disbursement status, that disbursement is successful and the loan moved Loan Ongoing or Loan Ongoing Monitoring stage.</td>\n</tr>\n<tr>\n<td>Failed</td>\n<td>FAILED</td>\n<td>This states the disbursement status, that disbursement is failed and the loan moved to Failed stage</td>\n</tr>\n<tr>\n<td>Unknown</td>\n<td>UNKNOWN</td>\n<td>This states the disbursement is not done, not successful nor failed and the loan is in a different stage than the Loan Ongoing or Loan Ongoing Monitoring stage</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"note\">Note:</h2>\n<p>Apollo Finvest will hit the callback URL provided by Fintechs only when the accounts team at Apollo uploads the disbursement status file manually on Sonic.</p>\n","_postman_id":"09e832d2-bc0c-48a7-84f0-7985e8534aaf"},{"name":"Disbursement status update","id":"1a2abd8a-f334-470d-b2df-38c0ede840ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"partner_tag\": \"BI\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"TEST59\",\n    \"status\": \"FAILED\",\n    \"utr\": \"hiudgchjvwbn\"\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{bureau_name}/{version}/{bureau-request}","description":"<h1 id=\"disbursement-status-update-api\">Disbursement Status Update API</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This is a post API for the UAT/test environment and Prod to update the disbursement status of a loan on Apollo's Loan Management System: Sonic. This API is used when <strong><code>Fintech partners do the disbursement</code></strong>. Whenever loans are disbursed the status must be communicated to <strong>Apollo Finvest</strong> and all stakeholders involved for easy operations.</p>\n<h2 id=\"required-fields\">Required Fields:</h2>\n<hr />\n<p>Below mentioned are the key request fields required while hitting the Status Update API</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>partner_tag</td>\n<td>Unique Partner Tag provided by Apollo. Eg: \"ABC\"</td>\n<td><strong><code>Required.</code></strong> <strong><code>String.</code></strong> This is a unique value assigned by Apollo to its partners to identify and allow them to create and store loans in Apollo's system</td>\n</tr>\n<tr>\n<td>loan_type</td>\n<td>PL/ML/CL/LOC</td>\n<td><strong><code>Required.</code></strong> **<code>String.</code>**This is the type of loan mentioned at the time of loan creation for that particular loan. PL- Personal Loan, ML- Micro Loan, CL- Consumer Loan</td>\n</tr>\n<tr>\n<td>loan_id</td>\n<td>The Loan Id was created by the partner at the time of loan creation. Eg: \"Tesst001\"</td>\n<td><strong><code>Required.</code></strong> **<code>String.</code>**This is the unique value created and maintained by the partner at the time of pushing the loan to Apollo's system</td>\n</tr>\n<tr>\n<td>utr</td>\n<td>The UTR number was received from the bank. Eg: \"NB0021234\"</td>\n<td><strong><code>Optional.</code></strong> **<code>String.</code>**The utr number is provided by the bank after every successful transaction</td>\n</tr>\n<tr>\n<td>status</td>\n<td>SUCCESS/FAILED</td>\n<td>Status of the transaction</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"sample-request\">Sample Request:</h2>\n<hr />\n<p>If a loan is successfully disbursed by the partner, the below request will be sent to the API</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"partner_tag\": \"TEST\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"qw5\",\n    \"status\": \"SUCCESS\",\n    \"utr\": \"hiudgchjvwbn\"\n}\n\n</code></pre>\n<h2 id=\"sample-response\">Sample Response:</h2>\n<hr />\n<p>The below response will be provided to the partner once the request is successful</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"UTR uploaded successfully\"\n}\n\n</code></pre>\n<p>If the disbursement transaction failed, the below request will be sent to the API</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"partner_tag\": \"TEST\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"qw5\",\n    \"status\": \"FAILED\",\n    \"utr\": \"hiudgchjvwbn\"\n}\n\n</code></pre>\n<p>The below response will be provided to the partner after the failed transaction is updated at Apollo's end</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Loan moved to failed state\"\n}\n\n</code></pre>\n<h2 id=\"response-status-codes\">Response Status Codes</h2>\n<hr />\n<p>These are the common error codes pushed by the API in case of any errors.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>200</strong></td>\n<td>Successful Request</td>\n</tr>\n<tr>\n<td><strong>400</strong></td>\n<td>Invalid Request</td>\n</tr>\n<tr>\n<td><strong>401</strong></td>\n<td>Unauthorized (The incoming token has expired)</td>\n</tr>\n<tr>\n<td><strong>403</strong></td>\n<td>Forbidden (x-API-key is wrong or partner is not allowed to use this API)</td>\n</tr>\n<tr>\n<td><strong>404</strong></td>\n<td>Not Found (No such loan exists)</td>\n</tr>\n<tr>\n<td><strong>500</strong></td>\n<td>Internal Server Error (Rare)</td>\n</tr>\n<tr>\n<td><strong>504 bad gateway</strong></td>\n<td>The server is down. Please inform immediately to tech POC. You can retry within a few seconds.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"rate-limit\">Rate Limit</h1>\n<hr />\n<h2 id=\"throttling\">Throttling</h2>\n<p>10000 requests per second.</p>\n<h2 id=\"quota\">Quota</h2>\n<p>Unlimited total number of API calls</p>\n<h1 id=\"sla-breakdown\">SLA breakdown</h1>\n<hr />\n<h2 id=\"standard-support\">Standard Support</h2>\n<p>Apollo will provide standard technical support twenty-four (24) hours per day, five (5) days per week, excluding weekends and national Indian holidays. Standard Support will be offered via email.</p>\n<h2 id=\"uptime-commitment\">Uptime commitment</h2>\n<p>Uptime is the percentage of total possible minutes API was available during a fiscal year. Our commitment is to maintain at least 99.99% uptime:</p>\n<h2 id=\"scheduled-downtime\">Scheduled downtime</h2>\n<p>Sometimes we need to perform maintenance to keep API working smoothly. If scheduled downtime is necessary, we’ll give you at least 48 hours advance notice. In a year, scheduled downtime won’t exceed 12 hours.</p>\n<h2 id=\"updates\">Updates:</h2>\n<p>As our business evolves, we may change our service level agreement. Customers can review the most current version of the service level agreement at any time by visiting this page.</p>\n","urlObject":{"protocol":"https","path":["{bureau_name}","{version}","{bureau-request}"],"host":["{servername","com}"],"query":[],"variable":[]}},"response":[{"id":"5413f76e-09b2-4650-8930-76e0ce0e9435","name":"Disbursement status update Example","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"STATUS\": \"SUCCESS\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apollofinvestapi.com/disbursement_status_update"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 23 Sep 2021 05:23:06 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"21"},{"key":"Connection","value":"keep-alive"},{"key":"x-amzn-RequestId","value":"b9086f3f-fde6-4ea2-b39a-a93c32344fa4"},{"key":"access-control-allow-origin","value":"*"},{"key":"x-amz-apigw-id","value":"GGdRGFtKBcwFh7A="},{"key":"X-Amzn-Trace-Id","value":"Root=1-614c0f3a-6d74ed663180b7cd0ec12d8a;Sampled=0"}],"cookie":[],"responseTime":null,"body":"{\n    \"STATUS\": \"SUCCESS\"\n}"}],"_postman_id":"1a2abd8a-f334-470d-b2df-38c0ede840ad"},{"name":"Disbursement status read","id":"d0bb0d3d-fcc4-4e76-8536-6dad3283d134","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"x-api-key"},{"key":"value","value":"<value>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"tag\": \"TEST3\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"TEST005\"\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{bureau_name}/{version}/{bureau-request}","description":"<h1 id=\"disbursement-status-read-api\">Disbursement Status Read API</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This is post API for UAT/test environment and Prodc to get the disbursement status of a loan on Apollo's Loan Management System: Sonic. This is the API used when **<code>Apollo do the disbursement.</code>**Whenever loans are disbursed the status must be communicated to <strong>Partners</strong> and all stakeholders involved for easy operations.</p>\n<p>As mentioned above the partners can provide a Callback URL and integrate it with Sonic. It will help the partners to save time, instead of hitting this API multiple times.</p>\n<h2 id=\"required-fields\">Required Fields:</h2>\n<hr />\n<p>Below mentioned are the key request fields required while hitting the Status Read API</p>\n<p>The Loan Id was created by the Partner at the time of loan creation. Eg: \"Test001\"</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>partner_tag</td>\n<td>Unique Partner Tag provided by Apollo. Eg: \"ABC\"</td>\n<td><strong><code>Required.</code></strong> **<code>String.</code>**This is a unique value assigned by Apollo to its partners to identify them to create and store loans in Apollo's system</td>\n</tr>\n<tr>\n<td>loan_type</td>\n<td>PL/ML/CL/CL_2</td>\n<td><strong><code>Required.</code></strong> **<code>String.</code>**This will be the type of loan mentioned at the time of loan creation for that particular loan</td>\n</tr>\n<tr>\n<td>loan_id</td>\n<td>This Loan Id is created by the partner at the time of loan creation. Eg: \"Test001\"</td>\n<td><strong><code>Required.</code></strong> **<code>String.</code>**This is a unique value created and maintained by the partner at the time of pushing the loan to Apollo's system</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"sample-request\">Sample Request:</h2>\n<hr />\n<p>Below mentioned is a sample request body to use the Disbursement Read API</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"partner_tag\": \"PT\",\n    \"loan_type\": \"ML\",\n    \"loan_id\": \"TEST1000\",\n    \"status\":\"SUCCESS\"\n}\n\n</code></pre>\n<h2 id=\"sample-response\">Sample Response:</h2>\n<hr />\n<p>All the below fields in the response body are defined as same as above.</p>\n<blockquote>\n<p>The </p>\n</blockquote>\n<p>A sample response received from the Disbursement Read API will look like this below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"partner_tag\": \"PT\",\n    \"loan_type\": \"ML\",\n    \"loan_id\": \"TEST1000\",\n    \"utr\": \"ASDFJHHFJ87\",\n    \"status\": \"SUCCESS\"\n}\n\n</code></pre>\n<h2 id=\"disbursement-statuses\">Disbursement Statuses</h2>\n<hr />\n<p>These are the common statuses pushed on the response body of the Disbursement Status Read API and Callback URL. This states whether the disbursement for a particular loan is <strong><code>successful</code></strong> or <strong><code>failed</code></strong> or <strong><code>pending</code></strong>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SUCCESS</td>\n<td>This states that the disbursement is <strong><code>successful</code></strong> and the loan is moved to Loan Ongoing or Loan Ongoing Monitoring stage</td>\n</tr>\n<tr>\n<td>FAILED</td>\n<td>This states that the disbursement is <strong><code>failed</code></strong> and the loan moved to Failed stage</td>\n</tr>\n<tr>\n<td>UNKNOWN</td>\n<td>This states that the <strong><code>disbursement is pending</code></strong> not successful or failed</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"error-status-codes\">Error status codes</h1>\n<hr />\n<p>These are the common error codes pushed by the API in case of any errors</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>400</strong></td>\n<td>Invalid request</td>\n</tr>\n<tr>\n<td><strong>500, 502</strong></td>\n<td>Internal server error (rare)</td>\n</tr>\n<tr>\n<td><strong>403</strong></td>\n<td>Invalid Credentials / Incorrect URL</td>\n</tr>\n<tr>\n<td><strong>504 bad gateway</strong></td>\n<td>The server is down. Please inform immediately to Tech POC. Also can be retried in a few seconds</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"rate-limit-and-sla-breakdown-conditions-will-be-the-same-as-above-mentioned-on-disbursement-status-update-api\"><strong><code>Rate Limit and SLA Breakdown conditions will be the same as above, mentioned on Disbursement Status Update API.</code></strong></h5>\n<h2 id=\"updates\">Updates:</h2>\n<p>As our business evolves, we may change our service level agreement. Customers can review the most current version of the service level agreement at any time by visiting this page.</p>\n","urlObject":{"protocol":"https","path":["{bureau_name}","{version}","{bureau-request}"],"host":["{servername","com}"],"query":[],"variable":[]}},"response":[{"id":"940b213e-5bd5-4fe0-985c-8684cb9b92ed","name":"Disbursement status read Example","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"tag\": \"TEST3\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"TEST005\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apollofinvestapi.com/disbursement_status_read"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 23 Sep 2021 05:25:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"105"},{"key":"Connection","value":"keep-alive"},{"key":"x-amzn-RequestId","value":"07d157a8-8454-40e8-8d81-3802f4b93bf5"},{"key":"access-control-allow-origin","value":"*"},{"key":"x-amz-apigw-id","value":"GGdlZGoohcwFoKg="},{"key":"X-Amzn-Trace-Id","value":"Root=1-614c0fbb-2b930aba461f545e2828bd90;Sampled=0"}],"cookie":[],"responseTime":null,"body":"{\n    \"tag\": \"TEST3\",\n    \"loan_type\": \"PL\",\n    \"loan_id\": \"TEST005\",\n    \"utr\": \"N280201266126500\",\n    \"status\": \"SUCCESS\"\n}"}],"_postman_id":"d0bb0d3d-fcc4-4e76-8536-6dad3283d134"}],"event":[{"listen":"prerequest","script":{"id":"88a98a95-0cb9-44c2-b966-d262c727b0a0","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"4d007d31-db76-445a-ba85-4dbe512bff33","type":"text/javascript","exec":[""]}}]}