Emitir un token de App Installation
Autentica una Developer Application con una aserción RS256 de un solo uso y emite un token de corta duración para una App Installation aprobada.
POST
/developer-api/v1/app-installations/{installationId}/access-tokensVersión de la API: v1operationId: issueInstallationAccessTokenVer como MarkdownQué hace este método
Autentica una Developer Application con una aserción RS256 de un solo uso y emite un token de corta duración para una App Installation aprobada.
Autenticación
Envía una aserción RS256 de un solo uso de la Developer Application en Authorization: Bearer <application_assertion>. No es un token de acceso de Public API.
Solicitud
URL de producción: https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Descripción | Restricciones |
|---|---|---|---|---|---|
installationId | path | string (uuid) | sí | UUID estable de la App Installation asociada por el integrador. | — |
X-Request-Id | header | string | no | Identificador opcional para rastrear la solicitud; CloudPrint devuelve un valor seguro en la cabecera de respuesta. | maxLength: 128; example: "order-100045-attempt-1" |
Cuerpo de la solicitud
Tipo de contenido: application/json
| Nombre | Tipo | Obligatorio | Descripción | Restricciones |
|---|---|---|---|---|
permissions | array | no | Permisos aprobados para la App Installation. | — |
Ejemplos de solicitud
cURL
bash
curl -sS https://public-api.cloudprint.me/developer-api/v1/app-installations/$INSTALLATION_ID/access-tokens \
-H "Authorization: Bearer $APPLICATION_ASSERTION" \
-H 'Content-Type: application/json' \
-d '{"permissions":["documents:write","print_jobs:write"]}'Respuesta
Estado HTTP: 200 — Solicitud completada.
Campos de respuesta
| Nombre | Tipo | Obligatorio | Descripción | Restricciones |
|---|---|---|---|---|
access_token | string | sí | Token Bearer OAuth2 de corta duración para solicitudes a Public API. | example: "eyJ..." |
token_type | string | sí | Tipo de token OAuth2; Public API usa Bearer. | enum: Bearer |
expires_in | integer | sí | Duración del token de acceso en segundos desde su emisión. | min: 1; example: 3600 |
installation_id | string (uuid) | sí | UUID estable de la App Installation asociada al recurso. | — |
account_id | string (uuid) | sí | UUID estable de la cuenta CloudPrint propietaria del recurso. | — |
permissions | array | sí | Permisos aprobados para la App Installation. | — |
Ejemplo de respuesta
json
{
"access_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 3600,
"installation_id": "11111111-1111-4111-8111-111111111111",
"account_id": "11111111-1111-4111-8111-111111111111",
"permissions": [
"agents:read"
]
}Errores
| Estado HTTP | Descripción |
|---|---|
401 | Falta la autenticación o no es válida. |
422 | Uno o varios campos no son válidos. |
429 | Se superó el límite de solicitudes; respeta Retry-After. |
500 | Error interno de CloudPrint. |
Recomendaciones de integración
- Crea una aserción nueva para cada solicitud: RS256, el
kidactivo, elclient_idenissysub, la URL exacta del método enaud, una duración máxima de cinco minutos y unjtiúnico. - Asocia el
installation_idestable a tu cliente. El método no acepta el identificador externo del cliente. - No se emite un token de actualización. Conserva el token hasta poco antes de
expires_iny emite otro sin repetir la instalación.
Documentación relacionada
Instalaciones y tokens de accesoInstala una aplicación en cuentas de clientes y emite tokens limitados para cada instalación.Obtener el contexto actual del cliente APIConfirma qué cuenta, aplicación cliente y permisos representa el token de acceso actual.Errores y reintentos de la API de CloudPrintGestiona estados HTTP, errores legibles por máquina, límites de solicitudes, trazabilidad y reintentos seguros.