Restofy Docs

Cómo hacer una petición

Toda petición a la API comparte la misma estructura: una URL base, el método POST, dos headers de autenticación y un cuerpo en JSON. Si tienes claros estos cuatro elementos, puedes llamar a cualquier endpoint.

¿Dónde están tus credenciales?

Entra al panel de tu negocio, ve al modulo de administración y abre el menú API keys en la sección de administración. Ahí encuentras las dos cosas que necesitas:

1. URL base

Todas las llamadas van al mismo dominio, sumando el módulo y la acción:

https://restofy.pro/api/{modulo}/{accion}

Por ejemplo, para listar productos: https://restofy.pro/api/products/list-products.

2. Método

Todos los endpoints usan POST, incluso los que solo consultan datos. No se usa GET.

3. Headers de autenticación

Cada llamada autenticada lleva siempre estos dos headers juntos:

Authorization: Bearer <accessToken>
X-Tenant-Key: <tenantKey>
  • accessToken — dice quién eres. Es el token JWT que obtienes al canjear tu API key. Tiene vigencia limitada: cuando expira, la API responde HTTP 401 y debes canjear tu clave de nuevo.
  • tenantKey — dice sobre qué cuenta operas. Es fijo para tu clave y lo copias desde la pantalla de API keys del panel.

4. Cuerpo de la petición

Los parámetros viajan en el cuerpo como JSON, en camelCase. Si un endpoint no necesita parámetros, envía un objeto vacío {}.

Content-Type: application/json

Ejemplo completo

curl -X POST https://restofy.pro/api/products/list-products \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -H "X-Tenant-Key: <tenantKey>" \
  -d '{ "page": 1, "limit": 20 }'

La respuesta

Toda respuesta llega con la misma forma: success, message y data. Los detalles están en la página Formato de respuesta.

{
  "success": true,
  "message": "",
  "data": {}
}

Si algo falla

  • Falta un header o el tenantKey no corresponde a una cuenta tuya: error de autorización.
  • El accessToken venció: HTTP 401. Canjea tu clave de nuevo y reintenta.
  • Un dato inválido o una regla de negocio: HTTP 400 con success: false y el detalle en message.