# SDK Support for Bulk Transfers - API
The Payer SDK Scheme Adapter enhancements have been added to the API under the \BulkTransactions endpoint.
- POST /bulkTransactions
- PUT /bulkTransactions
- PUT /bulkTransactions callback
The Outbound Open API definition can be found here (opens new window). The Inbound Open API definition can be found here (opens new window).
# Technical Sequence Diagram
# Error Tables for bulk transfers
# Discovery Phase
All the errors encountered during this phase will be accumulated in the mojaloop-connector and will be added to the lastError
object and returned to the Payer FSP along with all other successful or failed transfers involved in the bulk transfer request.
mojaloop-connector will act as a pass-through for all the errors returned by the switch
"lastError": {
"httpStatusCode": 202,
"mojaloopError": {
"errorInformation": {
"errorCode": "3204",
"errorDescription": "Party not found",
"extensionList": {"extension": [{"key": "string","value": "string"}]}
}
}
}
Party Lookup Error Codes
Error Description | Error Code | HTTP Code | Category |
---|---|---|---|
Communication error | 1000 | 503 | Technical Error |
Destination communication error | 1001 | 503 | Technical Error |
Generic server error | 2000 | 503 | Processing Error |
Internal server error | 2001 | 503 | Processing Error |
Timeout Resolving Party | 2004 | 503 | Processing Error |
Generic validation error | 3100 | 400 | Request Validation Error |
Party not found | 3204 | 202 | Processing Error |
# Agreement Phase
All the errors encountered during this phase will be accumulated in the mojaloop-connector and will be added to the lastError
object and returned to the Payer FSP along with all other successful or failed transfers involved in the bulk transfer request.
mojaloop-connector will act as a pass-through for all the errors returned by the switch
"lastError": {
"httpStatusCode": 202,
"mojaloopError": {
"errorInformation": {
"errorCode": "3204",
"errorDescription": "Party not found",
"extensionList": {"extension": [{"key": "string","value": "string"}]}
}
}
}
Quotes Error Codes
Error Description | Error Code | HTTP Code | Category |
---|---|---|---|
Communication error | 1000 | 503 | Technical Error |
Destination communication error | 1001 | 503 | Technical Error |
Generic server error | 2000 | 503 | Technical Error |
Internal server error | 2001 | 503 | Technical Error |
Not implemented | 2002 | 501 | Processing Error |
Service currently unavailable | 2003 | 503 | Processing Error |
Server timed out | 2004 | 503 | Processing Error |
Server busy | 2005 | 503 | Processing Error |
Generic client error | 3000 | 400 | Request Validation Error |
Unacceptable version requested | 3001 | 406 | Not acceptable Error |
Unknown URI | 3002 | 404 | Not Found Error |
Generic validation error | 3100 | 400 | Request Validation Error |
Malformed syntax | 3101 | 400 | Request Validation Error |
Missing mandatory element | 3102 | 400 | Request Validation Error |
Too many elements | 3103 | 400 | Request Validation Error |
Too large payload | 3104 | 400 | Request Validation Error |
Invalid signature | 3105 | 403 | Forbidden Error |
Destination FSP Error | 3201 | 404 | Not Found Error |
Payer FSP ID not found | 3202 | 404 | Not Found Error |
Payee FSP ID not found | 3203 | 404 | Not Found Error |
Quote ID not found | 3205 | 404 | Not Found Error |
Bulk quote ID not found | 3209 | 404 | Not Found Error |
Generic expired error | 3300 | 503 | Processing Error |
Quote expired | 3302 | 503 | Processing Error |
Generic Payer error | 4000 | 400 | Request Validation Error |
Generic Payer rejection | 4100 | 403 | Forbidden Error |
Payer limit error | 4200 | 400 | Request Validation Error |
Payer permission error | 4300 | 403 | Forbidden Error |
Generic Payer blocked error | 4400 | 403 | Forbidden Error |
Generic Payee error | 5000 | 503 | Processing Error |
Payee FSP insufficient liquidity | 5001 | 503 | Processing Error |
Generic Payee rejection | 5100 | 403 | Forbidden Error |
Payee rejected quote | 5101 | 503 | Processing Error |
Payee FSP unsupported transaction type | 5102 | 503 | Processing Error |
Payee rejected quote | 5103 | 503 | Processing Error |
Payee unsupported currency | 5106 | 503 | Processing Error |
Payee limit error | 5200 | 503 | Processing Error |
Payee permission error | 5300 | 403 | Forbidden Error |
Generic Payee blocked error | 5400 | 403 | Forbidden Error |
# Transfer Phase
All the errors encountered during this phase will be accumulated in the mojaloop-connector and will be added to the lastError
object and returned to the Payer FSP along with all other successful or failed transfers involved in the bulk transfer request.
mojaloop-connector will act as a pass-through for all the errors returned by the switch
"lastError": {
"httpStatusCode": 404,
"mojaloopError": {
"errorInformation": {
"errorCode": "3210",
"errorDescription": "Bulk transfer ID not found",
"extensionList": {"extension": [{"key": "string","value": "string"}]}
}
}
}
Transfer Error Codes
Error Description | Error Code | HTTP Code | Category |
---|---|---|---|
Communication error | 1000 | 503 | Technical Error |
Destination communication error | 1001 | 503 | Technical Error |
Generic server error | 2000 | 503 | Processing Error |
Internal server error | 2001 | 503 | Processing Error |
Server timed out | 2004 | 503 | Processing Error |
Generic validation error | 3100 | 400 | Request Validation Error |
Bulk transfer ID not found | 3210 | 404 | Processing Error |
Generic expired error | 3300 | 503 | Processing Error |
Transaction request expired | 3301 | 503 | Processing Error |
Transfer expired | 3303 | 503 | Processing Error |
Generic Payee error | 5000 | 400 | Processing Error |
Payee FSP insufficient liquidity | 5001 | 400 | Processing Error |
Generic Payee rejection | 5100 | 400 | Processing Error |
Payee rejected quote | 5101 | 400 | Processing Error |
Payee FSP unsupported transaction type | 5102 | 400 | Processing Error |
Payee FSP rejected quote | 5103 | 400 | Processing Error |
Payee rejected transaction | 5104 | 400 | Processing Error |
Payee FSP rejected transaction | 5105 | 400 | Processing Error |
Payee unsupported currency | 5106 | 400 | Processing Error |
Payee limit error | 5200 | 400 | Processing Error |
Payee permission error | 5300 | 403 | Processing Error |
Generic Payee blocked error | 5400 | 400 | Processing Error |