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

Создать управляемый аккаунт клиента ​

Создайте изолированный аккаунт CloudPrint, App Installation и одноразовое подключение агента без регистрации клиента.

POST/partner-api/v1/accountsВерсия API: v1operationId: createPartnerManagedAccountОткрыть в Markdown

Назначение метода ​

Создайте изолированный аккаунт CloudPrint, App Installation и одноразовое подключение агента без регистрации клиента.

Авторизация ​

Передавайте одноразовое JWT-подтверждение Developer Application, подписанное RS256, в Authorization: Bearer <application_assertion>. Это не токен доступа к Public API.

Запрос ​

Основной адрес API: https://public-api.cloudprint.me/partner-api/v1/accounts

Параметры ​

ИмяРасположениеТипОбязательноОписаниеОграничения
Idempotency-KeyheaderstringдаСтабильный ключ операции: при повторе CloudPrint вернёт исходный результат и не создаст дубликат.minLength: 1; maxLength: 200
X-Request-IdheaderstringнетНеобязательный идентификатор для трассировки запроса; CloudPrint вернёт безопасное значение в заголовке ответа.maxLength: 128; example: "order-100045-attempt-1"

Тело запроса ​

Тип содержимого: application/json

ИмяТипОбязательноОписаниеОграничения
external_customer_idstringдаСтабильный идентификатор клиента в системе интегратора. Он должен быть уникальным в пределах авторизованного Developer Application.minLength: 1; maxLength: 160; example: "customer-42"
namestringдаОтображаемое имя ресурса для операторов аккаунта.minLength: 1; maxLength: 120; example: "Acme Store 42"
permissionsarrayнетРазрешения установки, включённые в этот токен.—
agent_onboardingobjectдаОдноразовые данные для подключения Agent, созданные для управляемого клиента.—

Примеры запросов ​

cURL ​

bash
curl -sS https://public-api.cloudprint.me/partner-api/v1/accounts \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Idempotency-Key: customer-42-provision-v1' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_customer_id": "customer-42",
    "name": "Acme Store 42",
    "permissions": ["printers:read", "documents:write", "print_jobs:write", "print_jobs:read"],
    "agent_onboarding": {
      "return_uri": "https://app.integrator.example/cloudprint/callback",
      "state": "single-use-random-state"
    }
  }'

Ответ ​

HTTP-статус: 200 — Запрос выполнен.

Поля ответа ​

ИмяТипОбязательноОписаниеОграничения
relationship_idstring (uuid)даСтабильный UUID связи партнёра с управляемым клиентом.—
developer_account_idstring (uuid)даСтабильный UUID аккаунта разработчика, которому принадлежит связь с клиентом.—
cloudprint_account_idstring (uuid)даСтабильный UUID аккаунта CloudPrint, созданного для управляемого клиента.—
external_customer_idstringдаСтабильный идентификатор клиента в системе интегратора. Он должен быть уникальным в пределах авторизованного Developer Application.maxLength: 160
namestringдаОтображаемое имя ресурса для операторов аккаунта.maxLength: 120
application_idstring (uuid)даСтабильный идентификатор Developer Application, представленного токеном установки.—
installation_idstring | null (uuid)даСтабильный UUID App Installation, выдавшей разрешение токену.—
agent_enrollment_idstring | null (uuid)даСтабильный идентификатор Agent Enrollment.—
agent_onboarding_expires_atstring | null (date-time)даВременная метка CloudPrint в формате ISO 8601.—
agent_onboarding_urlstring | null (uri)даОсновная одноразовая ссылка для подключения агента. Открывайте её целиком, не изменяйте и не записывайте в логи.example: "https://connect.cloudprint.me/setup#token=cpat_example"
onboarding_statusstringдаТекущее состояние готовности CloudPrint у управляемого клиента.enum: provisioning, waiting_for_agent, ready, failed
statusstringдаТекущее состояние ресурса или процесса; учитывайте допустимые значения конкретного метода.enum: provisioning, active, suspended, closed
created_atstring (date-time)даВременная метка CloudPrint в формате ISO 8601.—
updated_atstring (date-time)даВременная метка CloudPrint в формате ISO 8601.—

Пример ответа ​

json
{
  "relationship_id": "11111111-1111-4111-8111-111111111111",
  "developer_account_id": "11111111-1111-4111-8111-111111111111",
  "cloudprint_account_id": "11111111-1111-4111-8111-111111111111",
  "external_customer_id": "string",
  "name": "string",
  "application_id": "11111111-1111-4111-8111-111111111111",
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "agent_enrollment_id": "11111111-1111-4111-8111-111111111111",
  "agent_onboarding_expires_at": "2026-08-06T12:00:00Z",
  "agent_onboarding_url": "https://connect.cloudprint.me/setup#token=cpat_example",
  "onboarding_status": "provisioning",
  "status": "provisioning",
  "created_at": "2026-08-06T12:00:00Z",
  "updated_at": "2026-08-06T12:00:00Z"
}

Ошибки ​

HTTP-статусОписание
401Авторизация отсутствует или недействительна.
403Для операции недостаточно разрешений.
404Запрошенный ресурс не найден.
409Запрос конфликтует с текущим состоянием ресурса.
422Поля запроса не прошли проверку.
429Превышен лимит запросов; учитывайте Retry-After.
500Внутренняя ошибка CloudPrint.

Связанная документация ​

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