# Consulta externa o inicialización de la orden

## Definido por el comercio

<mark style="color:green;">`POST`</mark> `La url o webhook lo define el comercio .`

El comercio prepara un endpoint para tomar como petición (request) y respuesta (response) la siguiente información:

#### Request Body

| Name             | Type   | Description                                                                                    |
| ---------------- | ------ | ---------------------------------------------------------------------------------------------- |
| otp              | string | Pin de operación u OTP                                                                         |
| document         | string | Número de documento de identidad del usuario final                                             |
| timestamp\_start | string | Tiempo de inicio de la transacción en formato Unix (segundos)                                  |
| checksum         | string | Cadena de comprobación, calculada con SHA512( document + otp + timestamp\_start + FIXED\_HASH) |

{% tabs %}
{% tab title="200 " %}

```
{
   “code”: “0000”,
   “text”: “OK”, 
   “data”:{
      “operation”: “123456789”, 
      “amount”: “30000”,
      “currency”: “COP”,
      “description”: “Operación CashOut+”, 
      “timestamp_end”: “1581370646”, 
      “transactionCost”: “2000”,
      “checksum”: “75535b719153109d34a7c09e1fe6ec266b0cce28870b9553b068ce643922599927ea9cc2fe90ee21105177bd32ce87a82be5b9bc6459f8d9f19c2dd592f90b39” 
   }
}

```

{% endtab %}
{% endtabs %}

**Es importante tener en cuenta que el valor de amount debe ser mayor a cero (0) y no debe contener cifras decimales.**

\* El monto indicado en transactionCost es solo informativo para el usuario final y no influye en el monto de la operación (amount), es decir, el monto total a desembolsar es el indicado en “amount”, independientemente del valor indicado en transactionCost

**Detalles de los datos de respuesta.**&#x20;

**code:** Indica el código del resultado. Si el código es “0000” indica un resultado sin error, si el código es diferente, el sistema indica el error en el campo tex&#x74;**.**\
**text:** Contiene el mensaje relacionado al code enviad&#x6F;**.**\
**data:** Contiene los datos de la operación cuando el code nos indica que no hay ningún error.

* **operation:** identificador de la operación, generado por el comercio (tiene una longitud máxima de 40 caracteres).
* **amount:** valor de la operación (no contiene cifras decimales).
* **currency:** código ISO de la divisa de la operación (tiene una longitud de 3 caracteres).
* **description:** descripción de la operación (tiene una longitud máxima de 50 caracteres).
* **timestamp\_end:** tiempo de transacción en formato Unix Timestamp (milisegundos).
* **transactionCost:** indica el costo que asume el usuario por realizar la transacción.
* **checksum:** cadena de comprobación, calculada con SHA512( operation + amount + currency + document + timestamp\_end + otp + FIXED\_HASH)

**Los códigos de la respuesta, pueden ser:**\
**“0000”:** OK\
**“0004”:** Monto inválido\
\&#xNAN;**“0005”:** Error de comunicación con el autorizador\
\&#xNAN;**“0006”:** Su transacción ha sido rechazada por el autorizador\
\&#xNAN;**“0007”:** Servicio de verificación indisponible\
\&#xNAN;**“0009”:** El checksum no es válido\
\&#xNAN;**“0013”:** No se pudo completar la transacción\
\&#xNAN;**“0019”:** Uno o varios datos no están configurados correctamente\
\&#xNAN;**“0020”:** Error al procesar los datos\
\&#xNAN;**“0024”:** Debe ingresar un número de operación válido\
\&#xNAN;**“0029”:** Debe indicar un monto válido\
\&#xNAN;**“0030”:** Debe indicar una moneda válida\
\&#xNAN;**“0031”:** Debe indicar una descripción válida\ <br>
