Using the following API, any application that consumes it will be able to manage Users, Virtual Wallets, External Transfers, QR Payments in Stores and even Debit and Credit Cards.
This section offers hands-on information to implementers, functional analysts, product analysts and anyone involved with the integration of the WaaSabi platform.
The implementer team has a collection of WaaSabi API objects at their disposal with the following modules:
Special terms can be consulted in the Glossary.
The WaaSabi API is only allowed to be reached by authorized consumers using network address filtering. As a secure REST API, it is processed through HTTPs requests.
Note: Network address filtering for the sandbox is disabled, so it can be reached from any origin.
WaaSabi API is protected by an OAuth 2.0 authorization scheme, through which an access_token
is acquired. These tokens are then included in the HTTP headers of requests to WaaSabi using the Authorization: Bearer (IETF RFC) scheme. OAuth access tokens expire, so it is necessary to renew them periodically.
The API consumer is to obtain OAuth tokens by calling a specific endpoint of the identity platform. This is done by using a Client ID and Client Secret that is provided at the time of integration. As an example, for Sandbox you must use the following request:
curl --request POST 'https://auth-sbx.daxiaplatform.com/oauth2/token' \
--header 'Authorization: Basic NTA3MnUyMDZmMmdjOGh2ZWVudmczaGw1OHY6dDNycXRiZjBoZ2E5YWd0bzI4cWM4aHNmaDQyY2dnMDIxNnV1NDRyaG8wdDZwY2g0bzRh' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=5072u206f2gc8hveenvg3hl58v' \
--data-urlencode 'scope=waasabi/api'
Response Example:
{
"access_token": "eyJraWQiOiJaSEF5VFwvNlwvMWlxd3hYYTRKWWRReUNkeHJ5cStzZGtHSHJqT1VCNCtvcW89IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI1MDcydTIwNmYyZ2M4aHZlZW52ZzNobDU4diIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoid2Fhc2FiaS1zYW5kYm94XC9lbWFpbCIsImF1dGhfdGltZSI6MTY3OTA3MTA2NCwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmV1LXdlc3QtMy5hbWF6b25hd3MuY29tXC9ldS13ZXN0LTNfbGpZcWcxdU84IiwiZXhwIjoxNjc5MDc0NjY0LCJpYXQiOjE2NzkwNzEwNjQsInZlcnNpb24iOjIsImp0aSI6IjE3ZmY0ZGEyLWI2MjEtNDc3OC05ZjkzLWZiNWE5Nzg5ODE1NCIsImNsaWVudF9pZCI6IjUwNzJ1MjA2ZjJnYzhodmVlbnZnM2hsNTh2In0.Kh95fNC7yiCZBDyIvnkrnZK88mB2BTalP94F4J80nUPZFHwhWBGEtKaBxPaTkxVBovA6jk0QPFp84mPCsNgRF9q4xDygo6GDFIxXIkrlu0Epk-PVpAhE35hV31nYNyEf-FMen7UA5kXYdijeZBxe5S2gF2xjF9ezAb7EER2aGZaMKMsDxF51tjXOKWMqAoCnqTDUNfjLQVn6A8lWvOa5255lfhLPt9q_hQtJum_vxhvr3ydP-p7RRD4oewGvaSN5HwS7A-9SUgqTYXBuugDJQkHzI6v0bV9_5kHUfu-PcBiDNVdzhFaDV9Q8TIGwIFbrF-G8dB8PdkdTbP2moBjyUg",
"expires_in": 3600,
"token_type": "Bearer"
}
You need to use the access_token
returned in the header of every request you send to WaaSabi API. This token expires in one hour, so it is necessary to renew it periodically.
WaaSabi uses conventional HTTP status codes to indicate the success or failure of an API request. However, in the event of a business rule failure, WaaSabi will respond with the HTTP OK code (200) and detail the failure in the response body. Therefore, responses returned by WaaSabi can be dividen in 3 scenarios:
An HTTP OK code (200) is returned as usual, with a JSON response body. The response consists of an "error"
field with the false
value and an optional "response"
field with the resulting object, if any.
Example:
{
"error": false,
"response": { … }
}
In this case, an HTTP OK code (200) is also returned, but the response consists of an "error"
field with value true
and an "error_information"
field with a detailing object.
Available "code"
values are described in WaaSabi Error Codes.
Example:
{
"error": false,
"error_information": {
"code": "EXC_01",
"message": "Error executing operation",
"error_detail": "TBD"
}
}
The response body will come with a JSON object detailing the situation and one of the following HTTP error codes will be returned:
Code | Case |
---|---|
400 | Bad Request: WaaSabi cannot process the request due to a client error (for example, malformed request syntax, invalid request message framing, etc) |
401 | Unauthorized: the client request has not been completed because it lacks valid authentication credentials for the requested resource. |
409 | Conflict: The Idempotency check failed due to multiple simultaneous requests with the same "idempotency-key" |
500 | Internal Server Error: WaaSabi encountered an unexpected condition that prevented it from fulfilling the request |
502 | Bad Gateway: An error occurred while invoking an external provider |
503 | Service Unavailable: An error occurred on WaaSabi internal services |
Example:
{
"timestamp": "2022-11-30T14:27:13.762+00:00",
"status": 502,
"error": "Fraud provider response is empty (wrong API-KEY?)",
"message": "",
"path": "/v1/user/123"
}
WaaSabi provides a Sandbox environment for developers to mimic the characteristics of the platform and create simulated responses from all APIs. The Sandbox is publicly reachable so that developers can freely perform their tests regardless of location.
All curl request examples in this document point to the Sandbox environment.
Important: Databases in this environment are reset every day.
WaaSabi allows any client to implement a data delegation scheme for their users, partially or totally. There are minimum implementation conditions that enable access to the different services of the platform, which will be explained below.
Use the Create User endpoint to register them on the platform. According to the consumer configuration, the corresponding wallets will be created and linked to the user.
Once created, the user will be able to perform operations such as Cash-In Transactions, Transfers to External Bank Accounts, Obtaining Wallet Transactions, etc.
The only mandatory value is the username
, which must be unique. The response will return an ID which will be used for all subsequent operations related to the user (being Get User by username one of a few exceptions).
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "johndoe",
"name": "John",
"surname": "Doe",
"email": "john.doe@acme.com",
"phone_number": "5493513453335",
"birth_date": "1980-03-23"
}'
Response:
{
"error": false,
"response": {
"id": 81,
"company_id": 1234,
"default_wallet_id": 66,
"username": "johndoe",
"name": "John",
"surname": "Doe",
"email": "john.doe@acme.com",
"phone_number": "5493513453335",
"birth_date": "1980-03-23",
"has_pin": false,
"deleted": false,
"blocked": false,
"full_name": "John Doe"
}
}
You can update the user’s personal information (first name, last name, etc.) through the Update User endpoint.
Blocking a user will prevent them from performing operations. To block a user, one of the available reasons must be provided. When the Block User action is invoked, the reason specified is added to the list of reasons that block the user, and the platform will not allow them to perform operations until all those reasons are removed by calling Unblock User.
The invocation of these actions will not affect the user's record, movements and other transactions previously performed.
Based on business rules and security compliance rules, it will be necessary to validate the user's identity using credentials of varying strength, such as passwords or liveness confirmation. The Authentication Module provides endpoints for the management of user passwords and liveness detection, among other specific functionalities.
WaaSabi allows the implementer to apply execution rules to verify if the users meets the conditions for a certain operation. See Validate the user's requirements to execute an operation for the functionality to verify if a user is blocked, if he has permission to execute an operation and anti-fraud rules, among other things.
Also see Verify if the Password is recent to validate the user's credential expiration.
If it was required for example to add the password 123 to the user with ID 3, the endpoint Create Password should be used:
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/3/auth/password' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"password": "123"
}'
Response:
{
"error": false
}
The Wallets Management module in WaaSabi allows clients to manage wallets associated with users. Users can perform various operations related to their wallets, such as cash-in transactions, transfers to external bank accounts, and obtaining wallet transactions. Here's how the module works:
To create a wallet for a user, you need to use the Create Wallet endpoint. This will create a new wallet and associate it with the user. The endpoint requires a request body with the necessary details, such as the user ID and other optional information.
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"userId": 81,
"currency": "USD"
}'
Response:
{
"error": false,
"response": {
"id": 123,
"userId": 81,
"currency": "USD",
"balance": 0.0
}
}
To retrieve the details of a specific wallet, you can use the Get Wallet Information endpoint. It requires the walletId
as a path parameter and returns the wallet details in the response.
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet/123' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": {
"id": 123,
"userId": 81,
"currency": "USD",
"balance": 0.0
}
}
If you need to update the information of a specific wallet, you can use the Update Wallet endpoint. It requires the walletId
as a path parameter and a request body with the updated wallet information.
curl --request PUT 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet/123' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"currency": "EUR"
}'
Response:
{
"error": false,
"response": {
"id": 123,
"userId": 81,
"currency": "EUR",
"balance": 0.0
}
}
To delete a specific wallet, you can use the Delete Wallet endpoint. It requires the walletId
as a path parameter. Deleting a wallet will permanently remove it from the system.
curl --request DELETE 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet/123' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": null
}
If you want to search for wallets based on specific codes and values, you can use the Search Wallets endpoint. It requires the codes
and values
as query parameters to filter the wallets. The response will include a list of matching wallets.
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet?codes=code1,code2&values=value1,value2' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": [
{
"id": 123,
"userId": 81,
"currency": "USD",
"balance": 100.0
},
{
"id": 456,
"userId": 82,
"currency": "EUR",
"balance": 50.0
}
]
}
The codes
and values
parameters allow you to search for wallets that match specific criteria. Multiple codes and values can be provided, separated by commas.
The User-Wallet Management module in WaaSabi allows clients to manage the association between users and wallets. This module provides endpoints to assign wallets to users, retrieve wallets associated with users, and manage the relationship between users and wallets. Here's how the module works:
To assign an existing wallet to a user, you can use the Add Wallet to User endpoint. This endpoint requires the userId
as a path parameter and a request body with the wallet details.
curl --request PUT 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallet' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"walletId": 123
}'
Response:
{
"error": false,
"response": {
"id": 123,
"userId": {userId},
"currency": "USD",
"balance": 0.0
}
}
If you want to create a new wallet and assign it to a user, you can use the Create Wallet for User endpoint. This endpoint requires the userId
as a path parameter and a request body with the wallet details.
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallet' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"currency": "USD"
}'
Response:
{
"error": false,
"response": {
"id": 123,
"userId": {userId},
"currency": "USD",
"balance": 0.0
}
}
To retrieve the details of a specific wallet associated with a user, you can use the Get Wallet Information by User endpoint. This endpoint requires the userId
and walletId
as path parameters.
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallet/{walletId}' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": {
"id": {walletId},
"userId": {userId},
"currency": "USD",
"balance": 0.0
}
}
If you need to update the information of a specific wallet associated with a user, you can use the Update Wallet by User endpoint. This endpoint requires the userId
and walletId
as path parameters, and a request body with the updated wallet information.
curl --request PUT 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallet/{walletId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"currency": "EUR"
}'
Response:
{
"error": false,
"response": {
"id": {walletId},
"userId": {userId},
"currency": "EUR",
"balance": 0.0
}
}
To disassociate a specific wallet from a user, you can use the Disassociates Wallet from User endpoint. This endpoint requires the userId
and walletId
as path parameters.
curl --request DELETE 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallet/{walletId}' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": null
}
To retrieve a list of all users associated with a specific wallet, you can use the Get Users by Wallet endpoint. This endpoint requires the walletId
as a path parameter.
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/wallet/{walletId}/users' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": [
{
"id": {userId},
"username": "johndoe",
"name": "John",
"surname": "Doe",
"email": "john.doe@acme.com",
"phone_number": "5493513453335",
"birth_date": "1980-03-23"
},
{
"id": {userId},
"username": "janedoe",
"name": "Jane",
"surname": "Doe",
"email": "jane.doe@acme.com",
"phone_number": "5493513453336",
"birth_date": "1982-06-12"
}
]
}
To retrieve a list of all wallets associated with a specific user, you can use the Get Wallets by User endpoint. This endpoint requires the userId
as a path parameter.
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/{userId}/wallets' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": [
{
"id": 123,
"userId": {userId},
"currency": "USD",
"balance": 0.0
},
{
"id": 456,
"userId": {userId},
"currency": "EUR",
"balance": 0.0
}
]
}
It contains a set of endpoints that allows users to operate the balances of their respective digital wallets. Among other things, they can deposit, send and request money, check their balance and check the transaction history of either their wallet or bank cards.
The operations that the implementer will allow their users to have depends on the business model they pursue. We present here two models which are commonly used.
The "P2P" business model is about allowing users to transact with each other. The implementer can a set up endpoints that run sequentially to allow users to send and request money to and from other users.
To send money, first execute the endpoint to Reserve funds for sending a money transfer, followed by Credit funds from a money Transfer to complete the transaction. To request money, Money Transfer Request is to be executed, followed by Credit funds to the recipient of a Money Transfer Request.
Aggregators offer a collection of services to an existing user base of customers or merchants. Transactions take place in a centralized way, between the aggregator and its users. Of course, P2P and aggregator models can be combined.
If the implementer has an "Aggregator" business model, they can implement a set of endpoints that allows making cash-ins through a Transaction of cash inflow, sending money from one merchant to the company with Send money to the company or send money between WaaSabi wallets through Instant P2P money transfer (this endpoint can of course also be used in the "Peer to Peer" Model).
To obtain the balance of the wallet of a user with ID 3 and the wallet with ID 4, the endpoint Retrieve User Wallet Information should be used:
curl --request GET 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/3/wallet/4' \
--header 'Authorization: Bearer <access_token>'
Response:
{
"error": false,
"response": {
"id": 4,
"status": "ACTIVE",
"company_id": 1234,
"currency": "USD",
"balance": 10.00,
"available_balance": 10.00,
"additional_info": {
"customer_id": "3"
}
}
}
It allows users to manage their means of payment with which they operate and to securely store their bank card information. WaaSabi is a PCI DSS compliant platform, a certification required by credit card issuers to ensure the security of transactions in the payment industry.
It is also possible to obtain the data of a particular card, as well as all the cards that a user has stored.
In the event that the user no longer wishes to store a card's data, the delete card endpoint can be used.
To for example add a card to a user with ID 3 for subsequent operations, the endpoint Add a Card should be used:
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/3/card' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"card_holder_name": "ERIK PETERSON",
"alias": "Alias",
"issuer_code": "800",
"issuer_name": "AMEX",
"token": "49422442Aj8A4791",
"first_six_digits": "494229",
"last_four_digits": "4478",
"expiration_month": 3,
"expiration_year": "24",
"payment_method_code": "AMEX",
"payment_method_name": "AMEX",
"payment_method_type": "CREDITO",
"brand": "AMEX",
"hmac_token": "DM5CI1S0ZNwQiCdGXME2YAcEYibaYb+X6j4w46uSNHE="
}'
Response:
{
"error": false,
"response": {
"id": "1",
"customer_id": "3",
"card_holder_name": "ERIK PETERSON",
"alias": "Alias",
"issuer_code": "800",
"issuer_name": "AMEX",
"token": "49422442Aj8A4791",
"first_six_digits": "494229",
"last_four_digits": "4478",
"expiration_month": 3,
"expiration_year": 24,
"payment_method_code": "VISA",
"payment_method_name": "VISA",
"payment_method_type": "CREDIT",
"brand": "VISA",
"hmac_token": "DM5CI1S0ZNwQiCdGXME2YAcEYibaYb+X6j4w46uSNHE="
}
}
Tokenization is a technique used to replace sensitive information throughout a system with surrogate strings called tokens. Sensitive information is stored in a vault and a corresponding token is returned through a service called a tokenizer. Tokens can then be used as an in-place replacement of the original sensitive information, and as a key for retrieving the information later on. Access to sensitive information is only granted during critical operations that require such information, and can only be retrieved from the vault by authorized consumers.
Using tokenization, sensitive information of bank cards is kept in a separated and secured system, so WaaSabi can use this information to make payments without having to store the card's sensitive data.
As a WaaSabi implementer, your first requirement is not to send any card's sensitive information to the backend, so the tokenization must be performed from the frontend. Before displaying the frontend, your application backend must obtain a "One Time Authorization" token (OTA) from WaaSabi. With this OTA, the application frontend will be able to tokenize the card data, send it to the backend, which then saves it on WaaSabi.
First, the OTA is requested from the backend to WaaSabi. The resulting string is then sent to the frontend so it can use it one time to generate the token in direct communication with the tokenizer. The expiration time forces the tokenization request to be submit within the number of seconds provided, after the OTA's creation.
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/one-time-authorization' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"expire_time_seconds": 3600
}'
Response:
{
"error": false,
"response": "00tFhFsgJofEwaOXFm0yUQ=="
}
With the OTA obtained in the previous step your frontend is able to call the tokenizer to save the card information and receive the corresponding token to send to WaaSabi.
This request is sent from the backend directly to the tokenizer:
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/tokenizer/api/v1/tokenize' \
--header 'Content-Type: application/json' \
--data-raw '{
"data": {
"cardNumber": "4545123456123456",
"cardHolderName": "Philippe Bouchpies",
"cardExpirationMonth": "12",
"cardExpirationYear": "26"
},
"expireTimeSeconds": "45687898789",
"oneTimeAuthorization": "00tFhFsgJofEwaOXFm0yUQ=="
}'
Response:
{
"token": "tk185#xpCuqlyzkR896akKIodJ/jqMrlqjSpAEt6LiVtA7iGyZoHM9xtfK/PqfargUmfvf",
"signature": "fvfmUgrafqP/Kftx9MHoZyGi7AtViL6tEApSjqlrMqj/JdoIKka698RkzylquCpx#581kt"
}
This token is used for some operations such as Add Card. This token will be saved to carry out card operations such as making payments. The signature is used to verify through a provided public key that the token was generated by the tokenizer itself, to avoid man-in-the-middle attacks.
Finally, add the card using the token:
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/1/card' \
--header 'Content-Type: application/json' \
--data-raw '{
"alias": "AMEX Corporate",
"token": "tk185#xpCuqlyzkR896akKIodJ/jqMrlqjSpAEt6LiVtA7iGyZoHM9xtfK/PqfargUmfvf",
"last_four_digits": 7124
}'
Note that most of the card information was not included, because it was stored in the tokenizer's vault.
Contains the endpoints that allow users to make transfers to bank and/or virtual accounts. The transfer destination options depend on the systemic conditions of the different countries where the implementation takes place.
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/user/3/wallet/4/cash_out' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 2,
"metadata": {},
"receiver": {
"name": "Jane",
"last_name": "Doe",
"birth_date": "1991-08-15",
"government_identification": "7329034129",
"government_identification_type": "DNI",
"bank_name": "SANTANDER RIO",
"bank_account": "00496561886143650075",
"account_type": "Corriente",
"bank_province": "Buenos Aires",
"bank_city": "Mar del Plata",
"address": "2000 Arenales",
"city": "Lanús",
"postal_code": "1822",
"email": "janedoe@gmailcom",
"phone": "+541176334600",
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
}'
Response:
{
"error": false,
"response": {
"transactions": [
{
"id": 2,
"wallet_id": 4,
"company_id": 1234,
"transaction_status": "CONFIRMED",
"amount": -2,
"balance": 8.00,
"available_balance": 8.00,
"removed": false,
"transaction_date": 1669941943971,
"additional_info": {
"provider": "SEPA",
"name": "string",
"customer_id": "3",
"transaction_type": "CASH_OUT",
"operation": "CASHOUT",
"destination_account": "string",
"lastname": "string"
},
"currency": "USD"
}
]
}
}
WaaSabi can optionally perform idempotency checks when receiving the Idempotency-Key header (IETF Draft). These checks have the purpose of avoiding duplicate or conflicting data from entering the database when communication errors occur and requests are sent several times. The idempotency key is an opaque value that can be chosen by the API consumer as long as it doesn't change between two or more request instances that belong to the same operation (several instances may be invoked due to for example a network timeout, page reloads or interrupted connections).
To perform idempotency checks, WaaSabi checks if the provided key has been previously used within the last 5 minutes. If the key has been used within this time frame, WaaSabi will reply with HTTP Status 409 (Conflict). Otherwise the request will be allowed and thus processed. Idempotency checks can be used for any WaaSabi call.
Example:
curl --request POST 'https://api-sandbox.daxiaplatform.com/sandbox/api/v1/customer' \
--header 'Authorization: Bearer <access_token>' \
--header 'Idempotency-Key: 324578093452' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "johndoe",
"name": "John",
"surname": "Doe",
"email": "john.doe@acme.com",
"cellPhone": "5493513453335",
"birth_date": "1980-03-23",
"currency": "ARS"
}'
WaaSabi will notify your backend about different events using a callback mechanism. This section explains how to implement these callbacks for efficient interaction with WaaSabi.
You must implement a primary entry point for receiving notifications from WaaSabi. Following an example in JAVA
@RestController
@CrossOrigin
@RequestMapping(value = "/notifications")
public class CallbackController {
// Implementation here
}
Here's a sample data model sent by WaaSabi when an invoice is paid.
{
"customer_id": 1234,
"company_id": 5678,
"notification_type": "INVOICE_PAID",
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
Check the Notification Types table to get the possible values of the notification_type
field.
To avoid making frequent API calls to WaaSabi for each user interaction, it is highly recommended to cache user details on your backend. This makes operations more efficient.
WaaSabi will send notifications of type BLOCK
or UNBLOCK
to indicate the change in a user's status.
When you receive a BLOCK
notification, you should immediately remove the user from your cache. The next time this user tries to interact with your service, you will need to fetch the updated user details from WaaSabi. Because the user is blocked, prevent them from performing any actions.
When you receive a UNBLOCK
notification, you can either:
API Consumer : Any part of the solution that sends requests to WaaSabi and is authorized to do so.
Bank Card : A Debit or Credit Card issued by a bank or a credit union. Other types of cards may be accepted by WaaSabi, such as Chard Cards and Prepaid Cards, but it depends that they are operable by the banking provider.
Bill : See Transfer Ticket.
BIN : Bank Identification Number. The first six digits of a Bank Card number, which uniquely identify the institution that issued the card. The first digit is the major industry identifier, and the remaining digits communicate the financial institution that issued the card.
Card : A Bank Card.
Cutomer : Deprecated term for User.
CVV, CSC or CVC : Card Verification Value, Card Security Code or Card Verification Code. It's a three (Visa/MC) of four (AMEX) digit number printed in the back of the card for additional security for online transactions where the card holder is not physicaly present with the merchant.
ID or Identifier : An ID for an entity is a 64-bit integer number that uniquely represents that entity among entities of the same type. When an entity is created, a new ID for its record is created and returned from the call, and that number can be used to unambiguously refer to that entity in the future. An exception is the "Government ID", which refers to a physical document issued to citizens or residents of a country to identify them.
Idempotence : Idempotence is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application. It does not matter if the operation is called only once, or 10s of times over. The result SHOULD be the same.
Implementer : The business who is integrating WaaSabi with their systems to provide financial services to their users.
Merchant : A business that uses the implemented system to expand the offering to their own customers.
P2P : Peer-to-peer. Business model whose essence is the interaction between users.
PCI DSS : It's the Payment Card Industry Data Security Standard. For more information, visit the official website.
Security Code : See CVV
Ticket Token : Also known as Ticket ID. Used as a reference for a Transfer Ticket.
Transfer Ticket : Transfer tickets are created as a point of contact with which a User specifies a future transaction to either send funds (Outgoing transfer, pay), or receive funds (Incoming transfer, charge or request money). The ticket stores the information required to perform the transaction and is referenced using a Ticket Token. When the ticket is executed, the transfer is executed according to the information provided in the ticket and parameters sent then.
User : A customer, if used with no other qualifier. Users who register their own banking accounts and perform transfers, payments, deposits and so on.
Allows you to create a new user on the WaaSabi platform
username required | string [ 1 .. 100 ] characters The username or identifier of the customer. It provides a unique name or label to identify the customer. |
name | string [ 0 .. 40 ] characters The name of the customer. It represents the first name or given name of the individual. |
surname | string [ 0 .. 40 ] characters The surname or last name of the customer. It represents the family name or surname of the individual. |
string [ 0 .. 65 ] characters The email address of the customer. It provides a means of communication and contact for the customer. | |
phone_number | string [ 0 .. 15 ] characters The phone number of the customer. It represents the contact number associated with the customer. |
gender | string Enum: "M" "F" "O" The gender of the customer. It indicates the individual's gender identity or classification. |
government_identification2 | string [ 0 .. 50 ] characters The second government identification of the customer. It represents an additional form of government identification, such as a driver's license or passport, associated with the customer. |
government_identification_type2 | string [ 0 .. 50 ] characters The type or category of the second government identification. It specifies the nature or classification of the additional identification document. |
government_identification | string [ 0 .. 50 ] characters The primary government identification of the customer. It represents the main identification document, such as a national ID card or social security number. |
government_identification_type | string [ 0 .. 50 ] characters The type or category of the primary government identification. It specifies the nature or classification of the primary identification document. |
birth_date | string <date> The date of birth of the customer. It indicates the customer's birthdate, providing age-related information. |
nationality | string Enum: "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "CPV" "KHM" "CMR" "CAN" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SRB" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" The nationality of the customer. It represents the country or nation to which the customer belongs. |
time_zone | string [ 0 .. 20 ] characters The time zone of the customer. It represents the geographic region or time zone in which the customer resides or operates. |
language | string [ 0 .. 5 ] characters The preferred language of the customer. It specifies the language in which the customer prefers to receive communications or interact with the system. |
region | string [ 0 .. 30 ] characters The region or area associated with the customer. It represents the geographic region or location of the customer. |
object Additional information related to the customer. It allows recording any supplementary details or comments about the customer. | |
public_id | string [ 1 .. 100 ] characters ${customer.publicId} |
object (CustomerAddressDTO) The address associated with the customer's bank account. It provides the location or mailing address of the bank. | |
object (UserRoleDTO) User Role info to add or update |
{- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "public_id": "es",
- "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
Allows to remove a blocking reason from the user. User is unblocked when all the reasons have been removed by calling this endpoint
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
This method is responsible for getting a user notification url webhook-url
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
},
}
This method is responsible for add a new user notification webhook-url
userId required | integer <int64> User ID |
event required | string ${user.webhook.url.property.event} |
value required | string ${user.webhook.url.property.value} |
type required | string ${user.webhook.url.property.type} |
{- "event": "P2P",
- "type": "WEB_HOOK"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows blocking a user by specifying a reason, which is added to the list of reasons that block the user. Check available reasons in block details table
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
Add or modify (if it already exists) a user security factor, such as pin or password
userId required | integer <int64> User ID |
type required | integer <int32> ${user.security.factor.type} |
value required | string ${user.security.factor.value} |
{- "type": 1,
- "value": "$2a$12$Mnpoa1H"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Verify (if it already exists) a user security factor, such as pin or password
userId required | integer <int64> User ID |
type required | integer <int32> ${user.security.factor.type} |
value required | string ${user.security.factor.value} |
{- "type": 1,
- "value": "$2a$12$Mnpoa1H"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows the user's information to be checked through their id.
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
To remove a user from the WaaSabi platform through their id.
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows editing of the user's data through their id.
userId required | integer <int64> User ID |
username | string [ 1 .. 100 ] characters The username or identifier of the customer. It provides a unique name or label to identify the customer. |
name | string [ 0 .. 40 ] characters The name of the customer. It represents the first name or given name of the individual. |
surname | string [ 0 .. 40 ] characters The surname or last name of the customer. It represents the family name or surname of the individual. |
string [ 0 .. 65 ] characters The email address of the customer. It provides a means of communication and contact for the customer. | |
phone_number | string [ 0 .. 15 ] characters The phone number of the customer. It represents the contact number associated with the customer. |
gender | string Enum: "M" "F" "O" The gender of the customer. It indicates the individual's gender identity or classification. |
government_identification2 | string [ 0 .. 50 ] characters The second government identification of the customer. It represents an additional form of government identification, such as a driver's license or passport, associated with the customer. |
government_identification_type2 | string [ 0 .. 50 ] characters The type or category of the second government identification. It specifies the nature or classification of the additional identification document. |
government_identification | string [ 0 .. 50 ] characters The primary government identification of the customer. It represents the main identification document, such as a national ID card or social security number. |
government_identification_type | string [ 0 .. 50 ] characters The type or category of the primary government identification. It specifies the nature or classification of the primary identification document. |
birth_date | string <date> The date of birth of the customer. It indicates the customer's birthdate, providing age-related information. |
nationality | string Enum: "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "CPV" "KHM" "CMR" "CAN" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SRB" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" The nationality of the customer. It represents the country or nation to which the customer belongs. |
time_zone | string [ 0 .. 20 ] characters The time zone of the customer. It represents the geographic region or time zone in which the customer resides or operates. |
language | string [ 0 .. 5 ] characters The preferred language of the customer. It specifies the language in which the customer prefers to receive communications or interact with the system. |
region | string [ 0 .. 30 ] characters The region or area associated with the customer. It represents the geographic region or location of the customer. |
object Additional information related to the customer. It allows recording any supplementary details or comments about the customer. | |
public_id | string [ 1 .. 100 ] characters ${customer.publicId} |
object (CustomerAddressDTO) The address associated with the customer's bank account. It provides the location or mailing address of the bank. |
{- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "public_id": "es",
- "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows the no deleted secondaries user information to be checked through the id main user.
userId required | integer <int64> |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
]
}
Return a link to allow liveness user verification
userId required | integer <int64> Username |
callbackUrl required | string |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": "string"
}
userId required | integer <int64> Username |
callbackUrl required | string |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": "string"
}
Get user balances, according the actual company
userId required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Allows the user's information to be consulted through their username.
username required | string Username |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
To obtain a record of the transactions made with a user's wallet, in a certain period of time.
removed | string |
public_id | string |
last_id_transaction | integer <int64> Default: 0 |
length | integer <int32> Default: 10 |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
Find users by a given search parameter, like email
required | object (MultiValueMapStringString) User parameters to search |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "defaultWalletId": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com"
}
}
Allows the users information to be checked through their public id.
publicId required | string Public ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
]
}
Find users by a given search parameter, like email
required | object (MultiValueMapStringString) User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
}
Allows the no deleted user information to be checked through their id.
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
]
}
This method is responsible for deleting a user notification url webhook-url
userId required | integer <int64> User ID |
code required | string Code Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows the update of the user password. The old password and the new password must be entered.
userId required | integer <int64> User ID |
old_password required | string The current password associated with the customer's account. It represents the existing password used for authentication and authorization purposes. |
password required | string The password associated with the customer's account. It provides secure access to the customer's account. |
{- "old_password": "7854",
- "password": "6857"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows you to create a user's password.
userId required | integer <int64> User ID |
password required | string The password associated with the customer's account. It provides secure access to the customer's account. |
{- "password": "7854"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Verifies the data required from the user in order to perform an operation.
userId required | integer <int64> User ID |
walletId required | integer <int64> |
operation required | string Check WaaSabi Operations available for validation for the operation to be validated. |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
object |
{- "operation": "CASH_IN",
- "amount": 100,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "status": "INCOMPLETE",
- "authentication_controls": [
- "PIN"
], - "limits": {
- "maximum_by_operation": {
- "amount": 0,
- "currency": "string"
}, - "minimum_by_operation": {
- "amount": 0,
- "currency": "string"
}, - "maximum_per_day": {
- "amount": 0,
- "currency": "string"
}, - "remaining_per_day": {
- "amount": 0,
- "currency": "string"
}
}, - "message": "string"
}
}
Verifies the data required from the user in order to perform an operation.
userId required | integer <int64> User ID |
operation required | string Check WaaSabi Operations available for validation for the operation to be validated. |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
object |
{- "operation": "CASH_IN",
- "amount": 100,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "status": "INCOMPLETE",
- "authentication_controls": [
- "PIN"
], - "limits": {
- "maximum_by_operation": {
- "amount": 0,
- "currency": "string"
}, - "minimum_by_operation": {
- "amount": 0,
- "currency": "string"
}, - "maximum_per_day": {
- "amount": 0,
- "currency": "string"
}, - "remaining_per_day": {
- "amount": 0,
- "currency": "string"
}
}, - "message": "string"
}
}
Validates if the user has recently verified the password
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": true
}
Allows to verify if the user's password is correct.
userId required | integer <int64> User ID |
password required | string The password associated with the customer's account. It provides secure access to the customer's account. |
{- "password": "7854"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows authentication through liveness detection by specifying a reference id (from the liveness provider) and the username.
userId required | integer <int64> User ID |
reference_id required | string The reference ID associated with the liveness process result. It provides a unique identifier for the liveness result. |
action | string ${livenessreq.action} |
object Additional information related to the liveness process result. It allows recording any supplementary details or comments. |
{- "reference_id": "25",
- "action": "onboarding/validate",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Returns the details of a specific Wallet
walletId required | integer <int64> Wallet Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Updates the information of a specific Wallet
walletId required | integer <int64> Wallet Identifier |
object | |
global_id | string |
alias | string |
name | string |
{- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "global_id": "string",
- "alias": "string",
- "name": "string"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Deletes a specific Wallet
walletId required | integer <int64> Wallet Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Retrieves all wallets that correspond to the received list of codes and values
codes required | Array of strings |
values required | Array of strings |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
]
}
id required | integer <int64> |
name required | string [ 1 .. 100 ] characters |
{- "id": 0,
- "name": "string"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Returns the details of a specific Wallet by globalId
globalId required | string |
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Retrieves wallet data by user id. Data returned by this endpoint: wallet id, wallet status, company to which the wallet belongs, currency, balance, available balance and additional information.
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Assign an existing Wallet to a User
userId required | integer <int64> User ID |
id required | integer <int64> |
name required | string [ 1 .. 100 ] characters |
{- "id": 0,
- "name": "string"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Create a new Wallet and assign it to a User
userId required | integer <int64> User ID |
currency required | string [ 3 .. 20 ] characters |
global_id | string |
object | |
name required | string [ 1 .. 100 ] characters |
alias | string The alias of the wallet. It is represented as a string and provides a descriptive alias for the wallet. |
{- "currency": "string",
- "global_id": "string",
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "name": "string",
- "alias": "MyPersonalWallet"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Returns the details of a specific Wallet associated to a User
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Updates the information of a specific Wallet associated to a User
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object | |
global_id | string |
alias | string |
name | string |
{- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "global_id": "string",
- "alias": "string",
- "name": "string"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 123456123,
- "status": "active",
- "company_id": 456,
- "global_id": "abc-123-def",
- "currency": "USD",
- "balance": 100,
- "available_balance": 90,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}, - "accumulators": [
- {
- "id": 0,
- "amount": 0,
- "operation_count": 0,
- "name": "string",
- "bucket": "string",
- "type": "string"
}
], - "name": "My Wallet",
- "alias": "string"
}
}
Disassociates a specific Wallet from a User
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Generate a new QR 3.0 with the information related to the pay
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
{- "amount": 100
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "text": "string"
}
}
Generate a payment using a QR 3.0
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
{- "amount": 100
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Returns a list of all Users of a specific Wallet
walletId required | integer <int64> Wallet Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 153,
- "company_id": 1,
- "default_wallet_id": 30,
- "username": "1123421312",
- "name": "JOHN",
- "surname": "DOE",
- "email": "johndoe@gmail.com",
- "phone_number": "56962390046",
- "gender": "M",
- "government_identification2": "27292030875",
- "government_identification_type2": "CUIL",
- "government_identification": "8319044123",
- "government_identification_type": "DNI",
- "birth_date": "1990-01-20",
- "nationality": "ARG",
- "has_pin": true,
- "time_zone": "UTC-05:00",
- "language": "es",
- "region": "Centro-Este",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "deleted": false,
- "blocked": false,
- "block_details": [
- "USER"
], - "address": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "status": "ACTIVE",
- "public_id": "string",
- "address_dto": {
- "city": "Santa Fe",
- "department": "701c",
- "floor": "5",
- "number": "751",
- "province": "Santa Fe",
- "street": "Bravo",
- "zip_code": "3000"
}, - "role": "ADMIN",
- "has_security_factor": [
- 0
], - "full_name": "JOHN DOE"
}
]
}
Retrieves all Wallets of a specific User
required | object (MultiValueMapStringString) User parameters to search |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Retrieves all Wallets of a specific User
userId required | integer <int64> User ID |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Retrieves all Wallets of a specific User
userId required | integer <int64> User ID |
currency required | string Convert currency |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Cancel a pending transaction from a money transfer
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
token required | string The token generated through a money transfer. It is used to identify and receive a specific ticket. |
{- "token": "OVwkDYVQ96EOOxgMih"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Cancel a pending transaction from a money transfer
walletId required | integer <int64> Wallet Identifier |
token required | string The token generated through a money transfer. It is used to identify and receive a specific ticket. |
{- "token": "OVwkDYVQ96EOOxgMih"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Allows payment using a card
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
transactionId required | integer <int64> Transaction Identifier |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
object |
{- "amount": 100,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
Allows fund holding to generate a money transfer. Obtains a token to be sent to another user in order to claim the funds.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
reference_id | string Reference ID to be stored in the transaction (it is not validated by WaaSabi). If present, it will be stored in additional information as "externalId" and informed in the confirmation notification TICKET_PAID |
object Additional information related to the ticket. It allows recording any supplementary details or comments about the ticket. |
{- "amount": 100,
- "reference_id": "1659721313587",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Allows generation of an internal money transfer
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
destination_user_id required | integer <int64> The ID of the target user associated with the instant transaction. It represents the user to whom the instant transaction is directed. |
destination_wallet_id required | integer <int64> The ID of the target wallet associated with the instant transaction. It represents the wallet to which the instant transaction is directed. |
object Additional information related to the ticket. It allows recording any supplementary details or comments about the ticket. |
{- "amount": 100,
- "destination_user_id": 12,
- "destination_wallet_id": 12,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
}
Allows to transfer money from the user's wallet to the company's
userId required | integer <int64> User ID |
walletId required | integer <int64> |
amount required | number > 0 The amount to transfer to the company. It represents the monetary value that will be transferred to the company. |
object Additional information related to the ticket. It allows recording any supplementary details or comments about the ticket. |
{- "amount": 0,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
}
Transfer the funds reserved to the user's wallet according to the token generated through a money transfer reservation.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
token required | string The token generated through a money transfer. It is used to identify and receive a specific ticket. |
{- "token": "OVwkDYVQ96EOOxgMih"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Prepare and retrieve a QR payment
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
seller_global_id required | string |
seller_identification required | string |
id_transaction required | string |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
qr_text required | string |
object |
{- "seller_global_id": "string",
- "seller_identification": "string",
- "id_transaction": "string",
- "amount": 100,
- "qr_text": "string",
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Prepare and retrieve a QR payment
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
code required | string |
{- "code": "string"
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Through this endpoint, the user can make payments for fund payment request link.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
ticketId required | string Send/Request Money Identifier |
object |
{- "additionalInfo": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
userId required | integer <int64> |
walletId required | integer <int64> |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
description | string |
usage_limit | integer <int32> |
object |
{- "amount": 100,
- "description": "string",
- "usage_limit": 0,
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
userId required | integer <int64> |
walletId required | integer <int64> |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
token required | string The token generated through a money transfer. It is used to identify an invoice. |
object Additional information related to the invoice transaction. It allows recording any supplementary details or comments. |
{- "amount": 100,
- "token": "string",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
Pay the funds requested in the token generated through a money transfer request
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
token required | string The token generated through a money transfer. It is used to identify and receive a specific ticket. |
{- "token": "OVwkDYVQ96EOOxgMih"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Payment of funds by credit/debit card to the user's wallet.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
required | object (CashInCardDTO) The card to be charged for the cash-in transaction. It represents the payment card used to fund the wallet. |
object Additional information related to the cash-in transaction. It allows recording any supplementary details or comments. |
{- "amount": 100,
- "card": {
- "token": "49422442Aj8A4791",
- "card_bin": "454451",
- "expiration_month": 12,
- "expiration_year": 28,
- "security_code": "134",
- "card_holder_name": "JOHN DOE",
- "payment_method_code": "1",
- "payment_method_name": "AMEX",
- "payment_method_type": "CREDIT",
- "issuer_code": "800",
- "issuer_name": "AMEX"
}, - "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "transactions": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
}
Payment of funds to the user's wallet (for specific cases).
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
object Additional information related to the cash-in transaction. It allows recording any supplementary details or comments. |
{- "amount": 100,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "transactions": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
}
Allows payment using a card
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
cardId required | integer <int64> Payment Card Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
installments required | integer <int32> [ 1 .. 99 ] ${card.payment.installments} |
cvv | string ${card.payment.cvv} |
object |
{- "amount": 100,
- "installments": 12,
- "cvv": "458",
- "additional_info": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
Through this endpoint the user requests money. The amount is optional. Obtains a token to be sent to another user to pay the funds.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
reference_id | string Reference ID to be stored in the transaction (it is not validated by WaaSabi). If present, it will be stored in additional information as "externalId" and informed in the confirmation notification TICKET_PAID |
object Additional information related to the ticket. It allows recording any supplementary details or comments about the ticket. |
{- "amount": 100,
- "reference_id": "1659721313587",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Allows generation of an internal money transfer with a transfer strategy
userId required | integer <int64> User ID |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
destination_user_id required | integer <int64> The ID of the target user associated with the instant transaction. It represents the user to whom the instant transaction is directed. |
destination_wallet_id required | integer <int64> The ID of the target wallet associated with the instant transaction. It represents the wallet to which the instant transaction is directed. |
object Additional information related to the ticket. It allows recording any supplementary details or comments about the ticket. | |
origin_wallets_id required | Array of integers <int64> [ items <int64 > ] A collection of wallet Ids from which funds will be withdrawn to make transfers |
strategy required | string Define the transfer strategy for Withdrawals |
credit_wallet_name | string |
{- "amount": 100,
- "destination_user_id": 12,
- "destination_wallet_id": 12,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "origin_wallets_id": [
- 12,
- 45
], - "strategy": "MIX_MAIN_AND_CREDIT",
- "credit_wallet_name": "string"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
}
Through this endpoint the user requests money and generate a link to share. Obtains a link to be sent to another user to pay the funds.
userId required | integer <int64> User ID |
arg2 required | string Send or Request Money Model |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "property1": { },
- "property2": { }
}
}
Through this endpoint the user requests money and generate a link to share. Obtains a link to be sent to another user to pay the funds.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
arg2 required | string Send or Request Money Model |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "property1": { },
- "property2": { }
}
}
Update a pending transaction from a money transfer
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
ticketId required | string Send/Request Money Identifier |
object |
{- "additionalInfo": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Update a pending transaction from a money transfer
walletId required | integer <int64> Wallet Identifier |
ticketId required | string Send/Request Money Identifier |
object |
{- "additionalInfo": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Update a pending transaction from a money transfer
ticketId required | string Send/Request Money Identifier |
object |
{- "additionalInfo": {
- "property1": "string",
- "property2": "string"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
To obtain a record of the transactions made with a user's wallet, in a certain period of time.
walletId required | integer <int64> Wallet Identifier |
init_date | string |
end_date | string |
transaction_id | string |
reference_id | string |
original_transaction_id | string |
status | string |
removed | string |
transaction_type | string |
last_id_transaction | integer <int64> Default: 0 |
length | integer <int32> Default: 10 |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
To obtain a record of the transactions made with a user's wallet, in a certain period of time.
userId required | integer <int64> User ID |
init_date | string |
end_date | string |
transaction_id | string |
reference_id | string |
original_transaction_id | string |
status | string |
removed | string |
transaction_type | string |
last_id_transaction | integer <int64> Default: 0 |
length | integer <int32> Default: 10 |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
To obtain a record of the transactions made with a user's wallet, in a certain period of time.
userId required | integer <int64> User ID |
walletId required | integer <int64> |
init_date | string |
end_date | string |
transaction_id | string |
reference_id | string |
original_transaction_id | string |
status | string |
removed | string |
transaction_type | string |
last_id_transaction | integer <int64> Default: 0 |
length | integer <int32> Default: 10 |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
token required | string Send or Request Money Token |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": "768teVUe2wNAJqe3I91",
- "wallet_id": 1659721313587,
- "amount": 1000,
- "expiration_time": 1659721313587,
- "creation_time": 1659721313587,
- "status": "ACTIVE",
- "ticket_type": "TBD",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "transaction_id": 0
}
}
Perform exchange between wallets
userId required | integer <int64> |
wallet_base_id required | integer <int64> |
wallet_target_id required | integer <int64> |
amount required | number |
{- "wallet_base_id": 0,
- "wallet_target_id": 0,
- "amount": 0
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Check info of a exchange between wallets
userId required | integer <int64> |
wallet_base_id required | integer <int64> |
wallet_target_id required | integer <int64> |
amount required | number |
{- "wallet_base_id": 0,
- "wallet_target_id": 0,
- "amount": 0
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Convert amount from origin currency to target currency
amount required | number Amount to exchange |
from required | string Currency origin to exchange |
to required | string Currency destination to exchange |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Convert amount from origin currency to target currency
amount required | number Amount to exchange |
from required | string Currency origin to exchange |
to required | string Currency destination to exchange |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Allows transfers by means of an API Bank service that will process the information of the destination account.
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
required | object (CashOutReceiverApi) Information about the recipient of the money. It provides details about the individual or entity receiving the funds. |
object Additional information related to the cash-out request. It allows recording any supplementary details or comments. |
{- "amount": 100,
- "receiver": {
- "last_name": "Doe",
- "name": "Jane",
- "government_identification_type": "DNI",
- "government_identification": "7329034129",
- "phone": "+541176334600",
- "email": "janedoe@gmailcom",
- "city": "Lanús",
- "birth_date": "1991-08-15",
- "address": "2000 Arenales",
- "bank_name": "SANTANDER RIO",
- "bank_account": "00496561886143650075",
- "bank_province": "Buenos Aires",
- "bank_city": "Mar del Plata",
- "account_type": "Corriente",
- "postal_code": "1822",
- "bank_code": "0036",
- "metadata": {
- "key1": "value1",
- "key2": "value2"
}
}, - "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "transactions": [
- {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
]
}
}
Retrieve information related to the transfer to a destination account
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. | |
required | object (CashOutReceiverApi) Information about the recipient of the money. It provides details about the individual or entity receiving the funds. |
object Additional information related to the cash-out request. It allows recording any supplementary details or comments. |
{- "amount": 100,
- "receiver": {
- "last_name": "Doe",
- "name": "Jane",
- "government_identification_type": "DNI",
- "government_identification": "7329034129",
- "phone": "+541176334600",
- "email": "janedoe@gmailcom",
- "city": "Lanús",
- "birth_date": "1991-08-15",
- "address": "2000 Arenales",
- "bank_name": "SANTANDER RIO",
- "bank_account": "00496561886143650075",
- "bank_province": "Buenos Aires",
- "bank_city": "Mar del Plata",
- "account_type": "Corriente",
- "postal_code": "1822",
- "bank_code": "0036",
- "metadata": {
- "key1": "value1",
- "key2": "value2"
}
}, - "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "amount": 1.5
}
}
Get all info about a transaction by its Id
transactionId required | integer <int64> Transaction Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "company_id": 1,
- "id": 12,
- "wallet_id": 3,
- "amount": 100,
- "transaction_status": "APPROVED",
- "balance": 1125,
- "available_balance": 1075,
- "original_transaction_id": 7,
- "reference_id": "f6078f33-9624-4f1d-a578-8d6bd153068c",
- "transaction_date": 1650056783212,
- "removed": false,
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "group_id": "EB01A2F2-008D-4475-A42A-B97F550DF632",
- "expiration_date": 1660056757421,
- "transaction_type": "CASH_IN"
}
}
This endpoint is used to issue a new physical or virtual card for a user.
userId required | integer <int64> User ID |
walletId required | integer <int64> |
country required | string Enum: "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "CPV" "KHM" "CMR" "CAN" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SRB" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" Country with which the card operates |
card_type required | string Enum: "VIRTUAL" "PHYSICAL" The category or tier of the card, such as Gold, Platinum, or Black. This typically reflects the card's benefits, features, and eligibility requirements. |
alias | string [ 0 .. 80 ] characters Payment method aliases associated with the card. These aliases provide alternative names or labels for the payment method. |
currency required | string [ 0 .. 10 ] characters Currency with which the card operates |
{- "country": "ARG",
- "card_type": "VIRTUAL",
- "alias": "AMEX Corporativa",
- "currency": "ARS"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 30,
- "customer_id": 153,
- "alias": "AMEX Corporativa",
- "last_four_digits": "7124",
- "creation_date": "2022-07-21 12:56:33",
- "wallet_id": 153,
- "currency": "ARS",
- "status": "ACTIVE",
- "brand": "VISA",
- "reference_id": "string",
- "expiration_year": "29",
- "expiration_month": "12",
- "type": "Gold",
- "issuer": "BBVA",
- "card_holder_name": "Jhon White",
- "payment_method_type": "Debit",
- "bin": "724565",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
}
For verifying that a credit/debit card is valid, providing the user id.
userId required | integer <int64> User ID |
card_holder_name | string [ 1 .. 50 ] characters The name of the cardholder. It represents the name of the person to whom the card is issued. |
bin | string The Bank Identification Number (BIN) of the card. It is the first few digits of the card number that identify the issuing bank or institution. |
{- "card_holder_name": "John Doe",
- "bin": "123456"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": true
}
Allows to store a credit/debit card through the user id in a secure way.
userId required | integer <int64> User ID |
alias | string [ 0 .. 80 ] characters Payment method aliases associated with the card. These aliases provide alternative names or labels for the payment method. |
token required | string The token associated with the card. It is a security measure used for authentication and authorization purposes. |
last_four_digits required | string The last four digits of the card number. These digits are often used as a quick reference to identify the card. |
expiration_year | string The year in which the card expires. It represents the expiration date of the card's validity. |
expiration_month | string The month in which the card expires. It represents the expiration date of the card's validity. |
type | string The category or tier of the card, such as Gold, Platinum, or Black. This typically reflects the card's benefits, features, and eligibility requirements. |
issuer | string The financial institution or organization that issued the card. This information helps identify the entity responsible for managing the card account. |
payment_method_type | string Indicates whether the card is a debit or credit card. This defines how funds are accessed?directly from a bank account or through a credit line. |
brand | string The brand or logo associated with the card. It represents the specific card brand or company. |
card_holder_name | string The name of the cardholder. It represents the name of the person to whom the card is issued. |
cvv | string The Card Verification Value (CVV), a 3- or 4-digit security code used to verify that the card is in the possession of the cardholder during transactions, especially |
object Additional information related to the card, for example, cardHolderIdentification. | |
bin | string The Bank Identification Number (BIN) of the card. It is the first few digits of the card number that identify the issuing bank or institution. |
currency | string |
wallet_id | integer <int64> |
{- "alias": "AMEX Corporativa",
- "token": "49422442Aj8A4791",
- "last_four_digits": "0124",
- "expiration_year": "29",
- "expiration_month": "12",
- "type": "Gold",
- "issuer": "BBVA",
- "payment_method_type": "Debit",
- "brand": "VISA",
- "card_holder_name": "Jhon White",
- "cvv": "254",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}, - "bin": "254638",
- "currency": "string",
- "wallet_id": 0
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 30,
- "customer_id": 153,
- "alias": "AMEX Corporativa",
- "last_four_digits": "7124",
- "creation_date": "2022-07-21 12:56:33",
- "wallet_id": 153,
- "currency": "ARS",
- "status": "ACTIVE",
- "brand": "VISA",
- "reference_id": "string",
- "expiration_year": "29",
- "expiration_month": "12",
- "type": "Gold",
- "issuer": "BBVA",
- "card_holder_name": "Jhon White",
- "payment_method_type": "Debit",
- "bin": "724565",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
}
This endpoint is used to enable a physical or virtual card for a user.
userId required | integer <int64> User ID |
cardId required | integer <int64> |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
This endpoint is used to disable a physical or virtual card for a user.
userId required | integer <int64> User ID |
cardId required | integer <int64> |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Allows you to obtain information about a particular credit/debit card.
userId required | integer <int64> User ID |
cardId required | integer <int64> Payment Card Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "id": 30,
- "customer_id": 153,
- "alias": "AMEX Corporativa",
- "last_four_digits": "7124",
- "creation_date": "2022-07-21 12:56:33",
- "wallet_id": 153,
- "currency": "ARS",
- "status": "ACTIVE",
- "brand": "VISA",
- "reference_id": "string",
- "expiration_year": "29",
- "expiration_month": "12",
- "type": "Gold",
- "issuer": "BBVA",
- "card_holder_name": "Jhon White",
- "payment_method_type": "Debit",
- "bin": "724565",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
}
Allows to remove a card from the list associated with a particular user.
userId required | integer <int64> User ID |
cardId required | integer <int64> Payment Card Identifier |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
To update the alias of a user's card.
userId required | integer <int64> User ID |
cardId required | integer <int64> Payment Card Identifier |
alias required | string [ 1 .. 80 ] characters Payment method aliases associated with the card. These aliases provide alternative names or labels for the payment method. |
{- "alias": "AMEX Corporativa"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
To obtain the list and details of all the cards associated with an user.
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 30,
- "customer_id": 153,
- "alias": "AMEX Corporativa",
- "last_four_digits": "7124",
- "creation_date": "2022-07-21 12:56:33",
- "wallet_id": 153,
- "currency": "ARS",
- "status": "ACTIVE",
- "brand": "VISA",
- "reference_id": "string",
- "expiration_year": "29",
- "expiration_month": "12",
- "type": "Gold",
- "issuer": "BBVA",
- "card_holder_name": "Jhon White",
- "payment_method_type": "Debit",
- "bin": "724565",
- "additional_info": {
- "key1": "value1",
- "key2": "value2"
}
}
]
}
To obtain the valid bins of the entire universe of existing cards.
bin required | string Bank Identification Number, is the first 6-8 numbers on the payment card that identifies the card issuer. The first digit is the major industry identifier, and the remaining digits communicate the financial institution that issued the card |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "code": "AMEX",
- "name": "AMEX",
- "mp_type": "CREDIT",
- "cvv_size": 3,
- "size_max": 15,
- "size_min": 15,
- "issuers": [ ],
- "brand": "AMEX",
- "valid_for_company": true
}
}
Virtual checks can be cashed by another user, with expiration date, currency, usage limit and 3 different types. Remember to save the check's token
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
required | object (MoneyDTO) The amount to be transferred or associated with the ticket. It represents the monetary value of the ticket. |
type required | string Enum: "SINGLE_USE" "ONE_PER_USER" "NEW_USER_ONLY" The type of the check. It specifies who can use the check and how many users can use it. |
reason | string [ 0 .. 100 ] characters A description or comment about the check. It provides additional information or context about the purpose or usage of the check. |
usage_limit | integer <int64> The number of times the check can be used. If not provided or null, it implies that the check can be used an unlimited number of times. |
expiration_time | integer <int64> The expiration time of the check, specified in Unix epoch milliseconds. It indicates the time until which the check remains valid. |
{- "amount": 1000,
- "type": "SINGLE_USE",
- "reason": "Loan",
- "usage_limit": 1,
- "expiration_time": 1700845604000
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Receive a check by providing its token, if successful, amount will be added to the provided wallet
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
token required | string The token generated for the check. It is used to identify and receive a specific check, generated upon check creation. |
{- "token": "string"
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Requests an OTA to the Tokenizer and returns the corresponding value. OTA is used from frontend in order to be able to tokenize values
expire_time_seconds | integer <int64> The expiration time of the OTA (One Time Authorization) request in seconds. It represents the time until which the OTA request remains valid. |
{- "expire_time_seconds": 60
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": "string"
}
Following tables of code / description obtained by calling documentation endpoint.
Codes and descriptions obtained by calling /api/v1/doc/DOC_OBJECTS
Code | Description |
---|---|
DOC_OBJECTS | List of objects available in documentation |
OPERATIONS | WaaSabi Operations available for validation |
ERROR_CODES | WaaSabi Error Codes |
NOTIFICATIONS | Notification Types |
TRANSACTION_ADD_INFO | Transaction Additional Info Options |
TRANSACTION_PARAMETERS | Transaction Additional Info Parameters used for Searching |
BLOCK_DETAILS | Block Reasons |
NATIONALITY | User Nationalities |
Codes and descriptions obtained by calling /api/v1/doc/OPERATIONS
Code | Description |
---|---|
TRANSFER_P2P | Transfer p2p |
CHECK | Transfer p2p |
CASH_IN | Cash in |
CASH_OUT | Cash out |
INVOICE_CASH_OUT | Invoice cash out |
INVOICE_CASH_IN | Invoice cash in |
DELETE | Delete user |
BALANCE | Get balance |
BLOCK | Block user |
UNBLOCK | Unblock user |
PROFILE | Get profile information |
TICKET | Ticket |
RESET_PIN | Change pin |
PAYMENT | Payment |
WALLET | General Wallet operations |
CARD | General Card Operations |
USER | General user operations |
ACCOUNT | General account operations |
TRANSFER_P2P_INSTANT | Transfer p2p instant |
EXCHANGE | Exchange amount |
ADMIN_SECONDARY_USER | Secondaries user administration |
Codes and descriptions obtained by calling /api/v1/doc/ERROR_CODES
Code | Description |
---|---|
GEN_01 | Invalid amount |
GEN_02 | Invalid field value: |
GEN_03 | Field %s is required |
GEN_04 | Amount is required and should be greater than zero |
GEN_05 | Invalid currency |
GEN_06 | Invalid user property type |
GEN_07 | Invalid user property event |
GEN_08 | Invalid wallet to execute an operation. Wallet Id: |
CUS_01 | User Identifier already exist |
CUS_02 | User not found |
CUS_06 | The PIN contains information related to the date of birth. |
CUS_07 | Duplicated Security Factor, previously registered. |
CUS_08 | Authentication failed. |
CUS_09 | User account blocked for suspicious operation |
CUS_13 | Invalid field values: |
CUS_15 | Balance is not sufficient for this transaction |
CUS_16 | Block detail not found |
CUS_17 | User Wallet Name already exist |
CUS_18 | User search criteria not found |
CUS_18 | Init Date is required |
CUS_19 | End Date is required |
CUS_20 | Invalid date format |
CUS_21 | More than one customer found |
CUS_22 | Rol not found |
OPE_01 | Operator Identifier already exist |
OPE_02 | Operator not found |
WAL_02 | Wallet not found in user |
CAR_01 | Card already exists in your account |
CAR_05 | Card BIN not allowed by the company |
CAR_06 | Ownership not allowed by the user |
CAR_07 | The card is not valid |
CAR_08 | The alias requested is already set |
CAR_09 | Card not found |
CAR_10 | Card issue is not allowed for the company |
CAR_11 | Invalid last four |
CAR_12 | Invalid currency |
CAR_13 | This card is not active |
MAX_CARDS | Cards limit reached |
COM_01 | Company not found |
COM_02 | Invalid Company |
COM_04 | Feature disabled |
COM_06 | Invalid property value |
COM_07 | Invalid property code |
COM_08 | Company Wallet Name already exist |
BIN_01 | Bin not found |
CIN_02 | Card is required |
TIC_01 | Virtual Ticket not found. |
TIC_02 | Virtual tickets charged |
TIC_03 | Virtual ticket expired |
TIC_04 | The found Virtual tickets does not match the search criteria |
PRO_01 | Additional Information %s is mandatory |
PRO_02 | Provider Business error |
CHK_00 | Could not find check |
CHK_01 | Check expired |
CHK_02 | Check already used |
CHK_03 | User already cashed this check |
CHK_04 | User is not new, cannot cash this check type |
INV_00 | Error creating invoice |
INV_01 | Error getting invoice |
INV_02 | Error pay invoice |
INV_03 | Invoice Currency does not match between wallets |
INV_04 | Invoice not found |
INV_05 | Action Invoice is not supported |
INV_06 | Invoice Already used |
INV_07 | Error processing invoice |
INV_08 | Amount is required |
CRP_17 | Provider is not implemented |
CRP_20 | Error getting transaction information |
CRP_21 | Invalid Invoice |
CRP_25 | Balance upper Limit was exceed. |
CRP_26 | Exchange amount is too small |
CRP_28 | Invalid Address |
CRP_29 | Transaction output is dust |
LIV_01 | User is underage |
LIV_02 | Not enough Score |
LIV_03 | Not validated, no birthdate in response |
AML_01 | Transaction rejected by AML. |
DOC_01 | Invalid documentation object name |
OPE_01 | Unknown operation |
OP_02 | Operation not completed |
DOC_01 | Document type object not found |
TOKENIZER_01 | Company not allowed for this operation |
PROBANCO_01 | Bank number account should be a number |
PROBANCO_02 | Invalid Bank account type |
PROBANCO_03 | Invalid beneficiary id type |
VLT_01 | Invalid vault name [%s] |
VLT_02 | Invalid action [%s] |
WAL_01 | At least one transaction is required |
WAL_02 | Status is required |
WAL_03 | Group id is required |
SEC_01 | Customer was not sign up before |
SEC_02 | Invalid Credentials |
SEC_03 | Security factor duplicate error |
CREDIT_01 | More than one Credit Wallet for customer |
DP_01 | Invalid field values: |
CUS_02 | User not found |
REV_01 | Transaction not found with id: |
REV_02 | The transaction has already been fully reversed. |
REV_03 | The amount to reverse exceeds the available balance. |
REV_04 | The transaction is not valid to be reversed. Id: |
REV_05 | More than one refund is pending. Current refund pending with referenceId: |
REV_06 | More than one refund is pending. Current refund pending with referenceId: |
ACCO_1 | Cannot create a new wallet the maximum number of wallets allowed has already been reached. |
ACCO_2 | Field is mandatory. |
BRA_01 | Reference Id for Cash Register already exist |
BRA_02 | Branch with id %s not found |
BRA_03 | Cash Register with id %s not found |
BRA_04 | Reference Id for branch already exist |
Codes and descriptions obtained by calling /api/v1/doc/NOTIFICATIONS
Code | Description |
---|---|
AGGREGATE_BALANCE | Money received |
BACK_OFFICE | Response to a support case received |
BLOCK | User blocked |
CARD_PAYMENT_EVENT | WaaSabi issued card transaction paid |
CHANGE_TRANSACTION_STATE | Transaction status changed |
COMPENSATE | Compensation completed |
CRYPTO_TOP_UP | Money received |
EXCHANGE | Currency swap status confirmation |
INVOICE_PAID | Payment successful |
INVOICE_RECEIVE | Invoice payed |
PAYMENT | Tenant financing payment successful |
TICKET_PAID | Money transfer was credited/paid successfully |
TICKET_REFUNDED | Expired check or money request |
UNBLOCK | Unlocked user |
UPDATE_CUSTOMER | User Updated |
UPDATE_CUSTOMER_LIVENESS | User updated from liveness |
ADD_USER | User added |
INVALID_LIVENESS | Require liveness again |
ACTIVE | User actived |
STATUS_CHANGE | User status changed |
Codes and descriptions obtained by calling /api/v1/doc/TRANSACTION_ADD_INFO
Code | Description |
---|---|
owner_id | Wallet Owner ID |
customer_identifier | Username |
destination_company_id | Destination Company ID |
origin_name | Origin Name |
ticket_expiration_time_stamp | Ticket Expiration Time Stamp |
ticket_execution_date | Ticket Execution Date |
cancel_reason | Cancel Reason |
original_ticket_id | Original Ticket ID |
original_customer_id | Original User ID |
original_customer_full_name | Original User Name and Surname |
original_customer_identifier | Original Username |
original_wallet_id | Original Wallet ID |
destination_customer_id | Destination User ID |
destination_customer_full_name | Destination User Name and Surname |
destination_customer_identifier | Destination Username |
destination_wallet_id | Destination Wallet ID |
transfer_origin_customer_id | Transfer Origin User ID |
transfer_origin_customer_full_name | Transfer Origin User Name and Surname |
transfer_origin_wallet_id | Transfer Origin Wallet ID |
transfer_origin_public_id | Transfer Origin Public ID |
transfer_destination_customer_id | Transfer Destination User ID |
transfer_destination_customer_full_name | Transfer Destination User Name and Surname |
transfer_destination_wallet_id | Transfer Destination Wallet ID |
transfer_destination_company_id | Transfer Destination Company ID |
transfer_destination_public_id | Transfer Destination Public ID |
internal_transaction_id | Transaction ID |
transaction_id | Transaction ID |
origin_transaction_id | Origin Transaction ID |
destination_transaction_id | Destination Transaction ID |
payer | Username who paid invoice |
payee | Username who receive invoice |
invoice_description | Invoice description |
description | Description |
has_routes | Invoices' routes |
original_amount | Original Amount of Transaction |
exchange_amount | Exchanged amount |
is_expired | Expired |
exchange_fee | Exchanged fee |
amount | Amount |
currency | Currency |
fee | Fee |
cash back | CashBack |
provider | Provider executor |
destination_account | Destination Account |
destination_bank_code | Destination Bank Code |
destination_name | Destination Name |
has_commission | Transaction has commission |
has_cash_back | Transaction has cash back |
has_taxes | Transaction has taxes |
tax_amount | Tax amount |
reason | Reason |
external_transaction_code | External transaction code |
reference_id | External id |
destination_company_transaction_id | External id |
entity | Entity incharge of to the income/outcome transaction |
accountNumber | Account number related to the income/outcome transaction |
accountType | Account type related to the income/outcome transaction |
is_cashout_transfer | Is cash out with p2p transfer to company |
Codes and descriptions obtained by calling /api/v1/doc/TRANSACTION_PARAMETERS
Code | Description |
---|---|
original_transaction_id | Original Transaction ID |
customer_id | User ID |
wallet_id | Wallet ID |
init_date | Initial Date |
end_date | End Date |
reference_id | Reference ID |
transaction_id | Transaction ID |
origin_transaction_id | Origin Transaction ID |
destination_transaction_id | Destination Transaction ID |
status | Transaction Status |
currency | Currency |
transaction_type | Transaction Type |
removed | Transaction Removed Status |
public_id | User public id |
last_id_transaction | ID of the last transaction for pagination |
length | Page length |
transaction_type | Transaction type |
user_public_id | User Public Id |
Codes and descriptions obtained by calling /api/v1/doc/BLOCK_DETAILS
Code | Description |
---|---|
AML | Blocked by AML |
USER | Blocked by the user |
DUBIOUS_BEHAVIOR | Blocked by dubious behavior |
DUBIOUS_BEHAVIOR_FINAL | Blocked by constantly dubious behavior |
BACK_OFFICE | Blocked by back office |
Codes and descriptions obtained by calling /api/v1/doc/NATIONALITY
Code | Description |
---|---|
AFG | Afghanistan |
ALA | Aland Islands |
ALB | Albania |
DZA | Algeria |
ASM | American Samoa |
AND | Andorra |
AGO | Angola |
AIA | Anguilla |
ATA | Antarctica |
ATG | Antigua and Barbuda |
ARG | Argentina |
ARM | Armenia |
ABW | Aruba |
AUS | Australia |
AUT | Austria |
AZE | Azerbaijan |
BHS | Bahamas |
BHR | Bahrain |
BGD | Bangladesh |
BRB | Barbados |
BLR | Belarus |
BEL | Belgium |
BLZ | Belize |
BEN | Benin |
BMU | Bermuda |
BTN | Bhutan |
BOL | Bolivia (Plurinational State of) |
BES | Bonaire, Sint Eustatius and Saba |
BIH | Bosnia and Herzegovina |
BWA | Botswana |
BRA | Brazil |
IOT | British Indian Ocean Territory |
BRN | Brunei Darussalam |
BGR | Bulgaria |
BFA | Burkina Faso |
BDI | Burundi |
CPV | Cabo Verde |
KHM | Cambodia |
CMR | Cameroon |
CAN | Canada |
CYM | Cayman Islands |
CAF | Central African Republic |
TCD | Chad |
CHL | Chile |
CHN | China |
CXR | Christmas Island |
CCK | Cocos (Keeling) Islands |
COL | Colombia |
COM | Comoros |
COG | Congo |
COD | Congo (Democratic Republic of the) |
COK | Cook Islands |
CRI | Costa Rica |
HRV | Croatia |
CUB | Cuba |
CUW | Curaçao |
CYP | Cyprus |
CZE | Czech Republic |
DNK | Denmark |
DJI | Djibouti |
DMA | Dominica |
DOM | Dominican Republic |
ECU | Ecuador |
EGY | Egypt |
SLV | El Salvador |
GNQ | Equatorial Guinea |
ERI | Eritrea |
EST | Estonia |
ETH | Ethiopia |
FLK | Falkland Islands (Malvinas) |
FRO | Faroe Islands |
FJI | Fiji |
FIN | Finland |
FRA | France |
GUF | French Guiana |
PYF | French Polynesia |
ATF | French Southern Territories |
GAB | Gabon |
GMB | Gambia |
GEO | Georgia |
DEU | Germany |
GHA | Ghana |
GIB | Gibraltar |
GRC | Greece |
GRL | Greenland |
GRD | Grenada |
GLP | Guadeloupe |
GUM | Guam |
GTM | Guatemala |
GGY | Guernsey |
GIN | Guinea |
GNB | Guinea-Bissau |
GUY | Guyana |
HTI | Haiti |
HMD | Heard Island and McDonald Islands |
VAT | Holy See |
HND | Honduras |
HKG | Hong Kong |
HUN | Hungary |
ISL | Iceland |
IND | India |
IDN | Indonesia |
IRN | Iran (Islamic Republic of) |
IRQ | Iraq |
IRL | Ireland |
IMN | Isle of Man |
ISR | Israel |
ITA | Italy |
JAM | Jamaica |
JPN | Japan |
JEY | Jersey |
JOR | Jordan |
KAZ | Kazakhstan |
KEN | Kenya |
KIR | Kiribati |
PRK | Korea (Democratic People's Republic of) |
KOR | Korea (Republic of) |
KWT | Kuwait |
KGZ | Kyrgyzstan |
LAO | Lao People's Democratic Republic |
LVA | Latvia |
LBN | Lebanon |
LSO | Lesotho |
LBR | Liberia |
LBY | Libya |
LIE | Liechtenstein |
LTU | Lithuania |
LUX | Luxembourg |
MAC | Macao |
MKD | Macedonia (the former Yugoslav Republic of) |
MDG | Madagascar |
MWI | Malawi |
MYS | Malaysia |
MDV | Maldives |
MLI | Mali |
MLT | Malta |
MHL | Marshall Islands |
MTQ | Martinique |
MRT | Mauritania |
MUS | Mauritius |
MYT | Mayotte |
MEX | Mexico |
FSM | Micronesia (Federated States of) |
MDA | Moldova (Republic of) |
MCO | Monaco |
MNG | Mongolia |
MNE | Montenegro |
MSR | Montserrat |
MAR | Morocco |
MOZ | Mozambique |
MMR | Myanmar |
NAM | Namibia |
NRU | Nauru |
NPL | Nepal |
NLD | Netherlands |
NCL | New Caledonia |
NZL | New Zealand |
NIC | Nicaragua |
NER | Niger |
NGA | Nigeria |
NIU | Niue |
NFK | Norfolk Island |
MNP | Northern Mariana Islands |
NOR | Norway |
OMN | Oman |
PAK | Pakistan |
PLW | Palau |
PSE | Palestine, State of |
PAN | Panama |
PNG | Papua New Guinea |
PRY | Paraguay |
PER | Peru |
PHL | Philippines |
PCN | Pitcairn |
POL | Poland |
PRT | Portugal |
PRI | Puerto Rico |
QAT | Qatar |
REU | Réunion |
ROU | Romania |
RUS | Russian Federation |
RWA | Rwanda |
BLM | Saint Barthélemy |
SHN | Saint Helena, Ascension and Tristan da Cunha |
KNA | Saint Kitts and Nevis |
LCA | Saint Lucia |
MAF | Saint Martin (French part) |
SPM | Saint Pierre and Miquelon |
VCT | Saint Vincent and the Grenadines |
WSM | Samoa |
SMR | San Marino |
STP | Sao Tome and Principe |
SAU | Saudi Arabia |
SEN | Senegal |
SRB | Serbia |
SYC | Seychelles |
SLE | Sierra Leone |
SGP | Singapore |
SXM | Sint Maarten (Dutch part) |
SVK | Slovakia |
SVN | Slovenia |
SLB | Solomon Islands |
SOM | Somalia |
ZAF | South Africa |
SGS | South Georgia and the South Sandwich Islands |
SSD | South Sudan |
ESP | Spain |
LKA | Sri Lanka |
SDN | Sudan |
SUR | Suriname |
SJM | Svalbard and Jan Mayen |
SWZ | Swaziland |
SWE | Sweden |
CHE | Switzerland |
SYR | Syrian Arab Republic |
TWN | Taiwan, Province of China |
TJK | Tajikistan |
TZA | Tanzania, United Republic of |
THA | Thailand |
TLS | Timor-Leste |
TGO | Togo |
TKL | Tokelau |
TON | Tonga |
TTO | Trinidad and Tobago |
TUN | Tunisia |
TUR | Turkey |
TKM | Turkmenistan |
TCA | Turks and Caicos Islands |
TUV | Tuvalu |
UGA | Uganda |
UKR | Ukraine |
ARE | United Arab Emirates |
GBR | United Kingdom of Great Britain and Northern Ireland |
USA | United States of America |
UMI | United States Minor Outlying Islands |
URY | Uruguay |
UZB | Uzbekistan |
VUT | Vanuatu |
VEN | Venezuela (Bolivarian Republic of) |
VNM | Viet Nam |
VGB | Virgin Islands (British) |
VIR | Virgin Islands (U.S.) |
WLF | Wallis and Futuna |
ESH | Western Sahara |
YEM | Yemen |
ZMB | Zambia |
ZWE | Zimbabwe |
object required | string |
Facilitate the creation, modification, and deletion of user roles.
Allows you to add or modify user role
userId required | integer <int64> User ID |
name required | string The name that represent the role. For example: ADMIN |
expiration_date | integer <int64> Represent the timestamp when the role will expire |
related_user_id | integer <int64> Identifier of the customer related for some reason. e.g. If cusotmer is a Secondary user it represents the id of the Main related User. |
"ADMIN"
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": "ADMIN"
}
Allows you to delete user role
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": { }
}
Returns simulated payment if parameters are valid
userId required | integer <int64> |
duePaymentId required | integer <int64> |
x-consumer-custom-id required | integer <int64> |
amountPaidWithBalance | number <double> |
amountPaidWithOthers | number <double> |
amountFinanced | number <double> |
loanPaymentAmounts | Array of numbers <double> [ items <double > ] |
loanPayments | integer <int32> |
{- "amountPaidWithBalance": 0.1,
- "amountPaidWithOthers": 0.1,
- "amountFinanced": 0.1,
- "loanPaymentAmounts": [
- 0.1
], - "loanPayments": 0
}
Pays due payment and generates new due payments if required
userId required | integer <int64> |
duePaymentId required | integer <int64> |
x-consumer-custom-id required | integer <int64> |
amountPaidWithBalance | number <double> |
amountPaidWithOthers | number <double> |
amountFinanced | number <double> |
loanPaymentAmounts | Array of numbers <double> [ items <double > ] |
loanPayments | integer <int32> |
{- "amountPaidWithBalance": 0.1,
- "amountPaidWithOthers": 0.1,
- "amountFinanced": 0.1,
- "loanPaymentAmounts": [
- 0.1
], - "loanPayments": 0
}
Get due payments from user
userId required | integer <int64> User ID |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": [
- {
- "id": 1,
- "company_id": 1001,
- "amount": 1500,
- "currency": "ARS",
- "creation_date": "2019-08-24T14:15:22Z",
- "due_date": "2019-08-24T14:15:22Z",
- "payment_date": "2019-08-24T14:15:22Z",
- "paid": true,
- "automatic_payment": false,
- "parent_id": 0,
- "additional_info": "{\n\"key1\" : \"value1\",\n\"key2\" : {\n \"subkey1\": 1,\n \"subkey2: \"subvalue3\"\n }\n\n}"
}
]
}
Get branch
reference_id required | string |
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Creates a new branch.
x-consumer-custom-id required | integer <int64> |
object (Address) Complete address for the branch | |
name | string Name of the branch |
reference_id required | string Reference Id for identify the branch |
phone_number | string Phone number for the branch |
string Email for the branch |
{- "address": {
- "street": "Siempreviva",
- "number": "745",
- "floor": "2",
- "department": "B",
- "zip_code": "C1001",
- "city": "Rosario",
- "province": "Mendoza",
- "country": "Argentina"
}, - "name": "string",
- "reference_id": "string",
- "phone_number": "string",
- "email": "string"
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Creates a new cash register for the specified branch.
branchId required | integer <int64> |
x-consumer-custom-id required | integer <int64> |
reference_id required | string Reference Id for the cash register |
name required | string Name for the cash register |
{- "reference_id": "CR123456",
- "name": "CR123456"
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Generate a sales order for a cash register
reference_id required | string |
x-consumer-custom-id required | integer <int64> |
required | object (Money) The current balance of the wallet. It is represented as a number and can include decimal values. |
{- "amount": 100
}
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Get cash register
reference_id required | string |
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Generates a static QR code linked to a specific cash register. The QR can be scanned by customers to initiate payments.
reference_id required | string |
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Update an alias to an account
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
new_alias required | string Alias of the account, provided by the user. This field can be used to reference the account in a more friendly or personalized way. |
{- "new_alias": "personal.wallet"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "virtual_account_id": "0000173700000000000024",
- "bank_account_id": "2990008600808036270004",
- "alias": "personal.wallet",
- "type": "VIRTUAL",
- "name": "Federico Avila",
- "government_identification": "27142903747",
- "currency": "ARS"
}
}
Add an alias to an account
userId required | integer <int64> User ID |
walletId required | integer <int64> Wallet Identifier |
alias required | string Alias of the account, provided by the user. This field can be used to reference the account in a more friendly or personalized way. |
{- "alias": "personal.wallet"
}
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "virtual_account_id": "0000173700000000000024",
- "bank_account_id": "2990008600808036270004",
- "alias": "personal.wallet",
- "type": "VIRTUAL",
- "name": "Federico Avila",
- "government_identification": "27142903747",
- "currency": "ARS"
}
}
Get account info
identifier required | string Identifier of the account to get the related information |
{- "error": false,
- "error_information": {
- "code": "EXC_01",
- "message": "Error executing operation",
- "error_detail": { }
}, - "response": {
- "virtual_account_id": "0000173700000000000024",
- "bank_account_id": "2990008600808036270004",
- "alias": "personal.wallet",
- "type": "VIRTUAL",
- "name": "Federico Avila",
- "government_identification": "27142903747",
- "currency": "ARS"
}
}
Get user occupations to create an account
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Get user marital statutes to create an account
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Get user address provinces to create an account
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}
Get user user address cities to create an account
provinceId required | string |
x-consumer-custom-id required | integer <int64> |
{- "details": [
- {
- "error_code": "400 BAD_REQUEST",
- "error_message": "Number is expected",
- "error_detail": "retrieveCustomerById.customerId",
- "meta_data": {
- "reason": "Number is expected",
- "field": "retrieveCustomerById.customerId",
- "rejected_value": "11b",
- "i18n": "non compatible, the message not is a template"
}
}
], - "path": "/v1/user/11"
}