Saltar al contenido principal

Referencia de la API de claves de API

Referencia completa de los endpoints de la API de claves de API.

URL base​

https://api.orcarail.com/api/v1

Crear una clave de API​

Crea una nueva clave de API para una organización concreta.

POST /organizations/:organizationId/api-keys

Autenticación​

  • Token Bearer (JWT): obligatorio

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
organizationIdstringSíID de la organización para la que se crea la clave. El token bearer debe tener acceso.

Usa el id de la organización de Panel → Configuración de la organización o de la respuesta de la API que lista tus organizaciones. El parámetro de ruta es obligatorio; las claves de API se crean exactamente para esa organización.

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
namestringNoNombre descriptivo de la clave de API
webhookUrlstringNoURL de webhook para recibir eventos de pago

Respuesta​

{
"apiKey": {
"id": 1,
"name": "Production API Key",
"keyPrefix": "ak_live_",
"status": "active",
"webhookUrl": "https://api.example.com/webhooks/orcarail",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
},
"key": "ak_live_abc123def456",
"secret": "sk_live_xyz789uvw012"
}

:::warning Importante El secret solo se muestra una vez. ¡Guárdalo de inmediato! :::

Listar claves de API​

Lista todas las claves de API de una organización concreta.

GET /organizations/:organizationId/api-keys

Autenticación​

  • Token Bearer (JWT): obligatorio

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
organizationIdstringSíID de la organización cuyas claves se listan. El token bearer debe tener acceso.

La lista se limita a la organización de la ruta; OrcaRail no deduce otra organización a partir de la sesión cuando este parámetro está presente.

Respuesta​

[
{
"id": 1,
"name": "Production API Key",
"keyPrefix": "ak_live_",
"status": "active",
"createdAt": "2024-01-01T00:00:00.000Z"
},
{
"id": 2,
"name": "Development API Key",
"keyPrefix": "ak_live_",
"status": "active",
"createdAt": "2024-01-02T00:00:00.000Z"
}
]

Actualizar una clave de API​

Actualiza el nombre o la URL de webhook de una clave de API.

PATCH /api-keys/:id

Autenticación​

  • Token Bearer (JWT): obligatorio

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
idnumberSíID de la clave de API

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
namestringNoNombre descriptivo de la clave de API
webhookUrlstringNoURL de webhook para recibir eventos de pago (ponla a null para quitarla)

Respuesta​

{
"id": 1,
"name": "Updated API Key Name",
"keyPrefix": "ak_live_",
"status": "active",
"webhookUrl": "https://api.example.com/webhooks/orcarail",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

Revocar una clave de API​

Revoca una clave de API para desactivarla.

POST /api-keys/:id/revoke

Autenticación​

  • Token Bearer (JWT): obligatorio

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
idnumberSíID de la clave de API

Respuesta​

{
"id": 1,
"name": "Production API Key",
"keyPrefix": "ak_live_",
"status": "revoked",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

Probar una clave de API​

Comprueba si una clave de API es válida.

POST /api-keys/test

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
keystringSíClave de API (por ejemplo ak_live_...)
secretstringSíSecreto de API (por ejemplo sk_live_...)

Respuesta​

{
"ok": true
}

Respuesta de error​

Si la clave de API no es válida:

{
"statusCode": 401,
"message": "Invalid API key",
"error": "Unauthorized"
}

Objeto de clave de API​

Campos​

CampoTipoDescripción
idnumberIdentificador único
namestringNombre descriptivo
keyPrefixstringPrimeros 8 caracteres de la clave (por ejemplo ak_live_)
statusstringEstado: active o revoked
webhookUrlstringURL de webhook para recibir eventos de pago (puede ser null)
createdAtstringMarca de tiempo ISO 8601 de creación
updatedAtstringMarca de tiempo ISO 8601 de la última actualización

Valores de estado​

EstadoDescripción
activeLa clave de API está activa y se puede usar
revokedLa clave de API se ha revocado y no se puede usar

Códigos de estado​

Código de estadoDescripción
200Correcto
201Creado
400Petición incorrecta
401No autorizado
404No encontrado
500Error interno del servidor

Formato de las respuestas de error​

{
"statusCode": 400,
"message": "Invalid request",
"error": "Bad Request"
}

Consulta también​