Desarrollador

Recibos

CRUD de recibos. Un recibo agrupa los paquetes P1, P2… del mismo código.

Un recibo es el grupo de paquetes que comparten código (WR… o WHR…). El id del recibo es el id del primer paquete. retrieve, update y delete aceptan el id de cualquier pieza y la respuesta usa el de P1. packages.delete borra una pieza. receipts.delete borra el recibo completo.

Métodos

MétodoHTTPScope
receipts.list()GET /org-api/v1/receiptspackages:read
receipts.retrieve(id)GET /org-api/v1/receipts/:idpackages:read
receipts.create(body)POST /org-api/v1/receiptspackages:write o organization:read
receipts.update(id, body)PATCH /org-api/v1/receipts/:idpackages:write o organization:read
receipts.delete(id)DELETE /org-api/v1/receipts/:idpackages:write o organization:read

Listar

Cada fila es un recibo. El listado no trae packages. page empieza en 1.

Llamadats
const page = await traky.receipts.list({
  page: 1,
  limit: 20,
  trackingNumber: "WR00001204",
});
QueryTipoDescripción
pagenumberPágina. Por defecto 1.
limitnumberTamaño de página.
trackingNumberstringFiltra por rastreo o código de recibo.
locationIdstringSucursal.
customerIdstringDestinatario.
shipperIdstringRemitente.
itemStatusIdstringEstado.

Crear

El cuerpo es ReceiptCreate. Hacen falta registrationDate, locationId, itemStatusId y packages con al menos un tracking. Sin externalReceiptCode el API reserva un WR. La primera pieza es P1. El recibo acepta hasta 50 piezas.

Altats
const receipt = await traky.receipts.create({
  registrationDate: new Date().toISOString(),
  locationId: office.id,
  itemStatusId: status.id,
  warehouseComments: "Frágil",
  packages: [
    { trackingNumber: "1Z111", weight: 1, comments: "Ropa" },
    { trackingNumber: "1Z222", weight: 2 },
  ],
});

Actualizar

Los campos de la cabecera se copian a todas las piezas. packages cambia una pieza que ya existe, por su id. No agrega ni quita piezas: para P2 usa packages.create con receiptSerialNumber y para quitar una pieza usa packages.delete.

Cambiots
await traky.receipts.update(receipt.id, {
  comments: "Ropa",
  packages: [{ id: second.id, weight: 4 }],
});

Borrar

tsts
const removed = await traky.receipts.delete(receipt.id);
JSON de retornojson
{
  "id": "c3a1e8b2-6f40-4a11-9d22-1b0c7e5a44d8",
  "deleted": true,
  "deletedCount": 2
}

Atributos del recibo

AtributoTipoDescripción
idstringId de P1.
receiptNumberstring | nullCódigo WR o warehouse WHR….
serialNumbernumber | nullSecuencia del recibo.
packageCountnumberCantidad de piezas.
totalWeightnumberSuma de pesos.
totalPiecesnumberSuma de piezas.
totalDeclaredValuenumberSuma del valor declarado.
isLockedbooleanTrue si el recibo no se puede editar.
trackingNumbersstring | nullRastreos unidos por coma.
packagesPackage[]Piezas. Solo en retrieve, create y update.

Buscar en la documentación

Buscar páginas de la documentación