Desarrollador

Estados

CRUD de estados de paquete, otro y flota. El listado también devuelve envío.

El id de un estado de paquete es el itemStatusId de packages.create y receipts.create. category en el alta es package, other o fleet. shipment se puede listar si la empresa aún lo tiene, pero ya no se puede crear ni cambiar a esa categoría.

Métodos

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

Listar

Llamadats
const statuses = await traky.statuses.list();
const packages = await traky.statuses.list({ category: "package" });
const one = await traky.statuses.retrieve(packages.data[0].id);

Query

AtributoTipoDescripción
categorystringOpcional. package, shipment, other o fleet. Sin filtro devuelve las cuatro.

Crear

El cuerpo es StatusCreate. Hacen falta label, description, category e icon. Sin position el API deja 1. isActive e isVisible, si se omiten, quedan en true.

Altats
const created = await traky.statuses.create({
  label: "En bodega",
  description: "El paquete está en la bodega",
  category: "package",
  icon: "package",
  position: 2,
});

await traky.statuses.update(created.id, { isHiddenFromClient: true });
await traky.statuses.delete(created.id);

Cuerpo de alta

AtributoTipoDescripción
labelstringObligatorio. Nombre visible.
descriptionstringObligatorio. Puede ir vacío.
categorystringObligatorio. package, other o fleet.
iconstringObligatorio. Nombre del icono.
positionnumberOrden en el panel. De 1 a 30. Por defecto 1.
isActivebooleanTrue si se puede usar en un alta.
isVisiblebooleanTrue si se muestra en el panel.
isHiddenFromClientbooleanTrue si el cliente no lo ve en el tracking.
warehouseIdstringBodega ligada. Sale de offices.list({ type: "warehouse" }).
locationIdstringSucursal o bodega de recepción. Sale de offices.list().

Actualizar

update envía solo los campos que cambian. El cuerpo es StatusWrite. warehouseId o locationId en null quita ese vínculo. El id va en el primer argumento.

Borrar

JSON de retornojson
{
  "id": "0b6c1a22-4e10-4a77-9c31-2d8e5b7a11c0",
  "deleted": true
}

Atributos

La forma es la de GET /org-api/v1/statuses y la de retrieve, create y update.

AtributoTipoDescripción
idstringUUID. Se envía como itemStatusId.
labelstringNombre visible.
descriptionstringDescripción. Puede venir vacía.
positionnumberOrden en el panel.
iconstringNombre del icono.
categorystringpackage, shipment, other o fleet.
isActivebooleanTrue si se puede usar en un alta.
isVisiblebooleanTrue si se muestra en el panel.
isHiddenFromClientbooleanTrue si el cliente no lo ve en el tracking.
warehouseIdstring | nullBodega ligada, si el estado es de una bodega.
locationIdstring | nullSucursal o bodega de recepción.
createdAtstring | nullFecha de creación, ISO 8601.
updatedAtstring | nullFecha de actualización, ISO 8601.

JSON de retorno

jsonjson
{
  "data": [
    {
      "id": "0b6c1a22-4e10-4a77-9c31-2d8e5b7a11c0",
      "label": "Recibido",
      "description": "El paquete llegó a la sucursal",
      "position": 1,
      "icon": "package",
      "category": "package",
      "isActive": true,
      "isVisible": true,
      "isHiddenFromClient": false,
      "warehouseId": null,
      "locationId": null,
      "createdAt": "2026-10-20T15:04:00.000Z",
      "updatedAt": "2026-10-24T12:10:00.000Z"
    }
  ]
}

Buscar en la documentación

Buscar páginas de la documentación