dLocal · Arazzo Workflow

dLocal Settle Transfer Between Accounts

Version 1.0.0

Check the source account balance, transfer funds to another account, then confirm the transfer.

1 workflow 1 source API 1 provider
View Spec View on GitHub PaymentsPayoutsEmergingMarketsLatAmAfricaAsiaFXFintechArazzoWorkflows

Provider

d-local

Workflows

settle-transfer-between-accounts
Check balance, transfer funds between accounts, and confirm settlement.
Reads the source account balance, creates a transfer to the destination account, and retrieves the transfer to confirm it settled.
3 steps inputs: amount, currency, description, fromAccount, toAccount outputs: transfer, transferId
1
checkSourceBalance
getAccountBalance
Read the source account balance to confirm it holds sufficient funds before transferring.
2
createTransfer
createTransfer
Create a transfer moving funds from the source account to the destination account.
3
confirmTransfer
getTransfer
Retrieve the transfer to confirm it settled.

Source API Descriptions

Arazzo Workflow Specification

d-local-settle-transfer-between-accounts-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: dLocal Settle Transfer Between Accounts
  summary: Check the source account balance, transfer funds to another account, then confirm the transfer.
  description: >-
    Moves funds between two platform accounts. The workflow reads the source
    account balance to confirm sufficient funds, creates a transfer from the
    source account to the destination account, and then retrieves the transfer
    to confirm it settled. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: platformsApi
  url: ../openapi/d-local-platforms-api-openapi.yml
  type: openapi
workflows:
- workflowId: settle-transfer-between-accounts
  summary: Check balance, transfer funds between accounts, and confirm settlement.
  description: >-
    Reads the source account balance, creates a transfer to the destination
    account, and retrieves the transfer to confirm it settled.
  inputs:
    type: object
    required:
    - fromAccount
    - toAccount
    - amount
    - currency
    properties:
      fromAccount:
        type: string
        description: Source account identifier to debit.
      toAccount:
        type: string
        description: Destination account identifier to credit.
      amount:
        type: number
        description: Amount to transfer.
      currency:
        type: string
        description: ISO-4217 currency code of the transfer.
      description:
        type: string
        description: Free-text description of the transfer.
  steps:
  - stepId: checkSourceBalance
    description: >-
      Read the source account balance to confirm it holds sufficient funds
      before transferring.
    operationId: getAccountBalance
    parameters:
    - name: account_id
      in: path
      value: $inputs.fromAccount
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      balance: $response.body
  - stepId: createTransfer
    description: >-
      Create a transfer moving funds from the source account to the destination
      account.
    operationId: createTransfer
    requestBody:
      contentType: application/json
      payload:
        from_account: $inputs.fromAccount
        to_account: $inputs.toAccount
        amount: $inputs.amount
        currency: $inputs.currency
        description: $inputs.description
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      transferId: $response.body#/id
  - stepId: confirmTransfer
    description: >-
      Retrieve the transfer to confirm it settled.
    operationId: getTransfer
    parameters:
    - name: transfer_id
      in: path
      value: $steps.createTransfer.outputs.transferId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      transfer: $response.body
  outputs:
    transferId: $steps.createTransfer.outputs.transferId
    transfer: $steps.confirmTransfer.outputs.transfer