Retiro a Venezuela
Envía USD mediante Pago Móvil o transferencia bancaria.
POST /withdraw/ve/ admite dos modalidades. En ambas, consulta primero
GET /withdraw/ve/banks/ y envía el código del banco seleccionado en bank_code.
currency_code debe enviarse como "USD". Los valores permitidos para document_type
son "4", "13", "14" y "15".
Consultar bancos
GET https://dev.cobru.co/withdraw/ve/banks/
Authorization: Bearer <access_token>
x-api-key: <api_key>La respuesta contiene los bancos disponibles en banks.data:
{
"success": true,
"banks": {
"status": "Success",
"statusCode": 200,
"message": "Lista de bancos obtenida exitosamente",
"data": [
{
"codigo": "0156",
"nombre": "100% BANCO",
"logo": "https://example.com/bank-logo.png"
}
]
}
}Envía codigo como bank_code. Consérvalo como texto para no perder ceros iniciales.
Consultar tasa y comisión
Antes de crear el retiro, consulta la tasa USD/VES y la comisión. Para obtener solo los
valores base, no envíes body ni amount. Esta respuesta fue verificada contra producción:
GET https://prod.cobru.co/withdraw/ve/rates/
Authorization: Bearer <access_token>
x-api-key: <api_key>{
"success": true,
"rates": {
"rate": 711.0,
"commission": 1.0
}
}Para cotizar un retiro, envía el monto en USD como query parameter:
GET https://prod.cobru.co/withdraw/ve/rates/?amount=333
Authorization: Bearer <access_token>
x-api-key: <api_key>{
"success": true,
"rates": {
"rate": 711.0,
"commission": 1.0,
"debit_amount": 334.0,
"ves_amount": 236763.0
}
}| Campo | Significado |
|---|---|
rate | Bolívares entregados por cada USD. |
commission | Comisión que se suma al débito en USD. |
debit_amount | Total a debitar en USD; solo aparece al enviar amount. |
ves_amount | Total a entregar en VES; solo aparece al enviar amount. |
En el ejemplo, amount=333, debit_amount=334.0 y ves_amount=236763.0. Si consultas sin
amount, usa únicamente rate y commission; debit_amount y ves_amount no aplican.
Caso 1: Pago Móvil
POST https://dev.cobru.co/withdraw/ve/
Content-Type: application/json
Authorization: Bearer <access_token>
x-api-key: <api_key>{
"amount": 1,
"is_movil_pay": true,
"document_type": "14",
"document": "15396329",
"phone": "0414249980",
"currency_code": "USD",
"bank_code": "0174"
}Validación del tipo de documento
Envía el código como texto. Cualquier valor distinto de "4", "13", "14" o "15"
devuelve 400 Bad Request.
{
"document_type": [
"Tipo de documento no válido para Venezuela. Códigos permitidos: 4, 13, 14, 15."
]
}Caso 2: transferencia bancaria
{
"amount": 20.00,
"is_movil_pay": false,
"document_type": "14",
"document": "18184460",
"account_holder_name": "Juan Perez",
"account_number": "01380040500400254789",
"currency_code": "USD",
"description": "Retiro VE prueba",
"callback": "https://example.com/webhooks/withdrawals",
"bank_code": "0138"
}| Campo | Pago Móvil | Transferencia bancaria |
|---|---|---|
is_movil_pay | true | false |
phone | requerido | no se envía |
account_holder_name | no se envía | requerido |
account_number | no se envía | requerido |
document_type, document, currency_code, bank_code y amount se envían en ambas
modalidades. Usa siempre "USD" en currency_code. La evidencia disponible muestra
description y callback como opcionales.
Respuesta de creación
El sandbox respondió 201 Created:
{
"amount": "8350.08",
"paid_amount": "20.00",
"fee": "7000.00",
"fee_iva": "1330.00",
"gmf": "0.08",
"id": 5055,
"success": true
}Guarda id y usa el callback para reconciliar cambios de estado. Estos valores pertenecen
a una prueba y no representan una tasa o comisión fija.