Saltar al contenido
SendIt está en desarrollo y todavía no opera comercialmente · SendIt is in development and not yet commercially available.
SendItdocs
Español
Esc
navigateopen⌘Jpreview
En esta página

Direcciones y validación

Direcciones a nivel colonia, validación contra catálogos oficiales y búsqueda de códigos postales.

Las direcciones mexicanas se modelan a nivel colonia, que es la granularidad que usan las paqueterías. SendIt valida contra el catálogo oficial de SEPOMEX y te da autocompletado de colonias para tus formularios.

Guarda direcciones reutilizables

Método Ruta Alcance Descripción
POST /v1/addresses addresses:write Crear una dirección
GET /v1/addresses addresses:read Listar direcciones
GET /v1/addresses/:id addresses:read Obtener una dirección
PATCH /v1/addresses/:id addresses:write Actualizar una dirección
DELETE /v1/addresses/:id addresses:write Eliminar (borrado suave)
POST /v1/addresses/:id/validate addresses:write Validar una dirección guardada

Parámetros del cuerpo

PropType
contactNamestring

Máximo 100 caracteres.

Typestring
contactPhonestring

Formato E.164 (+52...), máximo 20 caracteres.

Typestring
contactEmail?string

Correo de contacto válido.

Typestring
company?string

Máximo 100 caracteres.

Typestring
streetstring

Máximo 200 caracteres.

Typestring
exteriorNumberstring

Máximo 20 caracteres.

Typestring
interiorNumber?string

Máximo 20 caracteres.

Typestring
neighborhoodstring

La colonia. Valídala con los endpoints de códigos postales.

Typestring
citystring

Máximo 100 caracteres.

Typestring
statestring

Acepta código ISO 3166-2:MX (MX-JAL) o abreviatura.

Typestring
postalCodestring

4 a 6 dígitos.

Typestring
country?string

Código ISO de 2 letras.

Typestring
DefaultMX
reference?string

Referencias de entrega para el repartidor, máximo 200 caracteres.

Typestring
isResidential?boolean
Typeboolean
Defaulttrue
isDefault?boolean
Typeboolean
Defaultfalse
latitude?number

-90 a 90.

Typenumber
longitude?number

-180 a 180.

Typenumber
curl -X POST https://api.sendit.mx/v1/addresses \
  -H "X-API-Key: sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "contactName": "María López",
    "contactPhone": "+5213312345678",
    "contactEmail": "maria@ejemplo.mx",
    "company": "Tienda MX",
    "street": "Av. López Mateos",
    "exteriorNumber": "45",
    "interiorNumber": "B-2",
    "neighborhood": "Jardines del Sol",
    "city": "Zapopan",
    "state": "JAL",
    "postalCode": "45050",
    "country": "MX",
    "reference": "Portón negro, entre Av. Patria y Moctezuma",
    "isResidential": true
  }'
{
  "success": true,
  "data": {
    "id": "clx_direccion_origen",
    "contactName": "María López",
    "contactPhone": "+5213312345678",
    "street": "Av. López Mateos",
    "exteriorNumber": "45",
    "neighborhood": "Jardines del Sol",
    "city": "Zapopan",
    "state": "JAL",
    "postalCode": "45050",
    "country": "MX",
    "isResidential": true,
    "isDefault": false,
    "isVerified": false,
    "createdAt": "2026-07-18T10:00:00.000Z"
  }
}

Usa el id devuelto como fromAddressId / toAddressId al crear envíos. Borrar una dirección nunca afecta envíos históricos: cada envío congela su propia copia.

Valida una dirección

La verificación compara la dirección contra el catálogo SEPOMEX y devuelve validez, confianza y la versión normalizada:

curl -X POST https://api.sendit.mx/v1/address-verifications \
  -H "X-API-Key: sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "address": {
      "street": "Av. Insurgentes Sur",
      "exteriorNumber": "1235",
      "neighborhood": "Insurgentes Mixcoac",
      "postalCode": "03920",
      "city": "Ciudad de México",
      "state": "CDMX",
      "country": "MX"
    },
    "provider": "SEPOMEX"
  }'
{
  "success": true,
  "data": {
    "id": "av_1a2b3c4d5e",
    "isValid": true,
    "confidence": 0.95,
    "normalizedAddress": {
      "postalCode": "03920",
      "neighborhood": "Insurgentes Mixcoac",
      "city": "Ciudad de México",
      "state": "Ciudad de México",
      "country": "MX"
    },
    "errors": [],
    "provider": "SEPOMEX",
    "createdAt": "2026-07-17T12:00:00.000Z"
  }
}

Interpreta la confianza

confidence Significado
0.95 Código postal encontrado y colonia coincidente
0.75 Código postal encontrado; colonia sin coincidencia o no enviada
0.0 Código postal inexistente

Cuando varias colonias comparten el código postal, suggestions[] trae las alternativas para que el usuario elija.

La validación es consultiva y no bloquea la creación de envíos. Cada verificación queda registrada en GET /v1/address-verifications. Ese registro te sirve como evidencia ante paquetes no entregables.

Para muchas direcciones, valida hasta 100 por llamada con POST /v1/bulk/addresses/validate. Ver lotes.

Códigos postales y colonias

Cuatro endpoints alimentados por el catálogo SEPOMEX, ideales para autocompletar formularios:

Consulta un código postal

GET /v1/postal-codes/03100
{
  "success": true,
  "data": {
    "postalCode": "03100",
    "country": "MX",
    "state": { "code": "MX-CMX", "name": "Ciudad de México" },
    "municipality": "Benito Juárez",
    "city": "Ciudad de México",
    "colonies": [
      { "name": "Del Valle Centro", "type": "Colonia", "zone": "Urbano" },
      { "name": "Del Valle Norte", "type": "Colonia", "zone": "Urbano" },
      { "name": "Del Valle Sur", "type": "Colonia", "zone": "Urbano" }
    ]
  }
}

Con una sola llamada pre-llenas ciudad, estado y el dropdown de colonias. Un código inexistente devuelve 404 RESOURCE_NOT_FOUND.

Busca colonias (autocompletado)

GET /v1/postal-codes/search?q=Del+Valle&stateCode=MX-CMX&limit=10

Coincidencia parcial por nombre de colonia; filtra opcionalmente por estado. Máximo 50 resultados.

Lista los estados

GET /v1/postal-codes/states

Devuelve los 32 estados con su código ISO 3166-2 (MX-JAL, MX-NLE, MX-CMX). Son los mismos códigos que acepta el resto del API.

¿Te ha resultado útil esta página?