Skip to main content
Each destination country has specific validation requirements for customs compliance. This guide covers the rules for each supported country.

🇪🇨 Ecuador

Ecuador has strict import regulations requiring proper identification.

Required Fields

FieldRequirement
receiver.nationalIdRequired (Cédula or RUC)
receiver.idTypecedula or ruc
receiver.address.provinceRequired
receiver.address.zipCodeMust match province

Cédula Validation

Ecuadorian Cédula must be exactly 10 digits and pass the Luhn checksum:
Valid format: 1234567890

RUC Validation

For businesses, use RUC (13 digits):
Valid format: 1234567890001

Province Codes

ProvincePostal Code Prefix
Guayas09
Pichincha17
Azuay01
Manabí13

Example

{
  "receiver": {
    "fullName": "María García",
    "phone": "+593 99 123 4567",
    "nationalId": "1234567890",
    "idType": "cedula",
    "address": {
      "line1": "Av. 9 de Octubre 123",
      "city": "Guayaquil",
      "province": "Guayas",
      "zipCode": "090101",
      "country": "EC"
    }
  }
}

🇲🇽 Mexico

Required Fields

FieldRequirement
receiver.address.stateRequired (2-letter code)
receiver.address.zipCodeRequired (5 digits)
receiver.nationalIdOptional (RFC)

State Codes

StateCode
Ciudad de MéxicoDF
JaliscoJA
Nuevo LeónNL
Estado de MéxicoEM

RFC Validation (Optional)

If provided, RFC must be 12-13 characters:
Personal: XXXX######XXX (13 chars)
Business: XXX######XXX (12 chars)

Example

{
  "receiver": {
    "fullName": "Carlos Rodríguez",
    "phone": "+52 55 1234 5678",
    "address": {
      "line1": "Av. Reforma 222",
      "line2": "Col. Juárez",
      "city": "Ciudad de México",
      "state": "DF",
      "zipCode": "06600",
      "country": "MX"
    }
  }
}

🇨🇴 Colombia

Required Fields

FieldRequirement
receiver.nationalIdRequired (Cédula)
receiver.idTypecedula
receiver.address.cityMust be valid Colombian city

Cédula Validation

Colombian Cédula is 6-10 digits:
Valid format: 1234567890

Example

{
  "receiver": {
    "fullName": "Ana Pérez",
    "phone": "+57 310 123 4567",
    "nationalId": "1234567890",
    "idType": "cedula",
    "address": {
      "line1": "Carrera 7 #32-16",
      "city": "Bogotá",
      "province": "Cundinamarca",
      "zipCode": "110311",
      "country": "CO"
    }
  }
}

🇵🇪 Peru

Required Fields

FieldRequirement
receiver.nationalIdRequired (DNI or RUC)
receiver.idTypedni or ruc

DNI Validation

Peruvian DNI is exactly 8 digits:
Valid format: 12345678

Example

{
  "receiver": {
    "fullName": "José López",
    "phone": "+51 999 123 456",
    "nationalId": "12345678",
    "idType": "dni",
    "address": {
      "line1": "Av. Javier Prado 123",
      "city": "Lima",
      "province": "Lima",
      "zipCode": "15036",
      "country": "PE"
    }
  }
}

🇨🇱 Chile

Required Fields

FieldRequirement
receiver.nationalIdRequired (RUT)
receiver.idTyperut

RUT Validation

Chilean RUT format: ########-X where X is a check digit (0-9 or K):
Valid format: 12345678-9 or 12345678-K

Example

{
  "receiver": {
    "fullName": "Pedro Sánchez",
    "phone": "+56 9 1234 5678",
    "nationalId": "12345678-9",
    "idType": "rut",
    "address": {
      "line1": "Av. Providencia 1234",
      "city": "Santiago",
      "province": "Región Metropolitana",
      "zipCode": "7500000",
      "country": "CL"
    }
  }
}

Validation Error Examples

Missing National ID

{
  "success": false,
  "error": {
    "code": "VALIDATION_NATIONAL_ID",
    "message": "National ID (Cédula) is required for Ecuador shipments",
    "message_es": "Se requiere documento de identidad (Cédula) para envíos a Ecuador"
  }
}

Invalid Format

{
  "success": false,
  "error": {
    "code": "VALIDATION_NATIONAL_ID",
    "message": "Invalid Cédula format. Must be 10 digits.",
    "message_es": "Formato de Cédula inválido. Debe tener 10 dígitos."
  }
}

Province Mismatch

{
  "success": false,
  "error": {
    "code": "VALIDATION_ADDRESS",
    "message": "Postal code 090101 does not match province Pichincha",
    "message_es": "El código postal 090101 no corresponde a la provincia Pichincha"
  }
}

Testing Validation

Use sandbox mode to test validation without creating real shipments. The sandbox validates all country rules identically to production.