Pedidos y distribución

Direcciones, pedidos, importación desde planillas, seguimiento y códigos de entrega.

Crear una dirección

POSThttps://api.drometra.com/v1/distribution/locations

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Cuerpo

nameobligatoriostring
addressobligatoriostring
coordinateobligatorioobject
precisionobligatorioenum: address | street | area | manual
geocodingobject

Respuesta · 201

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • namestringsiempre
  • addressstringsiempre
  • objectsiempre
  • precisionenum: address | street | area | manualsiempre
  • object o nullsiempre
  • createdAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/locations" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "…",
    "address": "…",
    "coordinate": {},
    "precision": "…"
  }'
respuesta · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "name": "…",
  "address": "…",
  "coordinate": {
    "latitude": 0,
    "longitude": 0
  },
  "precision": "address",
  "geocoding": {
    "provenance": {
      "kind": "nominatim",
      "engine": "…",
      "engineVersion": "…",
      "dataVersion": "…",
      "coverage": {
        "id": "…",
        "status": "covered"
      }
    },
    "label": "…"
  },
  "createdAt": "2026-10-21T14:02:31Z"
}

Listar direcciones

GEThttps://api.drometra.com/v1/distribution/locations

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

limitinteger

Respuesta · 200

  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/locations" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "name": "…",
      "address": "…",
      "coordinate": {
        "latitude": 0,
        "longitude": 0
      },
      "precision": "address",
      "geocoding": {
        "provenance": {
          "kind": "nominatim",
          "engine": "…",
          "engineVersion": "…",
          "dataVersion": "…",
          "coverage": {}
        },
        "label": "…"
      },
      "createdAt": "2026-10-21T14:02:31Z"
    }
  ]
}

Crear un pedido

POSThttps://api.drometra.com/v1/distribution/orders

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Cuerpo

referenceobligatoriostring
locationIdobligatoriostring · uuid
demandobligatoriointeger
serviceSecondsobligatoriointeger
windowobligatorioobject
notesstring
recipientobject
parcelsarray de object
linesarray de object
customerIdstring · uuid

Respuesta · 201

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • referencestringsiempre
  • objectsiempre
  • demandintegersiempre
  • serviceSecondsintegersiempre
  • objectsiempre
  • notesstring o nullsiempre
  • object o nullsiempre
  • array de objectsiempre
  • stateenum: open | cancelledsiempre
  • objectsiempre
  • array de objectsiempre
  • customerIdstring · uuid o nullsiempre
  • invoiceIntentIdstring · uuid o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/orders" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "…",
    "locationId": "…",
    "demand": 0,
    "serviceSeconds": 0,
    "window": {}
  }'
respuesta · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "location": {
    "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "name": "…",
    "address": "…",
    "coordinate": {
      "latitude": 0,
      "longitude": 0
    },
    "precision": "address",
    "geocoding": {
      "provenance": {
        "kind": "nominatim",
        "engine": "…",
        "engineVersion": "…",
        "dataVersion": "…",
        "coverage": {
          "id": "…",
          "status": "covered"
        }
      },
      "label": "…"
    },
    "createdAt": "2026-10-21T14:02:31Z"
  },
  "demand": 0,
  "serviceSeconds": 0,
  "window": {
    "startsAt": "2026-10-21T14:02:31Z",
    "endsAt": "2026-10-21T14:02:31Z"
  },
  "notes": "…",
  "recipient": {
    "name": "…",
    "phone": "…",
    "email": "…"
  },
  "parcels": [
    {
      "code": "…",
      "description": "…"
    }
  ],
  "state": "open",
  "planning": {
    "status": "unplanned",
    "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "vehicleId": "…"
  },
  "lines": [
    {
      "position": 50.5,
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…"
    }
  ],
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z"
}

Listar pedidos

GEThttps://api.drometra.com/v1/distribution/orders

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

limitinteger

Respuesta · 200

  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/orders" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "reference": "…",
      "location": {
        "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "name": "…",
        "address": "…",
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        },
        "createdAt": "2026-10-21T14:02:31Z"
      },
      "demand": 0,
      "serviceSeconds": 0,
      "window": {
        "startsAt": "2026-10-21T14:02:31Z",
        "endsAt": "2026-10-21T14:02:31Z"
      },
      "notes": "…",
      "recipient": {
        "name": "…",
        "phone": "…",
        "email": "…"
      },
      "parcels": [
        {
          "code": "…",
          "description": "…"
        }
      ],
      "state": "open",
      "planning": {
        "status": "unplanned",
        "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "vehicleId": "…"
      },
      "lines": [
        {
          "position": 50.5,
          "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
          "description": "…",
          "quantity": "…",
          "unitPriceMinor": "…"
        }
      ],
      "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "createdAt": "2026-10-21T14:02:31Z"
    }
  ]
}

Cancelar un pedido

POSThttps://api.drometra.com/v1/distribution/orders/{id}/cancel

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Cuerpo

versionobligatoriointeger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • referencestringsiempre
  • objectsiempre
  • demandintegersiempre
  • serviceSecondsintegersiempre
  • objectsiempre
  • notesstring o nullsiempre
  • object o nullsiempre
  • array de objectsiempre
  • stateenum: open | cancelledsiempre
  • objectsiempre
  • array de objectsiempre
  • customerIdstring · uuid o nullsiempre
  • invoiceIntentIdstring · uuid o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/cancel" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "location": {
    "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "name": "…",
    "address": "…",
    "coordinate": {
      "latitude": 0,
      "longitude": 0
    },
    "precision": "address",
    "geocoding": {
      "provenance": {
        "kind": "nominatim",
        "engine": "…",
        "engineVersion": "…",
        "dataVersion": "…",
        "coverage": {
          "id": "…",
          "status": "covered"
        }
      },
      "label": "…"
    },
    "createdAt": "2026-10-21T14:02:31Z"
  },
  "demand": 0,
  "serviceSeconds": 0,
  "window": {
    "startsAt": "2026-10-21T14:02:31Z",
    "endsAt": "2026-10-21T14:02:31Z"
  },
  "notes": "…",
  "recipient": {
    "name": "…",
    "phone": "…",
    "email": "…"
  },
  "parcels": [
    {
      "code": "…",
      "description": "…"
    }
  ],
  "state": "open",
  "planning": {
    "status": "unplanned",
    "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
    "vehicleId": "…"
  },
  "lines": [
    {
      "position": 50.5,
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…"
    }
  ],
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "invoiceIntentId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z"
}

Previsualizar un plan de reparto

POSThttps://api.drometra.com/v1/distribution/plan-previews

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Cuerpo

profileobligatorioenum: car | truck | bicycle | pedestrian
depotobligatorioobject
vehiclesobligatorioarray de object
maxComputationMsinteger
vehicleobject
orderIdsobligatorioarray de string · uuid

Respuesta · 201

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • stateenum: ready | approvedsiempre
  • versionintegersiempre
  • profileenum: car | truck | bicycle | pedestriansiempre
  • objectsiempre
  • array de objectsiempre
  • objectsiempre
  • objectsiempre
  • createdAtstring · date-timesiempre
  • approvedAtstring · date-time o nullsiempre
  • routePlanIdstring · uuid o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/plan-previews" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "profile": "…",
    "depot": {},
    "vehicles": [],
    "orderIds": []
  }'
respuesta · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "state": "ready",
  "version": 1,
  "profile": "car",
  "solution": {
    "feasible": true,
    "timedOut": true,
    "optimal": false,
    "routes": [
      {
        "vehicleId": "…",
        "fleetVehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
        "orderedStops": [],
        "distanceMeters": 0,
        "durationSeconds": 0
      }
    ],
    "unassigned": [
      {
        "id": "…",
        "reason": "capacity_exceeded"
      }
    ],
    "totalDistanceMeters": 0,
    "totalDurationSeconds": 0,
    "baselineDistanceMeters": 0,
    "improvementMeters": 0
  },
  "roadRoutes": [
    {
      "vehicleId": "…",
      "fleetVehicleId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "route": {
        "profile": "car",
        "waypoints": [],
        "geometry": {
          "type": "LineString",
          "coordinates": []
        },
        "distanceMeters": 0,
        "durationSeconds": 0,
        "estimated": true,
        "trafficIncluded": false,
        "provenance": {
          "kind": "valhalla",
          "engine": "…",
          "engineVersion": "…",
          "graphVersion": "…",
          "coverage": {},
          "roadNetwork": true
        },
        "ferryMeters": 0
      }
    }
  ],
  "matrixProvenance": {
    "kind": "valhalla",
    "engine": "…",
    "engineVersion": "…",
    "graphVersion": "…",
    "coverage": {
      "id": "…",
      "status": "covered"
    },
    "roadNetwork": true
  },
  "solver": {
    "name": "…",
    "maxComputationMs": 1000.5,
    "optimal": false
  },
  "createdAt": "2026-10-21T14:02:31Z",
  "approvedAt": "2026-10-21T14:02:31Z",
  "routePlanId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d"
}

Importar pedidos desde una planilla

POSThttps://api.drometra.com/v1/distribution/imports

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Cuerpo

kindobligatoriostring
fileNameobligatoriostring
contentBase64obligatoriostring

Respuesta · 201

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/imports" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "…",
    "fileName": "…",
    "contentBase64": "…"
  }'
respuesta · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Listar importaciones

GEThttps://api.drometra.com/v1/distribution/imports

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

limitinteger

Respuesta · 200

  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/imports" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "kind": "orders",
      "fileName": "…",
      "fileSha256": "…",
      "encoding": "utf-8",
      "delimiter": ",",
      "state": "validated",
      "warnings": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "counts": {
        "total": 250,
        "valid": 250,
        "needsGeocoding": 250,
        "needsReview": 250,
        "error": 250,
        "duplicate": 250,
        "excluded": 250,
        "created": 250,
        "skippedDuplicate": 250
      },
      "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "createdAt": "2026-10-21T14:02:31Z",
      "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "committedAt": "2026-10-21T14:02:31Z",
      "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "discardedAt": "2026-10-21T14:02:31Z",
      "expiresAt": "2026-10-21T14:02:31Z",
      "version": 1
    }
  ]
}

Ver una importación

GEThttps://api.drometra.com/v1/distribution/imports/{id}

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Parámetros de consulta

afterRowinteger
rowLimitinteger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Ubicar las direcciones de una importación

POSThttps://api.drometra.com/v1/distribution/imports/{id}/geocode

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/geocode" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{}'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Resolver una fila de una importación

POSThttps://api.drometra.com/v1/distribution/imports/{id}/rows/{rowNumber}/resolution

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d
rowNumberobligatoriointeger

Cuerpo

versionobligatoriointeger
actionobligatorioenum: candidate | coordinate | exclude | include
candidateIndexinteger
coordinateobject

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/rows/<rowNumber>/resolution" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0,
    "action": "…"
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Confirmar una importación

POSThttps://api.drometra.com/v1/distribution/imports/{id}/commit

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Cuerpo

versionobligatoriointeger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/commit" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Descartar una importación

POSThttps://api.drometra.com/v1/distribution/imports/{id}/discard

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Cuerpo

versionobligatoriointeger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • kindstringsiempre
  • fileNamestringsiempre
  • fileSha256stringsiempre
  • encodingenum: utf-8 | windows-1252siempre
  • delimiterenum: , | ;siempre
  • stateenum: validated | committed | discardedsiempre
  • array de objectsiempre
  • objectsiempre
  • createdBystring · uuidsiempre
  • createdAtstring · date-timesiempre
  • committedBystring · uuid o nullsiempre
  • committedAtstring · date-time o nullsiempre
  • discardedBystring · uuid o nullsiempre
  • discardedAtstring · date-time o nullsiempre
  • expiresAtstring · date-timesiempre
  • versionintegersiempre
  • array de objectsiempre
  • nextRowinteger o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/imports/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/discard" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "kind": "orders",
  "fileName": "…",
  "fileSha256": "…",
  "encoding": "utf-8",
  "delimiter": ",",
  "state": "validated",
  "warnings": [
    {
      "code": "missing_value",
      "column": "…",
      "severity": "error"
    }
  ],
  "counts": {
    "total": 250,
    "valid": 250,
    "needsGeocoding": 250,
    "needsReview": 250,
    "error": 250,
    "duplicate": 250,
    "excluded": 250,
    "created": 250,
    "skippedDuplicate": 250
  },
  "createdBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "createdAt": "2026-10-21T14:02:31Z",
  "committedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "committedAt": "2026-10-21T14:02:31Z",
  "discardedBy": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "discardedAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "version": 1,
  "rows": [
    {
      "rowNumber": 50001,
      "reference": "…",
      "status": "valid",
      "issues": [
        {
          "code": "missing_value",
          "column": "…",
          "severity": "error"
        }
      ],
      "location": {
        "coordinate": {
          "latitude": 0,
          "longitude": 0
        },
        "precision": "address",
        "geocoding": {
          "provenance": {},
          "label": "…"
        }
      },
      "candidates": [
        {
          "label": "…",
          "coordinate": {},
          "precision": "address",
          "address": {}
        }
      ],
      "existingOrderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "version": 1,
      "summary": {
        "locationName": "…",
        "address": "…",
        "date": "…",
        "window": {
          "startsAt": "2026-10-21T14:02:31Z",
          "endsAt": "2026-10-21T14:02:31Z"
        }
      }
    }
  ],
  "nextRow": 50001
}

Exportar pedidos

GEThttps://api.drometra.com/v1/distribution/exports/orders

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

fromstring
tostring
stateenum: open | cancelled | all

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/exports/orders" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
(text/csv)

Ver el código de entrega de un pedido

GEThttps://api.drometra.com/v1/distribution/orders/{id}/delivery-code

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • orderIdstring · uuidsiempre
  • referencestringsiempre
  • codestringsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/delivery-code" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "code": "…"
}

Listar entregas de pedidos

GEThttps://api.drometra.com/v1/distribution/orders/deliveries

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

limitinteger

Respuesta · 200

  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/orders/deliveries" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "outcome": "pending",
      "at": "2026-10-21T14:02:31Z",
      "serviceDate": "…",
      "routeId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "stopId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "routeState": "assigned"
    }
  ]
}

Ver los eventos de un pedido

GEThttps://api.drometra.com/v1/distribution/orders/{id}/events

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • orderIdstring · uuidsiempre
  • truncatedbooleansiempre
  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/events" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "truncated": true,
  "items": [
    {
      "type": "route_assigned",
      "occurredAt": "2026-10-21T14:02:31Z",
      "receivedAt": "2026-10-21T14:02:31Z",
      "routeId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "stopId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "serviceDate": "…",
      "author": {
        "kind": "company",
        "name": "…"
      }
    }
  ]
}

Crear el enlace de seguimiento

POSThttps://api.drometra.com/v1/distribution/orders/{id}/tracking-link

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 201

  • orderIdstring · uuidsiempre
  • referencestringsiempre
  • activebooleansiempre
  • createdAtstring · date-timesiempre
  • expiresAtstring · date-timesiempre
  • revokedAtstring · date-time o nullsiempre
  • lastOpenedAtstring · date-time o nullsiempre
  • openCountintegersiempre
  • previewCountintegersiempre
  • urlstring · urisiempre
  • messagestringsiempre
  • whatsappUrlstring · urisiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/tracking-link" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Accept: application/json"
respuesta · 201
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "active": true,
  "createdAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "revokedAt": "2026-10-21T14:02:31Z",
  "lastOpenedAt": "2026-10-21T14:02:31Z",
  "openCount": 0,
  "previewCount": 0,
  "url": "https://empresa.cl/webhooks/drometra",
  "message": "…",
  "whatsappUrl": "https://empresa.cl/webhooks/drometra"
}

Revocar el enlace de seguimiento

POSThttps://api.drometra.com/v1/distribution/orders/{id}/tracking-link/revoke

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • orderIdstring · uuidsiempre
  • referencestringsiempre
  • activebooleansiempre
  • createdAtstring · date-timesiempre
  • expiresAtstring · date-timesiempre
  • revokedAtstring · date-time o nullsiempre
  • lastOpenedAtstring · date-time o nullsiempre
  • openCountintegersiempre
  • previewCountintegersiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/distribution/orders/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/tracking-link/revoke" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "orderId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "reference": "…",
  "active": true,
  "createdAt": "2026-10-21T14:02:31Z",
  "expiresAt": "2026-10-21T14:02:31Z",
  "revokedAt": "2026-10-21T14:02:31Z",
  "lastOpenedAt": "2026-10-21T14:02:31Z",
  "openCount": 0,
  "previewCount": 0
}