Saltar al contenido
Identificadores externos · external_id
Contrato OpenAPI 3.1: openapi.yaml
Referencia

Referencia: External IDs (identificadores externos)

Tu identificador para una reserva de WAT. Uno por integración: el ERP y el CRM pueden tener cada uno el suyo para la misma reserva.

GET/v1/bookings/{id}/external-id
bookings:readlinks:read

El enlace de esta integración para la reserva. Si no hay, external_id es null (no es un 404). Reserva ajena: 404.

ParámetroDóndeTipoDescripción
id *pathuuidUUID de la reserva (aquí no vale el número).

Petición

curl
curl https://wearetransfers.com/api/v1/bookings/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f/external-id \
  -H "Authorization: Bearer $WAT_API_KEY"

Respuesta (sin enlace todavía)

json
{
  "id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
  "entity": "booking",
  "external_id": null,
  "created_at": null,
  "updated_at": null
}
PUT/v1/bookings/{id}/external-id
bookings:readlinks:write

Guarda o sustituye tu id. Repetir la misma pareja es idempotente (200). Un external_id que ya apunta a otra reserva de esta integración es 409 conflict. Admite Idempotency-Key.

ParámetroDóndeTipoDescripción
id *pathuuidUUID de la reserva.
external_id *bodystringASCII imprimible, 1–200 caracteres.

Petición

curl
curl -X PUT https://wearetransfers.com/api/v1/bookings/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f/external-id \
  -H "Authorization: Bearer $WAT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"external_id":"VLC-2026-000123"}'

Respuesta

json
{
  "id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
  "entity": "booking",
  "external_id": "VLC-2026-000123",
  "created_at": "2026-09-18T09:30:00.000Z",
  "updated_at": "2026-09-18T09:30:00.000Z"
}
DELETE/v1/bookings/{id}/external-id
bookings:readlinks:write

Borra el enlace. Si no había, 404.

ParámetroDóndeTipoDescripción
id *pathuuidUUID de la reserva.

Petición

curl
curl -X DELETE https://wearetransfers.com/api/v1/bookings/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f/external-id \
  -H "Authorization: Bearer $WAT_API_KEY"

Respuesta

json
{
  "deleted": true
}

Buscar por tu id

Una vez guardado, GET /v1/bookings?external_id=VLC-2026-000123 devuelve esa reserva (lista de uno) o una lista vacía, y cada reserva de la lista normal trae su external_id. Ver la guía.

Reglas

ReglaDetalle
Uno por integración y entidadLa misma reserva puede tener un id distinto en cada integración. No se ven entre sí.
Único dentro de la integraciónDos reservas no pueden compartir external_id en la misma integración: 409 conflict.
SustituiblePUT con otro valor sobre la misma reserva lo cambia (200).
Solo reservas en v1Clientes, conductores y vehículos devuelven su external_id en la lectura, pero no hay endpoint para escribirlo todavía.
Conflicto

Ese id ya está en otra reserva de tu integración:

json
{
  "error": {
    "code": "conflict",
    "message": "Ese external_id ya está asociado a otro recurso de esta integración",
    "request_id": "req_9f8e7d6c5b4a39281706"
  }
}
Referencia: External IDs · API de WAT