Últimos cambios a la API de Handy
La API de Handy es actualizada con mejoras de vez en cuando.
Hacemos todo lo posible para que sean mejoras que NO rompen integraciones ya desarrolladas. Si esto llegar a suceder, te lo haremos saber, pero es muy raro
Los cambios que pueden romper integraciones, aparecen en rojo.
Si quieres monitorear los cambios, puedes usar nuestro feed de RSS: changes.rss
Octubre 2026
- API v2
Endpoint de conciliación de pedidos
Se agregó
GET /salesOrder/{salesOrderId}/reconciliation, que devuelve en una sola llamada el estado de conciliación de un pedido: las entregas asociadas con los cobros que se les aplicaron y, cuando el pedido es una venta en ruta, si tiene cobros asociados y si ya está pagado totalmente.La respuesta trae cuatro bloques:
salesOrder,deliveries,routeSale(esnullsi el pedido no es venta en ruta) ysummary, que resume el veredicto enhasDelivery,hasPayment,fullyPaidypendingBalance.Puntos a tener en cuenta al consumirlo:
- Para decidir si está pagado usa
summary.fullyPaidorouteSale.pendingBalance, nopaymentStatus: en ventas en ruta a crédito anteriores al motor de cobros ese campo puede venir ennull. - Las entregas canceladas se incluyen con
deletedentruepara poder revertir el asiento; los contadores desummaryya las excluyen. - Una entrega con
consolidatedentruelleva varios pedidos, y entonces sus montos corresponden a toda la entrega y no solo al pedido consultado. creditNotesAppliedes el monto cubierto con notas de crédito: una entrega o venta puede quedar pagada sin un solo cobro.
Fecha de creación del pedido en los cobros de
/paymentLogEn la respuesta de
GET /paymentLogyGET /paymentLog/{id}se agregó la fecha de creación del pedido a los cobros aplicados:- En
salesOrderPayments[], dentro desalesOrder:dateCreatedymobileDateCreated. - En
deliveryPayments[], dentro dedelivery: el arreglosalesOrdersInfocon{ id, dateCreated, mobileDateCreated }por cada pedido de la entrega.
delivery.salesOrdersno cambia: sigue siendo la lista de identificadores. - Para decidir si está pagado usa
Septiembre 2026
- API v2
Más información de promociones y descuentos por producto
Promociones (
/promotion):- Se agregaron los campos
status(active,pausedofinished) yrangeType(regularodynamic). - Nuevo endpoint
GET /promotion/{id}para obtener una sola promoción.
Descuentos por producto (
/productDiscount):- Se agregaron los campos
customerZonesycustomerCategoriescon elidy ladescriptionde cada zona y categoría. Los camposcustomerZonesIdsycustomerCategoriesIdsse conservan. - Se documentaron
GET /productDiscount/{id},GET /product/{code}/productDiscounty los atributoszones,categories,showDatesRanges,startDateValidyendDateValidpara crear y actualizar.
- Se agregaron los campos
Julio 2026
- API v2
Endpoints para crear, editar y deshabilitar pagos
Se agregaron tres endpoints sobre
/paymentLogpara administrar cobranzas:POST /paymentLog— crea un pago. Valida eltype(cashpor default,check,wire_transfer,debit_card,credit_card) y bloquea con422los pagos que excedan el saldo del cliente cuando la compañía no permite sobrepago.PUT /paymentLog/{id}— edita un pago. Igual que en la web, deshabilita el pago original y crea uno nuevo coneditedFromapuntando al original; la respuesta es el pago nuevo.POST /paymentLog/disable/{id}— deshabilita un pago (operación de una sola vía, idempotente).