Organización
Estados
CRUD de estados de paquete, otro y flota. El listado también devuelve envío.
| Método | Ruta | Permiso |
|---|---|---|
| GET | /org-api/v1/statuses | organization:read, packages:read o packages:write |
| GET | /org-api/v1/statuses/{id} | organization:read, packages:read o packages:write |
| POST | /org-api/v1/statuses | packages:write o organization:read |
| PATCH | /org-api/v1/statuses/{id} | packages:write o organization:read |
| DELETE | /org-api/v1/statuses/{id} | packages:write o organization:read |
Sin query el listado devuelve package, shipment, other y fleet. ?category=package deja solo los de paquete. El alta acepta package, other o fleet. shipment se puede leer si la empresa aún lo tiene, pero un POST o un PATCH con esa categoría responde 400. El id de uno de package es el itemStatusId al crear un paquete o un recibo. En el SDK es traky.statuses.
curl -sS -H "Authorization: Bearer TU_API_KEY" \
"{BASE_URL}/org-api/v1/statuses?category=package"Query
| Atributo | Tipo | Descripción |
|---|---|---|
| category | string | Opcional. package, shipment, other o fleet. Sin filtro devuelve las cuatro. |
Crear
Hacen falta label, description, category e icon. position va de 1 a 30. Si se omite, queda 1. isActive e isVisible, si se omiten, quedan en true. warehouseId y locationId son UUID de un office de la empresa. En un PATCH, null en uno de esos dos quita el vínculo. El borrado devuelve id y deleted: true.
{
"label": "En bodega",
"description": "El paquete está en la bodega",
"category": "package",
"icon": "package",
"position": 2
}Envoltorio
| Atributo | Tipo | Descripción |
|---|---|---|
| data | array | Estados de la empresa. Vacío si no hay ninguno. |
Atributos
retrieve, create y update devuelven un estado con esta forma, sin el envoltorio data.
| Atributo | Tipo | Descripción |
|---|---|---|
| id | string | UUID. En un paquete se envía como itemStatusId. |
| label | string | Nombre visible. |
| description | string | Descripción. Puede venir vacía. |
| position | number | Orden en el panel. De 1 a 30. |
| icon | string | Nombre del icono. Puede venir vacío. |
| category | string | package, shipment, other o fleet. |
| isActive | boolean | True si se puede usar en un alta. |
| isVisible | boolean | True si se muestra en el panel. |
| isHiddenFromClient | boolean | True si el cliente no lo ve en el tracking. |
| warehouseId | string | null | Bodega ligada. Null si no tiene. |
| locationId | string | null | Sucursal o bodega donde se recibe. Null si no tiene. |
| createdAt | string | null | Fecha de creación, ISO 8601. |
| updatedAt | string | null | Fecha de la última actualización, ISO 8601. |
JSON de retorno
{
"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"
}
]
}