Autenticación

Autenticación

Todas las peticiones a la API de ReciGo requieren autenticación mediante una clave API.

Formato de la Clave API

Tu clave API tiene el siguiente formato:

recigo_live_abc123def456ghi789jkl012mno345

Prefijo: recigo_live_

Indica que es una clave de producción

Longitud: 32 caracteres alfanuméricos

Después del prefijo

⚠️ Importante: Guarda tu clave de forma segura

  • • La clave solo se muestra una vez al crearla
  • • No la compartas públicamente ni la incluyas en el código frontend
  • • Guárdala en variables de entorno
  • • Si la pierdes, deberás regenerar una nueva

Cómo Autenticar las Peticiones

Incluye tu clave API en el header X-API-Key de todas tus peticiones HTTP.

cURL

curl -H "X-API-Key: recigo_live_abc123..." \
     -H "Content-Type: application/json" \
     https://api.recigo.es/v1/pricing/estimate

Node.js

const axios = require('axios');

const response = await axios.post(
  'https://api.recigo.es/v1/jobs',
  jobData,
  {
    headers: {
      'X-API-Key': 'recigo_live_abc123...',
      'Content-Type': 'application/json'
    }
  }
);

Python

import requests

headers = {
    'X-API-Key': 'recigo_live_abc123...',
    'Content-Type': 'application/json'
}

response = requests.post(
    'https://api.recigo.es/v1/jobs',
    headers=headers,
    json=job_data
)

PHP

<?php
$ch = curl_init('https://api.recigo.es/v1/jobs');

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: recigo_live_abc123...',
    'Content-Type: application/json'
]);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($jobData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

Límites de Tasa

Límite por defecto

100 peticiones/minuto

Cada clave API tiene un límite de tasa configurable. El límite por defecto es de 100 peticiones por minuto.

Si excedes el límite, recibirás:

{
  "detail": "Límite de tasa excedido. Máximo 100 peticiones por minuto.",
  "retry_after": 42
}

El campo retry_after indica cuántos segundos debes esperar antes de reintentar.

Mejores Prácticas de Seguridad

Usa Variables de Entorno

Nunca incluyas la clave API directamente en tu código. Usa variables de entorno:

# .env
RECIGO_API_KEY=recigo_live_abc123...
// Node.js
const apiKey = process.env.RECIGO_API_KEY;

Solo en el Backend

Las claves API deben usarse solo en tu servidor backend. Nunca las expongas en código JavaScript del frontend o en aplicaciones móviles.

Rotación de Claves

Si sospechas que tu clave ha sido comprometida, regenera una nueva inmediatamente desde el panel de administración o contactando a soporte.

Solución de Problemas

Error 401: Unauthorized

Causa: Clave API faltante o inválida

Solución:

  • • Verifica que incluyes el header X-API-Key
  • • Confirma que la clave es correcta (copia y pega para evitar errores)
  • • Asegúrate de que no hay espacios extra al inicio o final

Error 403: Forbidden

Causa: Clave API revocada o inactiva

Solución: Contacta a partners@recigo.es para verificar el estado de tu cuenta o regenerar una nueva clave.

Error 429: Too Many Requests

Causa: Has excedido el límite de tasa

Solución: Espera el tiempo indicado en retry_after antes de reintentar. Considera implementar un sistema de cola o reducir la frecuencia de peticiones.