LOGAR COM: Email

Rendix - Vendas Externas

Rendix Pix International API Back to top

Rendix Pix International API

This document describes the Rendix API for international Pix payments. It is intended for partners integrating with Rendix to create sales, query exchange rates, track sales, process refunds, register merchants in batch, retrieve operation codes, download the terms document, and query clearing data.

All APIs follow the REST standard to ensure security and performance.

Sandbox Credentials

Partners receive sandbox credentials for both partner and merchant access.

Environment Credentials
Sandbox Access e-mail, password, and MerchantId for partner and merchant

Service Availability

Environment Availability
Sandbox 24x7

General Information

Status Codes

Status Code Message Description
200 OK Request processed successfully
400 Bad Request Invalid request, malformed parameter, or unexpected value
401 Unauthorized Authentication failure or insufficient permission
404 Not Found Resource identifier was not found
422 Unprocessable Entity Request contains invalid business data
500 Internal Server Error Unexpected internal server error

Authentication

All protected endpoints require a Bearer token returned by the authentication endpoint.

Example header:

Authorization: Bearer {token}

Authentication

Login

Authenticate
POST/efx/v2/externo/login

Generates an access token for partner or merchant users.

Example URI

POST https://apisandbox.agillitas.com.br/efx/v2/externo/login
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "email": "partner@example.com",
  "password": "StrongPassword123"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Partner or merchant e-mail used to authenticate."
    },
    "password": {
      "type": "string",
      "description": "Password associated with the informed e-mail."
    }
  },
  "required": [
    "email",
    "password"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Authentication successful",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example",
    "expiration": "2026-02-24T15:00:00Z",
    "expirationInMilliSeconds": 3600000
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the authentication request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "description": "JWT access token used in authenticated requests."
        },
        "expiration": {
          "type": "string",
          "description": "Token expiration date and time in UTC."
        },
        "expirationInMilliSeconds": {
          "type": "number",
          "description": "Token lifetime in milliseconds."
        }
      },
      "required": [
        "token",
        "expiration",
        "expirationInMilliSeconds"
      ],
      "description": "Authentication data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "Unauthorized"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates that the authentication request failed."
    },
    "message": {
      "type": "string",
      "description": "Authentication error message returned by the API."
    }
  },
  "required": [
    "success",
    "message"
  ]
}

Exchange Rates

Get Exchange Rate

Retrieve exchange rate
GET/efx/v2/externo/taxas{?merchantId,currencyCode}

Returns the exchange rate used to convert the transaction currency into BRL.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v2/externo/taxas?merchantId=20&currencyCode=USD
URI Parameters
HideShow
merchantId
number (required) Example: 20

Unique merchant identifier.

currencyCode
string (required) Example: USD

Sale currency in ISO 3-letter uppercase format.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Exchange rate retrieved successfully",
  "data": "5,2100"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "string",
      "description": "Exchange rate returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "Invalid merchantId or currencyCode"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates that the request was invalid."
    },
    "message": {
      "type": "string",
      "description": "Validation error message."
    }
  },
  "required": [
    "success",
    "message"
  ]
}

Sales

Create Sale with CPF

Create Pix sale
POST/efx/v2/externo/vender

Creates a Pix sale and returns the QR Code and Pix copy-paste payload.

Example URI

POST https://apisandbox.agillitas.com.br/efx/v2/externo/vender
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "merchantId": 20,
  "purchase": 100,
  "cpfCnpj": "12345678900",
  "customerAcceptedTerms": true,
  "controlNumber": "ORDER-ABC-123",
  "phone": "+5511999999999",
  "email": "buyer@example.com",
  "webhook": "https://partner.example.com/webhooks/rendix",
  "currencyCode": "USD",
  "operationCode": 1,
  "beneficiary": "Pedro Silva"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "merchantId": {
      "type": "number",
      "description": "Unique merchant identifier."
    },
    "purchase": {
      "type": "number",
      "description": "Sale amount in foreign currency."
    },
    "cpfCnpj": {
      "type": "string",
      "description": "Buyer document number. Use CPF for individual buyers."
    },
    "customerAcceptedTerms": {
      "type": "boolean",
      "description": "Indicates whether the buyer accepted the terms and conditions."
    },
    "controlNumber": {
      "type": "string",
      "description": "Partner sale control number."
    },
    "phone": {
      "type": "string",
      "description": "Buyer mobile phone number including country code."
    },
    "email": {
      "type": "string",
      "description": "Buyer e-mail address."
    },
    "webhook": {
      "type": "string",
      "description": "Callback endpoint used to notify sale status changes."
    },
    "currencyCode": {
      "type": "string",
      "description": "Sale currency in ISO 3-letter uppercase format."
    },
    "operationCode": {
      "type": "number",
      "description": "BACEN operation code. Required when the partner has more than one available operation type."
    },
    "beneficiary": {
      "type": "string",
      "description": "Beneficiary name associated with the sale."
    }
  },
  "required": [
    "merchantId",
    "purchase",
    "cpfCnpj",
    "controlNumber",
    "phone",
    "webhook",
    "currencyCode"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Sale created successfully",
  "data": {
    "pixCopyPaste": "00020101021226840014br.gov.bcb.pix2562...",
    "saleID": 12345,
    "qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
    "priceNationalCurrency": 520,
    "currency": "USD",
    "vetTax": 5.2,
    "qrCodeExpiration": "2026-02-24T18:05:00Z",
    "creditCardPayment": {
      "qrCodeCheckout": "iVBORw0KGgoAAAANSUhEUgAA...",
      "urlCheckout": "https://checkout.example.com/pay/12345",
      "installmentOptions": [
        {
          "installmentQuantity": 1,
          "installmentValue": 520,
          "vetTax": 5.2,
          "totalAmount": 520
        },
        {
          "installmentQuantity": 2,
          "installmentValue": 265,
          "vetTax": 5.2,
          "totalAmount": 530
        }
      ]
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "pixCopyPaste": {
          "type": "string",
          "description": "Pix payload for copy-and-paste payment."
        },
        "saleID": {
          "type": "number",
          "description": "Unique sale identifier."
        },
        "qrCodeBase64": {
          "type": "string",
          "description": "QR Code image encoded in Base64."
        },
        "priceNationalCurrency": {
          "type": "number",
          "description": "Sale amount converted to BRL."
        },
        "currency": {
          "type": "string",
          "description": "Sale currency."
        },
        "vetTax": {
          "type": "number",
          "description": "Exchange rate applied to the sale."
        },
        "qrCodeExpiration": {
          "type": "string",
          "description": "QR Code expiration date and time in UTC."
        },
        "creditCardPayment": {
          "type": "object",
          "properties": {
            "qrCodeCheckout": {
              "type": "string",
              "description": "Credit card checkout QR Code encoded in Base64."
            },
            "urlCheckout": {
              "type": "string",
              "description": "Credit card checkout URL."
            },
            "installmentOptions": {
              "type": "array",
              "description": "Available installment options for the sale."
            }
          },
          "description": "Additional credit card payment information when this payment method is available."
        }
      },
      "required": [
        "pixCopyPaste",
        "saleID",
        "qrCodeBase64",
        "priceNationalCurrency",
        "currency",
        "vetTax",
        "qrCodeExpiration"
      ],
      "description": "Sale data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "Unprocessable Entity"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates that the request could not be processed."
    },
    "message": {
      "type": "string",
      "description": "Validation or business rule error message."
    }
  },
  "required": [
    "success",
    "message"
  ]
}

Create Sale with CNPJ

Create Pix sale using company document
POST/efx/v2/externo/vender/cnpj

Creates a Pix sale using the buyer company document (CNPJ).

Example URI

POST https://apisandbox.agillitas.com.br/efx/v2/externo/vender/cnpj
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "merchantId": 20,
  "purchase": 100,
  "cpfCnpj": "12345678000199",
  "customerAcceptedTerms": true,
  "controlNumber": "ORDER-CNPJ-001",
  "phone": "+5511999999999",
  "email": "buyer@example.com",
  "webhook": "https://partner.example.com/webhooks/rendix",
  "currencyCode": "USD",
  "operationCode": 1,
  "beneficiary": "Pedro Silva"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "merchantId": {
      "type": "number",
      "description": "Unique merchant identifier."
    },
    "purchase": {
      "type": "number",
      "description": "Sale amount in foreign currency."
    },
    "cpfCnpj": {
      "type": "string",
      "description": "Buyer company document number using CNPJ format."
    },
    "customerAcceptedTerms": {
      "type": "boolean",
      "description": "Indicates whether the buyer accepted the terms and conditions."
    },
    "controlNumber": {
      "type": "string",
      "description": "Partner sale control number."
    },
    "phone": {
      "type": "string",
      "description": "Buyer mobile phone number including country code."
    },
    "email": {
      "type": "string",
      "description": "Buyer e-mail address."
    },
    "webhook": {
      "type": "string",
      "description": "Callback endpoint used to notify sale status changes."
    },
    "currencyCode": {
      "type": "string",
      "description": "Sale currency in ISO 3-letter uppercase format."
    },
    "operationCode": {
      "type": "number",
      "description": "BACEN operation code."
    },
    "beneficiary": {
      "type": "string",
      "description": "Beneficiary name associated with the sale."
    }
  },
  "required": [
    "merchantId",
    "purchase",
    "cpfCnpj",
    "controlNumber",
    "phone",
    "webhook",
    "currencyCode"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Sale created successfully",
  "data": {
    "saleID": 12346,
    "pixCopyPaste": "00020101021226840014br.gov.bcb.pix2562...",
    "qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA..."
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "saleID": {
          "type": "number",
          "description": "Unique sale identifier."
        },
        "pixCopyPaste": {
          "type": "string",
          "description": "Pix payload for copy-and-paste payment."
        },
        "qrCodeBase64": {
          "type": "string",
          "description": "QR Code image encoded in Base64."
        }
      },
      "required": [
        "saleID",
        "pixCopyPaste",
        "qrCodeBase64"
      ],
      "description": "Sale data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}

Get Sale by Id

Retrieve sale status
GET/efx/v1/externo/vender/{id}

Returns the current sale data and status.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/vender/12345
URI Parameters
HideShow
id
number (required) Example: 12345

Unique sale identifier.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Sale retrieved successfully",
  "data": {
    "status": 3,
    "priceNationalCurrency": 520,
    "priceInForeignCurrency": 100,
    "controlNumber": "ORDER-ABC-123",
    "currency": "USD",
    "vetTax": 5.2,
    "paymentReversal": {
      "requestDate": "2026-02-24T19:00:00Z",
      "status": "Processed"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the query was successful."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "status": {
          "type": "number",
          "description": "Sale status code."
        },
        "priceNationalCurrency": {
          "type": "number",
          "description": "Sale amount in BRL."
        },
        "priceInForeignCurrency": {
          "type": "number",
          "description": "Sale amount in foreign currency."
        },
        "controlNumber": {
          "type": "string",
          "description": "Partner control number associated with the sale."
        },
        "currency": {
          "type": "string",
          "description": "Sale currency."
        },
        "vetTax": {
          "type": "number",
          "description": "Exchange rate applied to the sale."
        },
        "paymentReversal": {
          "type": "object",
          "properties": {
            "requestDate": {
              "type": "string",
              "description": "Refund request date and time in UTC."
            },
            "status": {
              "type": "string",
              "description": "Refund processing status."
            }
          },
          "description": "Refund information when a refund was requested."
        }
      },
      "required": [
        "status",
        "priceNationalCurrency",
        "priceInForeignCurrency",
        "controlNumber",
        "currency",
        "vetTax"
      ],
      "description": "Sale data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "Sale not found"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates that the informed sale was not found."
    },
    "message": {
      "type": "string",
      "description": "Error message returned by the API."
    }
  },
  "required": [
    "success",
    "message"
  ]
}

Sales Business Rules

The following business rules apply to sales:

  • Sales created through /efx/v2/externo/vender expire after 5 minutes if they are not paid.

  • Sales created through /efx/v1/externo/link expire after 5 days if they are not paid.

  • When a sale expires without payment, a new sale must be created to generate a new QR Code or payment link.

Cancelled Sale Status

A sale can be canceled or refunded under the following circumstances:

Status Description
4 Sale canceled by the system or operator
6 Sale canceled without Pix payment after QR Code expiration
8 Sale canceled due to CPF divergence (payer differs from buyer)
12 Sale canceled after Pix payment and Pix refund processed
13 Sale canceled due to CNPJ divergence
15 Sale canceled with refund completed to credit card
16 Sale canceled due to CPF divergence - Pix refund in progress
17 Sale canceled due to CPF divergence - Pix refund completed
18 Sale canceled due to CPF divergence - Contact support for manual handling

Refunds

Get Refund Details

Retrieve refund details
GET/efx/v1/externo/vender/processar-reembolso/{saleId}{?refund}

Returns the refund details before confirming a full or partial refund.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/vender/processar-reembolso/2151?refund=20
URI Parameters
HideShow
saleId
number (required) Example: 2151

Unique paid sale identifier.

refund
number (required) Example: 20

Refund amount in merchant currency.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Refund details retrieved successfully",
  "data": {
    "saleId": 2151,
    "refundAmount": 20,
    "currency": "USD",
    "estimatedNationalCurrencyRefund": 104
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "saleId": {
          "type": "number",
          "description": "Unique sale identifier."
        },
        "refundAmount": {
          "type": "number",
          "description": "Refund amount requested in merchant currency."
        },
        "currency": {
          "type": "string",
          "description": "Currency of the sale."
        },
        "estimatedNationalCurrencyRefund": {
          "type": "number",
          "description": "Estimated refund amount converted to BRL."
        }
      },
      "required": [
        "saleId",
        "refundAmount",
        "currency",
        "estimatedNationalCurrencyRefund"
      ],
      "description": "Refund simulation data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}

Cancel Sale and Refund Pix

Refund paid sale
PATCH/efx/v1/vender/cancelar/{id}

Cancels a paid sale and processes a total or partial Pix refund.

Example URI

PATCH https://apisandbox.agillitas.com.br/efx/v1/vender/cancelar/2151
URI Parameters
HideShow
id
number (required) Example: 2151

Unique paid sale identifier.

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "refund": {
    "amount": 100
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "refund": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "description": "Refund amount to be returned to the buyer."
        }
      },
      "required": [
        "amount"
      ],
      "description": "Refund payload sent to the API."
    }
  },
  "required": [
    "refund"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Refund processed successfully",
  "data": {
    "saleId": 2151,
    "priceInNationalCurrency": 520,
    "priceInForeignCurrency": 100,
    "status": 12,
    "currency": "USD",
    "refundNationalCurrency": 520
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the refund was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "saleId": {
          "type": "number",
          "description": "Unique sale identifier."
        },
        "priceInNationalCurrency": {
          "type": "number",
          "description": "Original sale amount in BRL."
        },
        "priceInForeignCurrency": {
          "type": "number",
          "description": "Original sale amount in foreign currency."
        },
        "status": {
          "type": "number",
          "description": "Updated sale status code after refund."
        },
        "currency": {
          "type": "string",
          "description": "Sale currency."
        },
        "refundNationalCurrency": {
          "type": "number",
          "description": "Refund amount in BRL."
        }
      },
      "required": [
        "saleId",
        "priceInNationalCurrency",
        "priceInForeignCurrency",
        "status",
        "currency",
        "refundNationalCurrency"
      ],
      "description": "Refund result data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "Refund could not be processed"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates that the refund request failed."
    },
    "message": {
      "type": "string",
      "description": "Validation or business rule error message."
    }
  },
  "required": [
    "success",
    "message"
  ]
}

Refund Business Rules

Refund Error Scenarios

Typical refund-related errors described for the API include:

Status Code Message Description
422 Unprocessable Entity Refund amount not informed
401 Unauthorized Merchant has no permission to refund
422 Unprocessable Entity No available balance to refund the sale
422 Unprocessable Entity Invalid SaleId
422 Unprocessable Entity Sale was not paid
422 Unprocessable Entity Sale has already been refunded
422 Unprocessable Entity Refund amount is greater than the original sale amount
422 Unprocessable Entity Sale is already cancelled
500 Internal Server Error Unexpected internal server error

Merchants

Register Merchants in Batch

Upload merchant batch file
POST/efx/v1/externo/estabelecimentos/lote

Allows a partner master user to register one or many merchants by uploading an Excel file. The uploaded spreadsheet is validated and processed, and the resulting MerchantIds are returned after processing.

Example URI

POST https://apisandbox.agillitas.com.br/efx/v1/externo/estabelecimentos/lote
Request
HideShow
Headers
Content-Type: multipart/form-data
Authorization: Bearer {token}
Body
file: merchants.xlsx
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Batch created successfully",
  "data": {
    "id": 1,
    "date": "2026-02-24T20:00:00Z",
    "user": "Merchant Corporate Name",
    "count": 50,
    "batchName": "Batch-001",
    "partnerId": 100,
    "status": "AWAITING"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the batch file was accepted successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "Unique batch identifier."
        },
        "date": {
          "type": "string",
          "description": "Batch creation date and time in UTC."
        },
        "user": {
          "type": "string",
          "description": "User or merchant reference associated with the batch."
        },
        "count": {
          "type": "number",
          "description": "Number of merchants included in the batch."
        },
        "batchName": {
          "type": "string",
          "description": "Batch display name."
        },
        "partnerId": {
          "type": "number",
          "description": "Unique partner identifier."
        },
        "status": {
          "type": "string",
          "description": "Batch processing status."
        }
      },
      "required": [
        "id",
        "date",
        "user",
        "count",
        "batchName",
        "partnerId",
        "status"
      ],
      "description": "Batch processing data returned by the API."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}

Get Merchant Batch

Retrieve merchant batch status
GET/efx/v1/externo/estabelecimentos/lote/{id}{?page,elements}

Returns the merchants processed in a batch file.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/estabelecimentos/lote/1?page=0&elements=10
URI Parameters
HideShow
id
number (required) Example: 1

Batch identifier.

page
number (required) Example: 0

Zero-based page index.

elements
number (required) Example: 10

Number of items per page.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "totalItems": 2,
  "totalPerPage": 10,
  "totalCurrentPage": 2,
  "data": [
    {
      "id": 101,
      "razaoSocial": "Merchant One",
      "nif": "123456789",
      "email": "merchant1@example.com",
      "status": "FINISHED",
      "parceiroId": 100,
      "dataProcessamento": "2026-02-24T20:05:00Z"
    },
    {
      "id": 102,
      "razaoSocial": "Merchant Two",
      "nif": "987654321",
      "email": "merchant2@example.com",
      "status": "ERROR",
      "parceiroId": 100,
      "dataProcessamento": "2026-02-24T20:05:10Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "totalItems": {
      "type": "number",
      "description": "Total number of merchants returned by the query."
    },
    "totalPerPage": {
      "type": "number",
      "description": "Number of items configured per page."
    },
    "totalCurrentPage": {
      "type": "number",
      "description": "Number of items returned on the current page."
    },
    "data": {
      "type": "array",
      "description": "Merchant records processed in the batch."
    }
  },
  "required": [
    "totalItems",
    "totalPerPage",
    "totalCurrentPage",
    "data"
  ]
}

Merchant Batch Rules

Merchant Batch File Rules

Accepted file format:

  • .xlsx

Expected spreadsheet fields:

Field Description Rule
CorporateName Merchant legal name Required
NIF Tax identification number Required
Street Merchant street Required
City Merchant city Required
PostalCode Postal code Required
Number Street number Required
State Merchant state Required
Country Country code with 2 characters, for example PY, AR Required
Currency Merchant currency in ISO 3-letter uppercase format Conditionally optional
OperationCode Merchant operation code Conditionally optional
Email Merchant e-mail Optional

Conditional rules:

  • Currency may be omitted only when the merchant operates with a single currency.

  • OperationCode may be omitted only when the merchant operates with a single operation type.

Operation code values mentioned in the source document:

  • 1 - Goods and Services

  • 2 - Unilateral Transfers

  • 3 - Same ownership account transfer between country and foreign account

  • 4 - Withdrawals

Merchant Batch Status Values

Status Description
AWAITING Waiting for merchant batch registration
FINISHED Batch registration completed
ERROR Registration failed because of file inconsistencies
DOUBLEDED Duplicate NIF and e-mail prevented registration

Operation Codes

Get Operation Codes

Retrieve operation codes
GET/efx/v1/externo/codigos-operacao

Returns the operation nature codes available for sale transactions.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/codigos-operacao
Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Operation codes retrieved successfully",
  "data": [
    {
      "id": 1,
      "naturezaOperacaoBacenID": "Goods and Services",
      "iof": 0.38,
      "dataInicioVigencia": "2025-01-01T00:00:00Z"
    },
    {
      "id": 4,
      "naturezaOperacaoBacenID": "Withdrawals",
      "iof": 1.1,
      "dataInicioVigencia": "2025-01-01T00:00:00Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the request was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "array",
      "description": "Available BACEN operation codes."
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}

Terms and Conditions

Get Terms and Conditions

Retrieve terms document
GET/efx/gerenciador/venda/v1/vendas/termo

Returns the Terms and Conditions PDF encoded in Base64.

Example URI

GET https://apisandbox.agillitas.com.br/efx/gerenciador/venda/v1/vendas/termo
Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "fileContents": "JVBERi0xLjQKJcTl8uXrp...",
  "contentType": "application/pdf",
  "fileDownloadName": "terms-and-conditions.pdf",
  "lastModified": "2026-02-24T00:00:00Z",
  "entityTag": "abc123etag",
  "enableRangeProcessing": false
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "fileContents": {
      "type": "string",
      "description": "PDF content encoded in Base64."
    },
    "contentType": {
      "type": "string",
      "description": "MIME type of the returned file."
    },
    "fileDownloadName": {
      "type": "string",
      "description": "Suggested file name for download."
    },
    "lastModified": {
      "type": "string",
      "description": "Last modification date and time in UTC."
    },
    "entityTag": {
      "type": "string",
      "description": "Entity tag associated with the file version."
    },
    "enableRangeProcessing": {
      "type": "boolean",
      "description": "Indicates whether range processing is enabled."
    }
  },
  "required": [
    "fileContents",
    "contentType",
    "fileDownloadName",
    "enableRangeProcessing"
  ]
}

Clearing

Get Clearing Report

Retrieve clearing report
GET/efx/v1/externo/liquidacao{?TransactionStartDate,TransactionEndDate,CurrentPage,ItemsPerPage,MerchantId,CurrencyCode}

Returns clearing and reconciliation information for closed sales.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/liquidacao?TransactionStartDate=2023-06-02&TransactionEndDate=2023-06-03&CurrentPage=0&ItemsPerPage=10&MerchantId=3&CurrencyCode=USD
URI Parameters
HideShow
TransactionStartDate
string (required) Example: 2023-06-02

Initial transaction date in ISO format.

TransactionEndDate
string (required) Example: 2023-06-03

Final transaction date in ISO format.

CurrentPage
number (required) Example: 0

Zero-based page index.

ItemsPerPage
number (required) Example: 10

Number of items per page.

MerchantId
number (optional) Example: 3

Merchant identifier.

CurrencyCode
string (required) Example: USD

Currency code in ISO 3-letter uppercase format.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "totalItems": 1,
  "itemsPerPage": 10,
  "currentPageTotal": 1,
  "totalTransactions": 1,
  "totalPurchaseValue": 200,
  "data": [
    {
      "merchantId": 3,
      "merchantCode": "12345678000199",
      "nif": "12345678000199",
      "merchantName": "Merchant Example",
      "purchaseValue": 200,
      "partnerMdr": 2.5,
      "agillitasMdr": 1.2,
      "netValue": 196.3,
      "operationValue": 1040,
      "vetTax": 5.2,
      "spotExchangeRate": 5.3,
      "transactionId": "TX123456789",
      "transactionDate": "2026-02-24T12:00:00Z",
      "liquidationDate": "2026-02-25T12:00:00Z",
      "buyerCnpj": "12345678000199",
      "incomeTax": 1.5,
      "valueWithoutIncomeTax": 198.5,
      "localTax": 0.7,
      "partnerTariff": 0.5,
      "valueForExchange": 197.8,
      "netAmount": 196.3,
      "effectiveOperationFee": 0.2,
      "agillitasEFXFee": 0.1,
      "partnerEFXFee": 0.1,
      "spreadBrsa": 0.3,
      "controlNumber": "ORDER-ABC-123",
      "exchangeClosingDate": "2026-02-24",
      "currency": "USD"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "totalItems": {
      "type": "number",
      "description": "Total number of records returned by the query."
    },
    "itemsPerPage": {
      "type": "number",
      "description": "Number of items configured per page."
    },
    "currentPageTotal": {
      "type": "number",
      "description": "Number of records returned on the current page."
    },
    "totalTransactions": {
      "type": "number",
      "description": "Total number of transactions in the result set."
    },
    "totalPurchaseValue": {
      "type": "number",
      "description": "Total purchase value of the result set."
    },
    "data": {
      "type": "array",
      "description": "Clearing records returned by the API."
    }
  },
  "required": [
    "totalItems",
    "itemsPerPage",
    "currentPageTotal",
    "totalTransactions",
    "totalPurchaseValue",
    "data"
  ]
}

Sales Query

Get Sales

Retrieve sales
GET/efx/v1/externo/vendas{?SalesStatus,DateSaleStart,DateSaleEnd,OperatorId,PaymentLink,FilterByShopkeeper,CurrencyId,TransactionTypeBy,CurrentPage,QuantityPerPage,Filter}

Returns sales according to the supplied filters.

Example URI

GET https://apisandbox.agillitas.com.br/efx/v1/externo/vendas?SalesStatus=3&DateSaleStart=2024-05-01&DateSaleEnd=2024-10-01&OperatorId=10&PaymentLink=false&FilterByShopkeeper=false&CurrencyId=164&TransactionTypeBy=4&CurrentPage=0&QuantityPerPage=10&Filter=abc123
URI Parameters
HideShow
SalesStatus
number (optional) Example: 3

Sale status.

DateSaleStart
string (required) Example: 2024-05-01

Initial sale date in ISO format.

DateSaleEnd
string (required) Example: 2024-10-01

Final sale date in ISO format.

OperatorId
number (optional) Example: 10

Merchant or operator identifier.

PaymentLink
boolean (optional) Example: false

Whether the sale was created by payment link.

FilterByShopkeeper
boolean (required) Example: false

Whether to filter by merchant.

CurrencyId
number (required) Example: 164

Currency identifier.

TransactionTypeBy
number (required) Example: 4

BACEN transaction type identifier.

CurrentPage
number (required) Example: 0

Current page.

QuantityPerPage
number (optional) Example: 10

Items per page.

Filter
string (optional) Example: abc123

Additional free-text filter.

Request
HideShow
Headers
Authorization: Bearer {token}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "totalSalesValue": 1000,
  "totalItems": 1,
  "totalPerPage": 10,
  "currentPage": 0,
  "totalCurrentPage": 1,
  "data": [
    {
      "id": 12345,
      "merchantId": 20,
      "shopkeeperNIF": "12345678000199",
      "shopkeeperCorporateName": "Merchant Example",
      "partnerId": 100,
      "namePartner": "Partner Example",
      "controlNumber": "ORDER-ABC-123",
      "cpfBuyer": "12345678900",
      "cpfPayer": "12345678900",
      "nameBuyer": "John Buyer",
      "emailBuyer": "buyer@example.com",
      "operatorId": 20,
      "operatorName": "Merchant Example",
      "dateTimeSale": "2026-02-24T12:00:00Z",
      "dateTimePayment": "2026-02-24T12:03:00Z",
      "status": 3,
      "dateTax": "2026-02-25T00:00:00Z",
      "endToEndId": "E123456789",
      "link": "https://pay.example.com/abc",
      "dateTimeExpirationLink": "2026-03-01T12:00:00Z",
      "dateTimeExpirationQrCode": "2026-02-24T12:05:00Z",
      "description": "Travel purchase",
      "tokenLinkPayment": "TOKEN123",
      "paymentMethod": 1,
      "paymentMethodDescriptive": "PIX",
      "statusDescriptive": "Paid",
      "nationalCurrencyValue": 520,
      "foreignCurrencyValue": 100,
      "dollarCurrencyValue": 100,
      "currencyId": 164,
      "currency": "USD",
      "currencyDescription": "US Dollar",
      "partnerRemunerationRate": 2.5,
      "remunerationTaxAgilitas": 0.5,
      "spreadBancoRendimento": 0.2,
      "spreadAgillitas": 0.1,
      "mdr": 1.5,
      "taxId": 10,
      "taxVet": 5.2,
      "txId": "TX123456789",
      "transfer": 520,
      "shopkeeperName": "Merchant Example",
      "cellphoneBuyer": "+5511999999999",
      "nf": "12345678000199",
      "external": true,
      "urlWebhook": "https://partner.example.com/webhooks/rendix",
      "paymentLink": false,
      "copyPastePix": "00020101021226840014br.gov.bcb.pix2562...",
      "payerName": "John Buyer",
      "expiration": "2026-02-24T12:05:00Z",
      "allowCancelSale": true,
      "transactionTypeBacenId": 4,
      "transactionType": "Withdrawals"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "totalSalesValue": {
      "type": "number",
      "description": "Total value of the returned sales."
    },
    "totalItems": {
      "type": "number",
      "description": "Total number of sales found by the query."
    },
    "totalPerPage": {
      "type": "number",
      "description": "Number of items configured per page."
    },
    "currentPage": {
      "type": "number",
      "description": "Current page index."
    },
    "totalCurrentPage": {
      "type": "number",
      "description": "Number of items returned on the current page."
    },
    "data": {
      "type": "array",
      "description": "Sales returned by the API."
    }
  },
  "required": [
    "totalSalesValue",
    "totalItems",
    "totalPerPage",
    "currentPage",
    "totalCurrentPage",
    "data"
  ]
}

Sale Status Codes

Sale Status Reference

The table below lists all possible status codes that a sale transaction can assume during its lifecycle:

Status Name Description & Scenario
1 Open Sale initiated in the system, awaiting generation or payment processing
2 Awaiting Return Sale created, awaiting payment of the QR Code or Payment Link
3 Paid Buyer’s payment was confirmed and cleared successfully
4 Canceled Sale canceled manually or by the system
5 Payment Expired The payment timeframe for the sale expired before completion
6 Sale Canceled Without Pix Sale canceled after QR Code or Link expiration without Pix receipt
7 Sale Timeout Timeout exceeded during transaction processing
8 Canceled - CPF Divergence Sale canceled because the payer CPF differs from the buyer CPF
9 Payer Limit Exceeded Sale canceled because the payer’s transaction limit was exceeded
10 Restrictive Payer CPF Payer CPF has a restriction imposed by compliance rules
11 Webhook Processing Error An error occurred while processing the Webhook notification
12 Sale Canceled with Pix Refunded Sale canceled after successful payment and Pix refund processed
13 Canceled - CNPJ Divergence Sale canceled because the payer CNPJ differs from the buying company CNPJ
14 Restrictive Payer CNPJ Payer CNPJ has a restriction imposed by compliance rules
15 Canceled - Credit Card Refund Sale canceled with the corresponding refund processed on a credit card
16 Canceled CPF Divergence - Refund in Progress Sale canceled due to CPF divergence with the Pix refund in progress
17 Canceled CPF Divergence - Refund Completed Sale canceled due to CPF divergence with the Pix refund finalized
18 Canceled CPF Divergence - Contact Support Automatic refund failed due to CPF divergence; manual support triggered

Pix Payments

Environment restriction: The three endpoints in this group are available exclusively in non-production environments, such as development, testing, homologation, and sandbox. They must not be called or exposed in the production environment.

The endpoints in this group support individual Pix payment processing, batch Pix payment processing, and batch sale creation for subsequent payment.

Individual Pix Payment

Non-production only: This endpoint is not available in the production environment.

Process individual Pix payment
POST/v1/pagamentos/pix/unitario

Processes the Pix payment notification for a single sale and forwards the payment data to the configured collection service.

Example URI

POST https://apisandbox.agillitas.com.br/v1/pagamentos/pix/unitario
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "idVenda": 12345,
  "valor": 100,
  "cpf": "12345678900",
  "nome": "John Buyer"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "idVenda": {
      "type": "number",
      "description": "Unique sale identifier."
    },
    "valor": {
      "type": "number",
      "description": "Pix payment amount."
    },
    "cpf": {
      "type": "string",
      "description": "Payer CPF or CNPJ, with or without formatting characters."
    },
    "nome": {
      "type": "string",
      "description": "Payer name."
    }
  },
  "required": [
    "idVenda",
    "valor",
    "cpf",
    "nome"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Request processed successfully",
  "data": {
    "idVenda": 12345,
    "txId": "TX123456789",
    "endToEndId": "E123456789",
    "url": "https://collection.example.com/webhook"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the payment was processed successfully."
    },
    "message": {
      "type": "string",
      "description": "Human-readable response message."
    },
    "data": {
      "type": "object",
      "properties": {
        "idVenda": {
          "type": "number",
          "description": "Sale identifier."
        },
        "txId": {
          "type": "string",
          "description": "Pix transaction identifier associated with the sale."
        },
        "endToEndId": {
          "type": "string",
          "description": "Pix end-to-end identifier."
        },
        "url": {
          "type": "string",
          "description": "Destination used to forward the payment notification."
        }
      },
      "required": [
        "idVenda",
        "txId",
        "endToEndId",
        "url"
      ]
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "The payment could not be processed",
  "data": "Invalid sale, missing TxId, or invalid payment data"
}

Batch Pix Payments

Non-production only: This endpoint is not available in the production environment.

Process Pix payments in batch
POST/v1/pagamentos/pix/lote/pagamentos

Accepts a control number and a list of payer documents, finds the related sales, and starts asynchronous Pix payment processing. The API returns immediately while the batch continues in the background.

The implementation processes sales in blocks of up to 500 records and limits concurrent submissions to 10 operations.

Example URI

POST https://apisandbox.agillitas.com.br/v1/pagamentos/pix/lote/pagamentos
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "numeroControle": "BATCH-2026-001",
  "idLojista": 20,
  "cpfs": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "numeroControle": {
      "type": "string",
      "description": "Control number used to locate the sales included in the batch."
    },
    "idLojista": {
      "type": "number",
      "description": "Merchant identifier used together with the control number."
    },
    "cpfs": {
      "type": "array",
      "description": "CPF values assigned to the Pix payments. Formatting characters are removed and duplicate values are ignored."
    }
  },
  "required": [
    "numeroControle",
    "idLojista",
    "cpfs"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "The payment batch was received and is being processed.",
  "data": {
    "numeroControle": "BATCH-2026-001",
    "totalEncontrado": 1000,
    "status": "PROCESSING"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the batch was accepted."
    },
    "message": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "numeroControle": {
          "type": "string",
          "description": "Batch control number."
        },
        "totalEncontrado": {
          "type": "number",
          "description": "Number of sales found for processing."
        },
        "status": {
          "type": "string",
          "description": "Current batch status."
        }
      },
      "required": [
        "numeroControle",
        "totalEncontrado",
        "status"
      ]
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "No sales were found for the supplied control number.",
  "data": "BATCH-2026-001"
}

Batch Sale Creation

Non-production only: This endpoint is not available in the production environment.

Create sales in batch
POST/v1/pagamentos/pix/lote/vendas

Creates multiple sales in a single request for the Pix batch-payment flow. Each item must contain its own partner control number and the data required to create the sale.

Example URI

POST https://apisandbox.agillitas.com.br/v1/pagamentos/pix/lote/vendas
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer {token}
Body
{
  "numeroControle": "BATCH-2026-001",
  "vendas": [
    {
      "merchantId": 20,
      "purchase": 100,
      "cpfCnpj": "12345678900",
      "customerAcceptedTerms": true,
      "controlNumber": "ORDER-001",
      "phone": "+5511999999999",
      "email": "buyer@example.com",
      "webhook": "https://partner.example.com/webhooks/rendix",
      "currencyCode": "USD",
      "operationCode": 1,
      "beneficiary": "Pedro Silva"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "numeroControle": {
      "type": "string",
      "description": "Control number that identifies the sale batch."
    },
    "vendas": {
      "type": "array",
      "description": "Sales to be created."
    }
  },
  "required": [
    "numeroControle",
    "vendas"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "The sale batch was received and is being processed.",
  "data": {
    "numeroControle": "BATCH-2026-001",
    "totalRecebido": 1,
    "status": "PROCESSING"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Indicates whether the sale batch was accepted."
    },
    "message": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "numeroControle": {
          "type": "string",
          "description": "Batch control number."
        },
        "totalRecebido": {
          "type": "number",
          "description": "Number of sales received."
        },
        "status": {
          "type": "string",
          "description": "Current batch status."
        }
      },
      "required": [
        "numeroControle",
        "totalRecebido",
        "status"
      ]
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "success": false,
  "message": "The sale batch could not be accepted.",
  "data": "Invalid or empty sales list"
}

Support

Integration Support

The Rendix team is available to support partners during integration and usage of the available APIs. Contact the Integration team through the official support channels defined by Rendix.

Generated by aglio on 20 Aug 2026

English