> ## Documentation Index
> Fetch the complete documentation index at: https://docs.velafi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Subir documentos de una orden

> Adjunta una factura o documentos de soporte a una orden específica. Obligatorio cuando una orden está en estado RFI o pendiente de entrega de documentos antes de su liberación.

Algunas órdenes necesitan documentos de soporte; por ejemplo, cuando cumplimiento solicita información (`status: 11`) o cuando la orden está esperando documentos de soporte (`status: 31`). Usa este endpoint para subir hasta cinco archivos por llamada. Los formatos aceptados son JPG, JPEG, PNG y PDF, con un tamaño máximo de 5 MB por archivo. Una carga a una orden en `status: 11` la mueve a `status: 12`. Para órdenes `fiat_to_crypto` y `crypto_to_fiat`, una carga a una orden en `status: 31` la mueve a `status: 40` (pago pendiente). Una orden `fiat_to_fiat` muestra `status: 31` solo mientras faltan sus documentos obligatorios; después de la carga muestra su estado subyacente (`41` o `51`). Las demás cargas en estados aceptados no cambian el estado; consulta la nota de abajo sobre qué cargas se adjuntan.

## Endpoint

```text theme={null}
POST https://api.velafi.com/v2/order/invoice
```

> [!NOTE]
>
> Usa `https://api-test.velafi.com/v2/order/invoice` para pruebas en sandbox.

## Headers de la solicitud

| Header | Valor |
| - | - |
| `X-BH-TOKEN` | Tu token obtenido de `GET /v2/token/generate` |
| `Content-Type` | `multipart/form-data` |

## Parámetros de la solicitud

**orderId** `integer` *required*

El ID numérico de la orden a la que se deben adjuntar los documentos.

**orderType** `string` *required*

El tipo de la orden. Debe ser uno de `fiat_to_crypto`, `crypto_to_fiat` o `fiat_to_fiat`.

**files** `file` *required*

Uno o más archivos para subir. Máximo 5 archivos por solicitud. Cada archivo debe pesar como máximo 5 MB. Formatos admitidos: `jpg`, `jpeg`, `png`, `pdf`.

## Campos de la respuesta

**code** `integer`

Código de estado de la respuesta. `200` indica éxito.

**msg** `string`

Mensaje de respuesta legible.

**data** `boolean`

`true` si los documentos se subieron correctamente.

## Ejemplo

```bash theme={null}
curl -X POST "https://api.velafi.com/v2/order/invoice" \
  -H "X-BH-TOKEN: YOUR_TOKEN" \
  -F "orderId=493829236956962816" \
  -F "orderType=fiat_to_crypto" \
  -F "files=@/path/to/invoice.pdf" \
  -F "files=@/path/to/receipt.jpg"
```

```json theme={null}
{
  "code": 200,
  "msg": "SUCCESS",
  "data": true
}
```

> [!WARNING]
>
> Las cargas solo se aceptan en estos estados: para órdenes `fiat_to_crypto` y `crypto_to_fiat`, `11`, `12`, `31`, `32`, `40`, `50` y `60`; para órdenes `fiat_to_fiat`, `10`, `11`, `12`, `31`, `41`, `51` y `60`. Las cargas a órdenes en cualquier otro estado devuelven un error. Consulta el estado actual con `GET /v2/order/detail` antes de subir archivos.

> [!NOTE]
>
> Límites de tamaño y cantidad de archivos: máximo **5 archivos** por solicitud de carga, máximo **5 MB** por archivo individual. Los formatos admitidos son `jpg`, `jpeg`, `png` y `pdf`.

> [!NOTE]
>
> Para órdenes `fiat_to_crypto` y `crypto_to_fiat` fuera de un RFI (`status: 11` o `12`), solo la primera carga se adjunta a la orden. Las cargas posteriores siguen devolviendo `data: true`, pero no se adjuntan. Durante un RFI, cada carga reemplaza los archivos de RFI subidos previamente.


## Related topics

- [Crear una orden de on-ramp](https://docs.velafi.com/es/api-reference/order/create-a-fiat-to-crypto-order.md)
- [Crear una orden de off-ramp](https://docs.velafi.com/es/api-reference/order/create-a-crypto-to-fiat-order.md)
- [Crear una orden de pago global](https://docs.velafi.com/es/api-reference/order/create-a-fiat-to-fiat-order.md)
- [Subir un archivo](https://docs.velafi.com/es/api-reference/basic-configuration/upload-file.md)
- [Estados de las órdenes](https://docs.velafi.com/es/docs/order-statuses.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.