Перейти к содержанию

Установки и токены доступа ​

App Installation — постоянная связь одного Developer Application с одним клиентским аккаунтом CloudPrint. Сохраните `installation_id` и выпускайте короткоживущий токен, когда вашему серверу нужен доступ к Print API этого аккаунта.

Выберите модель установки ​

Этот сценарий с подтверждением клиента нужен, когда у него уже есть аккаунт CloudPrint. Для аккаунтов, которые создаёт ваш продукт, используйте сценарий с управляемыми аккаунтами: App Installation создаётся через Partner API без перенаправления клиента на экран согласия.

Создайте ссылку установки ​

Добавьте в URL установки client_id, один из точно зарегистрированных redirect_uri, непредсказуемый state, связанный с текущим пользователем и клиентом, и только необходимые разрешения. Перенаправьте владельца аккаунта по этому URL. Переданный вашим интерфейсом Account ID сам по себе не подтверждает право доступа.

Получите согласие владельца ​

CloudPrint покажет название приложения, Developer Account, публичные ссылки и запрошенные разрешения. Владелец выберет аккаунт CloudPrint и подтвердит доступ. Сразу запрашивайте только обязательные разрешения; дополнительные возможности должны требовать отдельного понятного согласия.

Проверьте возврат пользователя ​

На адрес возврата приходят installation_id, setup_action и исходный state. Сравните state со значением на сервере, отклоните просроченную или уже использованную попытку и свяжите установку с клиентом, который начал процесс. Не используйте CloudPrint Account ID вместо идентификатора клиента в своей системе.

Выпустите Installation Access Token ​

Создайте новый RS256 assertion приложения с aud, равным https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens. Передайте его как Authorization: Bearer <application_assertion> в POST /developer-api/v1/app-installations/{installationId}/access-tokens. Ответ содержит access_token, expires_in, account_id, installation_id и одобренные разрешения.

Используйте и кешируйте токен ​

Передавайте Installation Access Token как Bearer-токен в /api/v1/*. Кешируйте его отдельно для каждой установки почти до истечения срока, а не выпускайте заново для каждого задания. Refresh token не выдаётся: следующий короткоживущий токен выпускается для той же установки.

Проверяйте разрешения и статус ​

Запрошенные разрешения должны быть непустым подмножеством разрешений установки. Установка со статусом suspended не может выпускать и использовать токены до возобновления, а revoked восстановить нельзя. После 401 один раз удалите кешированный токен и получите новый; после 403 проверьте разрешения и статус установки.

Следующие шаги ​

Руководства по интеграции CloudPrint, подключению локального агента и надёжной работе печати.