Skip to main content

Document Upload

POST

Upload the documents a payout depends on and obtain the reference the Payout request carries. Document upload follows the quotation and precedes the payout.

Two document purposes

RHUB payouts involve two distinct kinds of document. They are often confused, so it is worth being explicit about which is which.

KYC / KYB

Purpose — Customer verification — KYC for individual customers, KYB for business customers.

Applies to — All payout transaction types

Requirement — Mandatory for payout

Payout referencedocReferenceNumber

Invoice

Purpose — Supporting document for business-related transactions.

Applies to — B2B, B2C, C2B

Requirement — Mandatory for B2B, B2C and C2B payout processing. Not applicable as an invoice requirement to C2C.

Payout referencesendClientTrxReference

KYC / KYB is customer verification: KYC for individual customers, KYB for business customers. It is required for payout on every transaction type, and the resulting reference is passed to Payout in docReferenceNumber.

Invoice documentation supports business-related transactions. It is required for B2B, B2C and C2B payout processing, and the invoice/transaction reference is represented in the Payout request by sendClientTrxReference. It does not apply as an invoice requirement to C2C.

The source establishes a single document upload contract, reproduced below; it does not define a separate invoice endpoint or separate invoice-specific request fields. Where your implementation needs that distinction at endpoint level, confirm it with RHUB.

Contract

POSThttp://host/ewallet/api/v1/documentUpload/upload/customer

The Document Upload API is used to upload the ID proof documents of the specific customer of the send client.

Request Parameter

ParametersInput TypeLengthRequirementDescription
walletOwnerCodeNumeric10MTo unique code of the customer whose ID proof document is to be uploaded. eg: 1000090909
docReference NumberAlphanumeric10 - 30MTo unique code of the ID proof document that is to be uploaded. eg:ABCDE12345 (should contains 10 to 30 digits alpha numeric only)
fileapplication/pdf, image/jpg, image/jpeg, image/png5000kb maxMThe actual document which needs to be uploaded in pdf, jpg, jpeg or png format. (not more than 5000kb)

Requirement legend: M = Mandatory · O = Optional · C = Conditional

Request Details

POST /services HTTP/1.0
HOST: XXX.XXX.XXX.XXX:Port
Content-Type: application/json; charset=utf-8
POST -
http://host/ewallet/api/v1/documentUpload/upload/customer

Response Parameter

ParametersData TypeRequirementDescription
transactionIdStringM
requestTimeStringMThis is the requested date and time in the Day Mmm DD HH:MM:SS TIMEZONE YYYY.
responseTimeStringMThis is the response date and time in the Day Mmm DD HH:MM:SS TIMEZONE YYYY.
resultCodeStringMUnique code of the status of the transaction.
resultDescriptionStringMDescription of the status of the transaction.
Doc Upload
codeStringM
walletOwnerCodeStringMThe unique code of the customer or wallet owner whose document is to be fetched.
docReferenceNumberStringMTo unique code of the document, recieved after uploading the document.
transIdStringM
fileNameStringMThe file name of the ID proof document to be fetched.
byteArrStringMThe byte array used to store the binary data.
fileLocationStringMThe location where the ID proof document is stored.
createdOnStringMThe date and time when the ID proof document was uploaded. The date and time conforms the following format. YYYY-MM-DD <Delimiter> HH:MM:SS.MS TIMEZONE
statusStringMThe status of the ID proof document.
createdByStringMThe unique code of the agent who uploaded the ID proof document of the customer or wallet owner.
sourceStringMThe source who uploaded the ID proof document of the customer or wallet owner.
docTypeCodeStringMThe unique code of the ID proof document that was uploaded.
docTypeNameStringMThe name of the ID proof document that was uploaded.
sendClientNameStringMThe name of the send client under whom the customer is registered.

Requirement legend: M = Mandatory · O = Optional · C = Conditional

Response Details

{
transactionId "8299691"
requestTime "Thu Jun 20 15:29:37 IST 2024"
responseTime "Thu Jun 20 15:29:37 IST 2024"
resultCode "0"
resultDescription "Transaction successful"
docUpload Object { walletOwnerCode: "1000008998", docReferenceNumber:
"CUSYC5A3ZH", fileName: "ID_front-960x600_CUSYC5A3ZH_20240620152937.jpg",}
code ""
walletOwnerCode "1000008998"
docReferenceNumber "CUSYC5A3ZH"
transId ""
fileName "ID_front-960x600_CUSYC5A3ZH_20240620152937.jpg"
byteArr null
fileLocation "/opt/documentUpload/1000008998/CUSYC5A3ZH"
createdOn "2024-06-20T15:29:37.584+0530"
status "Active"
createdBy "105790"
source "CLIENT"
docTypeCode "100007"
docTypeName "Certificate of Incorporation"
sendClientName "marvel "
createdByName "marvel "
}