# Ordem de saque

## Gerando uma ordem de saque

<mark style="color:green;">`POST`</mark> `/api/partners/withdraw-order`

Utilize este endpoint para gerar uma ordem de saque, tanto para o recebimento via PIX, quanto para o recebimento via cripto.

**Headers**

| Key            | Value              | Description                 |
| -------------- | ------------------ | --------------------------- |
| `Content-Type` | `application/json` |                             |
| `x-client-id`  | `string`           | `clientId`  recebido.       |
| `x-timestamp`  | `string`           | UNIX timestamp em segundos. |
| `x-signature`  | `string`           | HMAC signature.             |

**Body**

<table><thead><tr><th width="271">Name</th><th width="98">Type</th><th width="379">Description</th></tr></thead><tbody><tr><td><code>partnerTransactionId</code></td><td><code>string</code></td><td>Identificador único das suas transações.</td></tr><tr><td><code>userId</code></td><td><code>string</code></td><td>Deve ser o mesmo userId do seu sistema ou que tenha uma correlação única, para maior compatibilidade nas transações web3.</td></tr><tr><td><code>userCpf</code></td><td><code>string</code></td><td>Obrigatório se a ordem de saque for do tipo:<br><code>PIX_WITHDRAW</code></td></tr><tr><td><code>userPixKey</code></td><td><code>string</code></td><td>Obrigatório se a ordem de saque for do tipo:<br><code>PIX_WITHDRAW</code></td></tr><tr><td><code>pixKeyType</code></td><td><code>string</code></td><td>Obrigatório se a ordem de saque for do tipo:<br><code>PIX_WITHDRAW</code><br> Os tipos de chave deverão ser:<br><code>EMAIL</code> ou <code>DOCUMENT</code>  ou <code>PHONE</code>  ou <code>RANDOM</code></td></tr><tr><td><code>userWalletAddress</code></td><td><code>string</code></td><td>Obrigatório se a ordem de saque for do tipo:<br> <code>CRYPTO_WITHDRAW</code></td></tr><tr><td><code>productName</code></td><td><code>string</code></td><td>Nome do produto ou serviço.</td></tr><tr><td><code>quantity</code></td><td><code>number</code></td><td>Quantidade do produto ou serviço.</td></tr><tr><td><code>unitPrice</code></td><td><code>number</code></td><td>Preço do produto ou serviço.</td></tr><tr><td><code>usdtAmount</code></td><td><code>number</code></td><td>Quantidade em Dolar a ser sacado.</td></tr><tr><td><code>withdrawalType</code></td><td><code>string</code></td><td><p>Tipo de saque:</p><p><code>PIX_WITHDRAW</code> ou <code>CRYPTO_WITHDRAW</code></p></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}
{% code overflow="wrap" %}

```json
{
    "status": true,
    "message": "Data fetched successfully",
    "data": {
        "ids": {
            "businessId": "BUSINESS",
            "partnerTransactionId": "abc12345678915",
            "internalTransactionId": "463545735988310410792181904123034233320984",
             "brCode": "00020101021226910014br.gov.bcb.pix2569qrcode.pix.celcoin.com.br/pixqrcode/v2/07f5813e5018f4660d7456eb956de95204000053039865802BR5923CNOP INTERMEDIACAO LTDA6014RIO DE JANEIRO62070503***63046DC4",
            "gatewayId": "kk6g232xel65a0daee4dd13kk2729226845"
        },
        "transactionPayload": {
            "userId": "user_001",
            "userCpf": "096.123.939-44",
            "productName": "Produto Teste 1",
            "quantity": 2,
            "unitPrice": 0.000003,
            "usdtAmount": 2.03,
            "reaisAmount": 13.23,
        },
        "transactionStatus": "WAITING_PAYMENT",
        "typeError": "NONE",
        "errorMessage": "NONE",
        "transactionType": "PIX_PURCHASE",
        "createdAt": "12/05/2025 18:57:28"
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="400" %}

```json
{
    "status": false,
    "message": {
        "quantity": [
            "Expected number, received string"
        ]
    }
}
```

{% endtab %}
{% endtabs %}

O parceiro deverá salvar na sua base de dados o `getewaiId`gerado na resposta da requisição para futuras consultas e conciliações de valores e transações.

o parâmetro `brCode` é o que chamamos de "copia e cola" e ele deverá ser usado para gerar o QRCODE para seu usuário pagador.
