Saltar al contenido
API v1 · https://bentho.org/api
POST/api/mod/ventas/{espacio}/inventory/sale

Registra una venta confirmada

Descuenta del inventario lo que se vendió fuera del chat (tu tienda, tu caja). Con una referencia de venta, un reintento no descuenta dos veces.

  • PERMISOescribe
  • CRÉDITOSno gasta
  • AUTENTICACIÓNBearer bth_…

PARÁMETROS

CAMPOTIPOREQUERIDOQUÉ ES
espaciostringSÍEl id del espacio (sale en GET /api/companies). Tiene que tener el módulo Ventas.

CUERPO · JSON

CAMPOTIPOREQUERIDOQUÉ ES
lines[{ sku, cantidad }]SÍLo vendido. cantidad, texto decimal; por defecto "1".
sale_refstringnoTu número de venta o de pedido. Con la misma referencia, la segunda llamada devuelve el resultado de la primera sin descontar.
session_idstringnoLa conversación de la que salió la venta, si la hubo.

RESPUESTA 200

Con el inventario propio de Ventas:

CAMPOTIPOQUÉ ES
confirmados[{ sku, cantidad, restante, external_id }]Lo que se descontó y lo que queda.
no_encontradosstring[]SKU que no están en el inventario: no se descontó nada de ellos.
alegraobject | nullSi el espacio tiene conectada su contabilidad Alegra con escritura activada, el resultado de descontarlo allí; si no, pushed: false y el motivo.
status"ok"Hecho.
idempotent_replaytrueSolo si esa sale_ref ya se había registrado: es el resultado de entonces.

ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}

STATUSCUÁNDODETAIL LITERAL
403El espacio no tiene el módulo Ventasmódulo no habilitado para este espacio.
403La clave es de solo lecturaTu cuenta es de solo lectura en este espacio.
400lines viene vacíosin líneas de venta.
422Falta un campo obligatorio o uno no es de su tipo (detail es una lista)—
502Con el inventario en Productos: Productos no respondióProductos: …

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

  • Las ventas que cierra el agente ya descuentan solas al confirmarse el pago: no las registres otra vez.
  • Con el stock en Productos (inventario_delegado), la venta la registra Productos y la respuesta es la suya.
  • Las cantidades y los importes van como texto decimal ("12", "2.5"), no como número: un número da 422.