3. Inbound Transaction

Step by step of how to create an inbound transaction in Corporate API.

📑 Summary

  • Objective
  • Functionalities
  • Inbound Transaction Flow
    • Data for Creating an Inbound Transaction
  • Inbound Transaction Sequence Diagram
  • Inbound Transaction Statuses

Objective


The objective of this module is to explain how the process of creating an international outbound transaction in Corporate API works.

Functionalities


Through the transaction module, it is possible to:

Inbound Transaction Flow


After creating a quote and accepting it, the last step in the API is to create an inbound transaction. The API gets all accepted quotes (not bound to a transaction), and creates a transaction with the sum of USD or EUR amounts and the weighted average of exchange rates.

Before creating the transaction, it is possible to check all the accepted quotes through the endpoint GET Accepted Quotes.

📘

Beneficiary

The beneficiary's information and bank details are defined in advance and associated with the partner's profile. If the beneficiary or the bank details have been changed, please let us know so we can update the client's profile on our end.

❗️

Transaction Payment

Transactions can only be created in business days from 9am to 5:00pm (BRT Time).

🚧

Settlement Date

Corporate API does not work for future settlements, only with spot exchange. Which means that the transaction, after being paid, will have it's liquidity date settled for T+0, T+1 or T+2, depending on the time that the payment was made. The table below shows the time box for T+0 operatations:

If payment does not occur in the time box shown below, settlement will be made on T+1 or T+2.

After the transaction is created, the foreign currency payment must be made to Remessa Online's partner bank.

📘

Account details payment

The details of the international account to which the payment should be made will be shared in advance by Remessa Online's team.

📍 1. Data for Creating an Inbound Transaction

To request an outbound transaction, you need to provide the required parameters:

Field NameIs requiredDescription
currencyYesOutput currency which you want to create the transaction, based on accepted quotes.
purposeYesTransaction purpose.
bankAccountIdYesTransaction Brazilian beneficiary identification. This information will be sent in advance by Remessa Online's team. The bankAccountId refers to the bank account ID that will receive the money in Brazil.
directionYesTransaction direction.
externalIdNoCurrency in ISO format which the client wants to sell.

Below you can see an example of a full request for creating an inbound transaction for the Crypto purpose:

curl --request POST \
     --url https://fx-sandbox.remessaonline.com.br/corporate/v1/transaction/INBOUND \
     --header 'Authorization: Bearer {{token}}' \
     --header 'Content-Type: application/json' \
     --header 'User-Agent: {partnername}-remessa' \
     --header 'accept: application/json' \
     --header 'x-token: {{x-token}}' \
     --data '
{
  "externalId": "1f8c4581-9d17-4b45-a0f6-d27277867c2d",
  "currency": "USD",
  "purpose": "CRYPTO",
  "bankAccountId": "ph23c4581-9d17-4b45-a0f6-d27277867c2d"
}

Inbound Transaction Sequence Diagram


1504

Inbound Transaction Statuses


Transaction Flow Statuses

OrderStatusDescription
AWAITING_MONEY_ORDERWaiting for money order and conciliation.
TRANSACTION_IN_PROGRESSThe order was received and the settlement is in progress.
CONTRACT_IN_PROGRESSGenerating the foreign exchange contract
REGISTERED_TRANSACTIONThe contract was registered with the Brazilian Central Bank.
TRANSACTION_COMPLETEDThe money was sent to the partner's Brazilian bank account.

Other Statuses

StatusDescription
CANCELEDThe transaction was canceled.
SETTLEMENT_ISSUETED or PIX was returned.

📘

Partners can be notified through webhooks when the transaction status changes. More details can be found here