Документация · v1

Creodock API

Все операции
POSTИнтерфейс CreodockИдемпотентная команда

Создать: клиентов

Безопасно создаёт клиентов на основании переданного тела запроса.

OpenAPI: Record a USD client payment and allocate it atomically

POSThttps://api.creodock.com/api/v1/organizations/{organizationId}/clients/{clientId}/payments
Кто вызывает
Интерфейс Creodock
Операция выполняется от имени вошедшего пользователя через защищённую cookie-сессию.
Доступ
Определяется ролью и принадлежностью объекта
Отдельный scope не объявлен в OpenAPI. Сервер проверяет роль и рабочую область.

Что произойдёт

Поведение, которое важно учесть до отправки запроса.

  • Создаёт ресурс или запускает команду, описанную в теле запроса.
  • Поддерживает Idempotency-Key: повторяйте запрос с тем же ключом после сетевого сбоя.

Параметры

Где передать значение, обязательно ли оно и откуда его получить.

ПолеГдеТипОписание
organizationIdОбязательно
pathstring · uuid
ID рабочей области. Возьмите его из URL рабочей области или ответа списка рабочих областей.
clientIdОбязательно
pathstring · uuid
ID клиента, полученный при создании клиента или в ответе списка клиентов.
Idempotency-KeyОбязательно
headerstring
Уникальный ключ команды. Используйте UUID и сохраняйте тот же ключ при безопасном повторе запроса.Минимальная длина: 16 · Максимальная длина: 128

Тело запроса

Обязательно для этой операции.

application/json

Схема: WorkspaceClientPaymentRequest

ПолеТипОписание
allocationОбязательно
string
Поле «allocation» в структуре запроса или ответа.Допустимо: oldest_first, selectedПример: oldest_first
amountMinorОбязательно
string
Сумма в минимальных единицах валюты.Формат: ^[1-9][0-9]*$
commentОбязательно
string
Поле «comment» в структуре запроса или ответа.
externalReferenceНеобязательно
string
Поле «externalReference» в структуре запроса или ответа.
invoiceIdsНеобязательно
string[]
Поле «invoiceIds» в структуре запроса или ответа.
occurredAtОбязательно
string · date-time
Поле «occurredAt» в структуре запроса или ответа.
versionОбязательно
integer · int64
Версия объекта для защиты от конфликтующих изменений.

Ответы

Все состояния ответа, объявленные этой операцией в OpenAPI.

201

Payment recorded

application/json

Схема: MutationResult

ПолеТипОписание
idОбязательно
string · uuid
Уникальный идентификатор объекта.
versionНеобязательно
integer · int64
Версия объекта для защиты от конфликтующих изменений.
{
  "id": "00000000-0000-0000-0000-000000000000",
  "version": 1
}
403

Problem Details response

application/json

Схема: Problem

409

Problem Details response

application/json

Схема: Problem

422

Problem Details response

application/json

Схема: Problem

Ошибки и восстановление

Не только причина, но и конкретное действие для вызывающей стороны.

СтатусЧто означаетПовторЧто делать
403Недостаточно правНетИспользуйте ключ или роль с требуемым доступом.
409Конфликт состояния или версииПосле чтенияПолучите актуальный объект и повторите изменение.
422Данные не прошли бизнес-проверкуПосле исправленияИсправьте поля, перечисленные в fieldErrors.

Формат Problem Details

{
  "type": "https://api.creodock.com/problems/invalid-request",
  "title": "Данные не прошли проверку",
  "status": 422,
  "code": "invalid_request",
  "detail": "Проверьте отмеченные поля.",
  "traceId": "req_01J8M4Y6QX",
  "fieldErrors": [
    { "field": "items[0].formats", "code": "required", "message": "Выберите формат." }
  ]
}