Що повертає кожен виклик SDK
PHPОб’єкти, які повертають виклики SDK, — виконання, його трасування, клієнт, рахунок, рядок виписки, сторінка — і яке поле відповіді API несе кожне їхнє поле.
Виклик SDK повертає об’єкт, який несе відповідь API. Ця сторінка називає об’єкт, який повертає кожен виклик, і каже, яким полем відповіді є кожне його поле.
Як побудовано результат
Результат — об’єкт, властивості якого не можна змінити. Він має властивість для кожного поля відповіді, названу в camel case. Сума грошей або кредитів — десятковий рядок, ніколи не float; ідентифікатор — рядок; час — DateTimeImmutable; статус — enum: ExecutionStatus, CustomerStatus, CreditEntryType. Якщо у відповіді бракує поля або значення має інший тип, кидається InvalidResponseException, а не повертається результат зі значенням за замовчуванням на цьому місці.
Який виклик що повертає
| Результат | Хто повертає |
|---|---|
ExecutionDTO | operations()->execute(), operations()->executeAsync() |
ExecutionStatusDTO | executions()->get(), executions()->wait() |
ExecutionTraceDTO | executions()->trace() |
CustomerDTO | customers()->get(), customers()->create(), customers()->block(), customers()->unblock() |
CustomerAccountDTO | customers()->updateAccount(), customers()->topUp(), customers()->charge(), customers()->adjust() |
CustomerPageDTO | customers()->list() |
CreditEntryPageDTO | customers()->entries() |
Список CreditPriceDTO | customers()->prices() |
HealthDTO | health() |
customers.delete() нічого не повертає. Події вебхука описує стаття Вебхуки.
Виконання
Кожне поле виконання описує стаття Надіслати запит.
| Властивість | Поле відповіді |
|---|---|
executionId | execution_id |
status | status, як ExecutionStatus |
operationCode | operation |
output | output |
errorCode | error_code |
errorMessage | error_message |
error | error, як ExecutionErrorDTO із code і message |
cost | cost, як ExecutionCostDTO з estimated і actual |
cache | cache, як ExecutionCacheDTO з hit і cachedAt |
waitingOn | waiting_on, як WaitingOnDTO з nodeKey, type і resumeAt |
traceUrl | trace_url |
retryAfterSeconds | retry_after_seconds |
replayed | replayed |
ExecutionStatusDTO, те саме виконання, прочитане пізніше, має всі властивості, крім error і replayed. Обидва мають чотири методи, які читають статус: isCompleted(), isRejected(), isPending() — виконання queued, waiting або running — і isFinished(), який істинний, коли виконання не має жодного з цих статусів.
Трасування виконання
ExecutionTraceDTO — виконання з nodes — кожним вузлом, через який воно пройшло, за порядком, кожен — TraceNodeDTO з його спробами в провайдерів, — і events, подіями його трасування, кожна — TraceEventDTO. Тип вузла, його статус і тип події лишаються рядками: пізніша версія Slen може додати нові.
Поля — ті самі, що в GET /v1/executions/{id} у статті Виконання.
Клієнт і рахунок
Для чого клієнт і рахунок, каже стаття Клієнти та кредити.
Властивість CustomerDTO | Поле відповіді |
|---|---|
customerId | customer_id |
externalUserId | external_user_id |
status | status, як CustomerStatus |
blockedAt | blocked_at |
blockReason | block_reason |
accounts | accounts, кожен — CustomerAccountDTO |
createdAt | created_at |
updatedAt | updated_at |
CustomerDTO::isBlocked() читає статус, а CustomerDTO::account() дає рахунок одного типу кредитів або null, коли клієнт не має рахунку цього типу.
Властивість CustomerAccountDTO | Поле відповіді |
|---|---|
customerAccountId | customer_account_id |
customerId | customer_id |
projectId | project_id |
externalUserId | external_user_id |
creditType | credit_type |
balance | balance |
reserved | reserved |
available | available |
allowNegative | allow_negative |
lowBalanceThreshold | low_balance_threshold |
createdAt | created_at |
updatedAt | updated_at |
Поля — ті самі, що в GET /v1/customers/{externalUserId} у статті Клієнти та кредити.
Виписка й ціни
CreditEntryDTO — один рух виписки: entryId, customerAccountId, externalUserId, creditType, entryType — це CreditEntryType, — credits зі знаком, balanceAfter, availableAfter, reservationId, note і createdAt. CreditPriceDTO — ціна однієї операції в одному типі кредитів: creditPriceId, projectId, operationCode, creditType, credits, createdAt і updatedAt.
Сторінка
PageDTO має data — рядки сторінки — і nextCursor — курсор наступної сторінки. hasMore() істинний, поки курсор є.
Передайте курсор у наступний виклик і зупиніться, коли він дорівнює null. Повна остання сторінка ще може нести курсор; тоді сторінка після неї порожня.
Що читати далі
Клієнт і методи — кожен виклик SDK із запитом, який він робить.
Надіслати запит — кожне поле виконання.
Обробка помилок — що виклик кидає замість того, щоб повернути.