POST /api/rest/services

Returns a shipping quote for the provided cart and destination address. Requires a valid JWT Bearer token. servicio_rayo is optional. Common values: NACIONAL, EXPRESS, PROGRAMADA. No enum validation is enforced by the API.

application/json

Body Required

  • productos array[object] Required

    At least 1 element.

    Hide productos attributes Show productos attributes object
    • cantidad integer Required

      Minimum value is 1.

    • identificador string Required

      Product identifier (SKU/barcode/EAN/etc.)

  • consumidor_destino object Required

    Additional properties are allowed.

    Hide consumidor_destino attributes Show consumidor_destino attributes object
    • calle string Required
    • ciudad string Required
    • codigo_postal string Required
    • colonia string Required
    • estado string Required
    • no_exterior string Required
    • no_interior string | null
    • nombre string Required
    • pais string Required
    • telefono string Required
  • servicio_rayo string

    Optional preferred service. Common values: NACIONAL, EXPRESS, PROGRAMADA. No enum validation is enforced by the API.

Responses

  • 200 application/json

    Quotation retrieved successfully

    Hide response attribute Show response attribute object
    • rayoServiceAvailability object Required

      Additional properties are allowed.

      Hide rayoServiceAvailability attributes Show rayoServiceAvailability attributes object
      • products array[object] Required
        Hide products attributes Show products attributes object
        • identifier string Required

          Product identifier used for quotation (SKU/UPC).

        • inStock integer Required

          Available stock for the product.

      • services array[object] Required
        Hide services attributes Show services attributes object
        • days integer Required

          Estimated delivery days.

        • service string Required

          Service type (no enum validation enforced by the API).

        • totalPricing string Required

          Total price formatted as string (as returned by API).

        • description string | null

          Human-readable service description.

        • provider string Required

          Shipping provider name (carrier).

  • 409 application/json

    Conflict (business rule / stock / coverage validation)

    Hide response attributes Show response attributes object
    • path string
    • error string Required
    • code string Required
  • default application/json

    Unexpected error

    Hide response attributes Show response attributes object
    • error string Required
    • code string Required
    • path string
POST /api/rest/services
curl \
 --request POST 'https://cerebro.techrayo.com/api/rest/services' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"productos":[{"cantidad":1,"identificador":"Balon"}],"servicio_rayo":"NACIONAL","consumidor_destino":{"calle":"Homero","ciudad":"Miguel Hidalgo","estado":"CDMX","nombre":"Juan Perez","colonia":"Polanco","telefono":"3141640364","no_exterior":"930","no_interior":"PB","codigo_postal":"11550"}}'
Request example
{
  "productos": [
    {
      "cantidad": 1,
      "identificador": "Balon"
    }
  ],
  "servicio_rayo": "NACIONAL",
  "consumidor_destino": {
    "calle": "Homero",
    "ciudad": "Miguel Hidalgo",
    "estado": "CDMX",
    "nombre": "Juan Perez",
    "colonia": "Polanco",
    "telefono": "3141640364",
    "no_exterior": "930",
    "no_interior": "PB",
    "codigo_postal": "11550"
  }
}
Response examples (200)
{
  "rayoServiceAvailability": {
    "products": [
      {
        "inStock": 8,
        "identifier": "zap-02"
      }
    ],
    "services": [
      {
        "days": 5,
        "service": "NACIONAL",
        "provider": "ESTAFETA",
        "description": "🚚 Estandar. Entrega estimada de 2 a 5 días hábiles. (Notificaciones por WhatsApp).",
        "totalPricing": "123.00"
      }
    ]
  }
}
Response examples (409)
{
  "code": "ConflictError",
  "path": "$",
  "error": "Producto zap-02-2 no tiene dimension, no se puede cotizar"
}
{
  "code": "ConflictError",
  "path": "$",
  "error": "Los integradores de paquetería no pueden proveer servicio al destino deseado.Errors:[{\"name\":\"RAYO BUSINESS ERROR\",\"code\":\"SHP-003\"}]"
}
{
  "code": "ConflictError",
  "path": "$",
  "error": "No hay stock suficiente del producto <test003> en nuestros almacenes, se requiere solicitar recepción de inventario."
}
Response examples (default)
{
  "error": "internal error",
  "code": "unexpected",
  "path": "$"
}