Documentación de API

Integra el potente motor de precios de Grula en tus aplicaciones con nuestra API REST completa. Calcula precios, gestiona políticas de precios y configura ajustes dinámicos programáticamente.

Inicio rápido

Comienza con la API de Grula en minutos. Todo lo que necesitas es un token de API para empezar a hacer solicitudes.

Autenticación

Todas las solicitudes de API requieren autenticación usando un token Bearer. Puedes generar tu token de API desde el panel de Grula.

Authorization: Bearer YOUR_API_TOKEN

Base URL

https://api.grula.net

Conceptos clave

Políticas de precios (Listas de precios)

Las políticas de precios definen tus precios base para productos o servicios. Piensa en ellas como tus listas de precios que contienen las reglas fundamentales de precios para tu negocio.

Políticas de ajuste de precios (Descuentos y tarifas)

Las políticas de ajuste de precios modifican tus precios base aplicando descuentos, tarifas u otros ajustes basados en condiciones específicas como tipo de cliente, volumen o factores estacionales.

Get PricePOST

Calcula un precio único basado en controladores de precios, moneda y fecha de precios opcional. Este es el endpoint principal para cálculos de precios en tiempo real.

Endpoint

POST /api/v1/price
curl -X POST "https://api.grula.net/api/v1/price" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "environmentId": "123e4567-e89b-12d3-a456-426614174000",
    "priceDrivers": [
      {
        "name": "product",
        "value": "laptop"
      },
      {
        "name": "customer_tier",
        "value": "premium"
      }
    ],
    "currencyThreeLetterCode": "USD",
    "pricingDate": "2024-01-15T10:00:00Z"
  }'

Get Multiple PricesPOST

Calcula múltiples precios en una sola solicitud. Eficiente para operaciones de precios masivos con un máximo de 100 solicitudes de precios por llamada.

Endpoint

POST /api/v1/prices
curl -X POST "https://api.grula.net/api/v1/prices" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "environmentId": "123e4567-e89b-12d3-a456-426614174000",
    "priceRequests": [
      {
        "priceDrivers": [
          {"name": "product", "value": "laptop"},
          {"name": "customer_tier", "value": "premium"}
        ],
        "currencyThreeLetterCode": "USD",
        "pricingDate": "2024-01-15T10:00:00Z"
      },
      {
        "priceDrivers": [
          {"name": "product", "value": "desktop"},
          {"name": "customer_tier", "value": "standard"}
        ],
        "currencyThreeLetterCode": "EUR",
        "pricingDate": "2024-01-15T10:00:00Z"
      }
    ]
  }'

Ejemplos de respuesta

Entender la estructura de las respuestas de API te ayuda a integrar datos de precios efectivamente en tus aplicaciones.

Price Response

{
  "amount": {
    "amount": 1299.99,
    "currencyThreeLetterCode": "USD"
  },
  "priceComponents": [
    {
      "pricingPolicyId": "123e4567-e89b-12d3-a456-426614174000",
      "amount": {
        "amount": 1499.99,
        "currencyThreeLetterCode": "USD"
      }
    },
    {
      "priceAdjustmentPolicyId": "456e7890-e89b-12d3-a456-426614174001",
      "amount": {
        "amount": -200.00,
        "currencyThreeLetterCode": "USD"
      },
      "priceAdjustmentPolicyActionName": "Premium Customer Discount",
      "priceAdjustmentPolicyValue": 0.15
    }
  ]
}

Manejo de errores

La API utiliza códigos de estado HTTP estándar para indicar el éxito o fallo de las solicitudes. Aquí están los códigos de estado más comunes que encontrarás.

Códigos de estado HTTP

200
Success - Solicitud completada exitosamente
201
Created - Recurso creado exitosamente
400
Bad Request - Parámetros de solicitud inválidos
401
Unauthorized - Token de API inválido o faltante
404
Not Found - Recurso no encontrado
409
Conflict - El recurso ya existe o discrepancia de versión
500
Internal Server Error - Ocurrió un error del lado del servidor