Submission / Upload

# Request Parameters

The following parameters are expected:

Field Description Type
id_no Client's national identity number String
client_name Client's name eg. John Doe String
phone_number Client's phone number eg. 07******** String
client_type This identifies the client type, either a CORPORATE or an INDIVIDUAL String
organization_code This is an identifier for the organization. This will be provided by the Spin Mobile Team String
document_type The type of statement to be processed. Supported: MOMO, BANK String
bank*code An identifier for the specific bank. _Example* ABSA, DTB, NCBA, CANTENARY. Refer below for the full list. String
sender An identifier for the mode of submission. Example LMS_API, email@spinmobile.co. String
decrypter E-Statement password. Send blank if the file is not encrypted. Example 123456 String
remote*identifier An external reference to help identify the customer while submitting data to the client system. _Example* ID Number String

Please find sample implementation on the left


# Supported Banks

The following are the supported banks:

Bank / MFB Code
Centenary Bank CENTENARY
DTB Bank DTB
NCBA Bank NCBA
ABSA Bank ABSA

Please Note: The list of supported is always changing as new banks are incorporated. To check the latest added banks log into the system, go to Banks Menu and click on Upload Statement

# Supported Document Types

The following are the supported statement types:

E-Statement Document Type
MOMO Statement MOMO
Bank Statement BANK
Airtel Statement MOMO
MTN Paybill MOMO

# Response

E-statement submission is an asynchronous process where the statement is submitted first, then the results are sent back to the client through a webhook. On submission, below is a sample response

Description

Field DataType Description
code String A success or failure error code.
message String A description of the results, indicating the number of documents uploaded successfully and any that failed
unique_identifier String On a successful submission, a string is returned with the merged statements unique id. This unique id can be used to query the merged statements status or analysis later on.
upload_error List On submission, a list is returned with the statements whose upload failed. Its contains document dict which identifies the failed statement and an error dict that indicates why the upload failed. The list is empty if none failed.

API format

This is the data format submitted to third-party endpoint

{
  "code": "100.000.000",
  "message": "2 Documents Uploaded Successfully. 1 Document failed to upload",
  "unique_identifier": "some_text",
  "upload_error": [
    {
      "document": {
        "document_key": "file_3",
        "document_type": "BANK",
        "decrypter": "",
        "bank_code": "NCBA",
        "sender": ""
      },
      "error": {
        "code": "600.003.004",
        "message": {
          "id": "some_text",
          "info": "file already exist"
        }
      }
    }
  ]
}