Создать управляемый аккаунт клиента
Создайте изолированный аккаунт 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-Key | header | string | да | Стабильный ключ операции: при повторе CloudPrint вернёт исходный результат и не создаст дубликат. | minLength: 1; maxLength: 200 |
X-Request-Id | header | string | нет | Необязательный идентификатор для трассировки запроса; CloudPrint вернёт безопасное значение в заголовке ответа. | maxLength: 128; example: "order-100045-attempt-1" |
Тело запроса
Тип содержимого: application/json
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
external_customer_id | string | да | Стабильный идентификатор клиента в системе интегратора. Он должен быть уникальным в пределах авторизованного Developer Application. | minLength: 1; maxLength: 160; example: "customer-42" |
name | string | да | Отображаемое имя ресурса для операторов аккаунта. | minLength: 1; maxLength: 120; example: "Acme Store 42" |
permissions | array | нет | Разрешения установки, включённые в этот токен. | — |
agent_onboarding | object | да | Одноразовые данные для подключения 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_id | string (uuid) | да | Стабильный UUID связи партнёра с управляемым клиентом. | — |
developer_account_id | string (uuid) | да | Стабильный UUID аккаунта разработчика, которому принадлежит связь с клиентом. | — |
cloudprint_account_id | string (uuid) | да | Стабильный UUID аккаунта CloudPrint, созданного для управляемого клиента. | — |
external_customer_id | string | да | Стабильный идентификатор клиента в системе интегратора. Он должен быть уникальным в пределах авторизованного Developer Application. | maxLength: 160 |
name | string | да | Отображаемое имя ресурса для операторов аккаунта. | maxLength: 120 |
application_id | string (uuid) | да | Стабильный идентификатор Developer Application, представленного токеном установки. | — |
installation_id | string | null (uuid) | да | Стабильный UUID App Installation, выдавшей разрешение токену. | — |
agent_enrollment_id | string | null (uuid) | да | Стабильный идентификатор Agent Enrollment. | — |
agent_onboarding_expires_at | string | null (date-time) | да | Временная метка CloudPrint в формате ISO 8601. | — |
agent_onboarding_url | string | null (uri) | да | Основная одноразовая ссылка для подключения агента. Открывайте её целиком, не изменяйте и не записывайте в логи. | example: "https://connect.cloudprint.me/setup#token=cpat_example" |
onboarding_status | string | да | Текущее состояние готовности CloudPrint у управляемого клиента. | enum: provisioning, waiting_for_agent, ready, failed |
status | string | да | Текущее состояние ресурса или процесса; учитывайте допустимые значения конкретного метода. | enum: provisioning, active, suspended, closed |
created_at | string (date-time) | да | Временная метка CloudPrint в формате ISO 8601. | — |
updated_at | string (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. |
Связанная документация
Получить управляемые аккаунты клиентовПолучите аккаунты клиентов, созданные авторизованным Developer Application, включая состояние агентов и принтеров.Создать Agent EnrollmentСоздайте одноразовое подключение агента, которое можно безопасно повторить до или после первоначального подключения клиента.Идемпотентное создание заданийПредотвращайте двойную печать при повторе запросов после превышения времени ожидания или сетевого сбоя.