POST
/api/mod/facturacion/{espacio}/review-queue/{comprobante}/approveAprueba un comprobante
Das el pago por bueno. La venta se confirma en Productos (descuenta el stock y consume la reserva) y la orden pasa a paid.
- PERMISOescribe
- CRÉDITOSno gasta
- AUTENTICACIÓNBearer bth_…
PARÁMETROS
| CAMPO | TIPO | REQUERIDO | QUÉ ES |
|---|---|---|---|
| espacio | string | SÍ | El id del espacio (sale en GET /api/companies). Tiene que tener el módulo Facturación. |
| comprobante | string | SÍ | El id del comprobante: el evidence_id que devolvió subirlo, o el id de la cola (32 caracteres hexadecimales). |
CUERPO · JSON
| CAMPO | TIPO | REQUERIDO | QUÉ ES |
|---|---|---|---|
| revisor | string | SÍ | Quién lo aprueba: un nombre o un email. Queda en la historia de la orden. |
RESPUESTA 200
| CAMPO | TIPO | QUÉ ES |
|---|---|---|
| evidence | object | null | El comprobante, ya en approved, con revisor y revisado_at. null si la orden ya estaba pagada. |
| estado_orden | string | paid (o fulfilled si ya lo estaba). |
| venta | object | null | La venta en Productos: confirmados (cada variante con cantidad y el stock restante), no_encontrados y status. |
| idempotente | boolean | Solo si la orden ya estaba pagada: no se repitió nada. |
ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}
| STATUS | CUÁNDO | DETAIL LITERAL |
|---|---|---|
| 403 | El espacio no tiene el módulo Facturación | módulo no habilitado para este espacio. |
| 403 | La clave es de solo lectura | Tu cuenta es de solo lectura en este espacio. |
| 404 | No hay un comprobante con ese id en el espacio | evidencia no encontrada. |
| 500 | La orden ya no admite pago: vencida, cancelada o rechazada por otro comprobante. No se cobra nada | Error interno del servidor. |
| 502 | Productos no confirmó la venta. La orden no se marca pagada: reintenta | No se pudo confirmar la venta en productos; reintenta. |
| 422 | Falta un campo obligatorio o uno no es de su tipo (detail es una lista) | — |
Y los de cualquier ruta —clave inválida, cuenta no al día, IP, límites—, en Errores, límites y créditos.
CONVIENE SABER
- Aprobar dos veces no cobra dos veces: la segunda responde
idempotente: truesin tocar nada. - Si en la configuración encendiste
emitir_factura_contable, la factura sale hacia Contabilidad. Si eso falla, la orden queda pagada igual. - Mira antes el archivo y
reglas_jsonde la cola: un pantallazo no es prueba de pago por sí solo.