POST
/api/mod/contabilidad/{espacio}/stock/write-backDescuenta una venta del stock
Resta del inventario de tu software lo que se vendió. Solo si autorizaste write_back_stock y solo con Alegra. Nunca da error por tu software: si no pudo, lo dice en pushed y reason.
- 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 Contabilidad. |
CUERPO · JSON
| CAMPO | TIPO | REQUERIDO | QUÉ ES |
|---|---|---|---|
| lines | [{ external_id, cantidad }] | SÍ | Lo vendido: el id del artículo en tu software y las unidades, como texto (por defecto "1"). Las líneas sin external_id se saltan. |
| fecha | string | no | La fecha del ajuste, AAAA-MM-DD. Por defecto, hoy. |
RESPUESTA 200
| CAMPO | TIPO | QUÉ ES |
|---|---|---|
| pushed | boolean | true si tu software lo descontó. |
| reason | string | Solo si no: write_back_desactivado, sin_items_con_external_id, sin_proveedor, proveedor_sin_write_back_stock (tu software no lo permite) o error_proveedor. |
| error | string | Con sin_proveedor o error_proveedor: el motivo. |
| items | integer | Si se descontó: cuántas líneas. |
| resultado | object | Si se descontó: ok, external_id (el ajuste en tu software), estado (adjusted) y raw. |
ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}
| STATUS | CUÁNDO | DETAIL LITERAL |
|---|---|---|
| 403 | El espacio no tiene el módulo Contabilidad | módulo no habilitado para este espacio. |
| 403 | La clave es de solo lectura | Tu cuenta es de solo lectura en este espacio. |
| 502 | El módulo no está disponible en este momento: reintenta en unos minutos | — |
| 422 | Falta un campo obligatorio o uno no tiene 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
- Siempre resta: la cantidad se toma en positivo y se descuenta. Va directo a tu software, sin pasar por la cola, y no se reintenta: si falla, vuelve a llamarla.