The Working Capital Solutions API allows for the automated upload of your data for your working capital facility with Rabobank.
Using the API
After your account set up is complete, subscribe the Working Capital Solutions API to your application.
There are two requests that are defined below: POST - for transferring data GET - for retrieving the receipt data and the acknowledgement data.
The full process begins by transferring the data in the form of CSV using the POST and calling afterwards the GET endpoint two times: once for retrieving the Receipt file (payrcpt) and once for retrieving the Acknowledgement file (payack).
Requests
The POST data requests and GET acknowledgements requests must contain the client ID. This value is generated once an application is registered.
The POST request requires a file that contains the data.
POST https://api-sandbox.rabobank.nl/openapi/sandbox/working-capital/data-transfers
You can retrieve the status of file using a GET data-transfers/acknowledgements/:name request using the name of the file in the URL:
GET https://api-sandbox.rabobank.nl/openapi/sandbox/working-capital/data-transfers/acknowledgements/UVWX580341
- The file name is mandatory to have the following structure: [yyyymmddhhmmssmmm]_[ORIGINAL_FILE_NAME].pay.csv ORIGINAL_FILE_NAME = CLIENT_IDENTIFIER+SIX_FIGURES_UNIQUE_CODE Example: 20220209144000112_UVWX580341.pay.csv
- Please contact your Rabobank representative for information about the file template!
Response
POST data for Working Capital data transfer.
You can send the necessary data for the transfer to Working Capital. After the data is received the name of the file are sent as confirmation. This name are used as input for retrieving the two acknowledgement files (received and processed).
Response for file name like: 20220209144000112_UVWX580241.pay.csv
{
"response": "UVWX580341"
}
Below you can find all supported test scenarios. In order to test these scenarios, call the API by using the examples for the fields provided in the endpoint description for POST/data-transfers.
| Request Scenario | Response | Remark |
|---|---|---|
| Valid Request with valid file | 200 CREATED | multipart/form-data with variable_name = file |
| Send Request with required header missing | 400 BAD REQUEST | Make a request without a header such as X-Request-ID |
| Large file | 400 BAD REQUEST | Make a request with the file larger than 10MB |
| Send a request with a file that was already sent | 400 BAD REQUEST | Use a file that was already sent |
| File extension not accepted | 400 BAD REQUEST | Use an extension that is not CSV |
| Send Request with no clientID header | 401 Unauthorised | Make a request without the X-IBM-Client-Id header |
| Send Request with no clientID header value | 401 Unauthorised | Make a request without the X-IBM-Client-Id header value |
| Use PUT instead of POST method | 405 Method Not Allowed | Use an incorrect HTTP method when making the request |
| Use a different path | 404 Resource not found | Use a different endpoint |
| Send a request to a non-exisiting API version | 406 Resource not found | Set Accept header value to application/octet-stream;version=10.0.0 |
GET the acknowledgement data
You can retrieve the acknowledgement file once it was received by Rabobank (payrcpt) and the second one once it was processed (payack). Using the file name that was received after the POST, you can use it to verify if the file was received by the system and the one that contains the processed data.
- First call to GET returns the filename with the following format: [yyyymmddhhmmssmmm]_[ORIGINAL_FILE_NAME].pay.csv.payrcpt.csv.done, example: 20220209144000112_UVWX580241.pay.csv.payrcpt.csv.done
- The second call to GET returns the filename with the following format: [yyyymmddhhmmssmmm]_[ORIGINAL_FILE_NAME].pay.csv.payack.csv.done, example: 20220209144000112_UVWX580241.pay.csv.payack.csv.done
Below you can find all supported test scenarios. In order to test these scenarios, call the API by using the examples for the fields provided in the endpoint description for GET/data-transfers/acknowledgements/{name}.
| Request Scenario | Input | Response | Remark |
|---|---|---|---|
| Get Acknowledgement file 1 | UVWX580341 | 200 OK | The first acknowledgement file is returned (payrcpt). |
| Get Acknowledgement file 2 | UVWX580341 | 200 OK | The second acknowledgement file is returned (payack). |
| Send Request with no clientID header | |||
| 401 Unauthorised | Make a request without the X-IBM-Client-Id header | ||
| Send Request with no clientID header value | |||
| 401 Unauthorised | Make a request without the X-IBM-Client-Id header value | ||
| File not found | UVWX999999 | 404 Not found | The file id you specified is not correct. Please use a different file identifier! |
| Media type not acceptable | Accept:application/json | 406 Not Acceptable | Please check the media content type! |
| Request a third acknowledgement file | UVWX580341 | 400 Bad request | Only two acknowledgement files can be requested |
Note: These codes are for Sandbox only.
