Кожен виклик SDK
PHPТочка входу кожного SDK, його модулі й кожен виклик, який вони пропонують, — із запитом API, який робить виклик, дозволом, який йому потрібен, і ключем ідемпотентності, який він несе.
Усе, що робить SDK, іде через одну точку входу, яку збирають один раз із її опціями. Ця сторінка показує, як виклики від неї відходять, і перелічує кожен виклик SDK мовою, якою ви її читаєте, із запитом, який кожен надсилає в API.
Точка входу та її модулі
Точка входу — SlenSdk, яку збирає SlenSdk::create() поверх SlenConfig. Кожен модуль — метод, який його повертає, — operations(), executions(), customers() і webhooks(), — а health() належить самому SDK. WebhooksFacade::standalone() збирає лише модуль вебхуків поверх його WebhooksOptions — для приймача, який не має API-ключа. withLogger() повертає копію SDK, яка пише журнал в інший логер, — Журнал. У Laravel фасад Slen викликає той самий SDK — Інтеграція з Laravel.
З якими опціями збирають SDK, перелічує стаття Конфігурація.
Кожен виклик
| Метод | HTTP-запит | Дозвіл | Idempotency-Key |
|---|---|---|---|
customers()->adjustadjust(string $externalUserId, string $credits, ?Slen\Sdk\Modules\Customers\Options\MovementOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerAccountDTO | POST /v1/customers/{externalUserId}/adjust | customers:write | Надсилається; якщо не передати свій, SDK створює його сам |
customers()->blockblock(string $externalUserId, ?Slen\Sdk\Modules\Customers\Options\BlockOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerDTO | POST /v1/customers/{externalUserId}/block | customers:write | — |
customers()->chargecharge(string $externalUserId, string $credits, ?Slen\Sdk\Modules\Customers\Options\MovementOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerAccountDTO | POST /v1/customers/{externalUserId}/charge | customers:write | Надсилається; якщо не передати свій, SDK створює його сам |
customers()->createcreate(string $externalUserId, ?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerDTO | PUT /v1/customers/{externalUserId} | customers:write | — |
customers()->deletedelete(string $externalUserId, ?Slen\Sdk\RequestOptions $options = null): void | DELETE /v1/customers/{externalUserId} | customers:write | — |
customers()->entriesentries(string $externalUserId, ?Slen\Sdk\Modules\Customers\Options\EntryListOptions $options = null): Slen\Sdk\Modules\Customers\Data\CreditEntryPageDTO | GET /v1/customers/{externalUserId}/entries | customers:read | — |
customers()->getget(string $externalUserId, ?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerDTO | GET /v1/customers/{externalUserId} | customers:read | — |
customers()->listlist(?Slen\Sdk\Modules\Customers\Options\CustomerListOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerPageDTO | GET /v1/customers | customers:read | — |
customers()->pricesprices(?Slen\Sdk\Modules\Customers\Options\PriceListOptions $options = null): array | GET /v1/credit-prices | customers:read | — |
customers()->topUptopUp(string $externalUserId, string $credits, ?Slen\Sdk\Modules\Customers\Options\MovementOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerAccountDTO | POST /v1/customers/{externalUserId}/topup | customers:write | Надсилається; якщо не передати свій, SDK створює його сам |
customers()->unblockunblock(string $externalUserId, ?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerDTO | POST /v1/customers/{externalUserId}/unblock | customers:write | — |
customers()->updateAccountupdateAccount(string $externalUserId, string $creditType, ?Slen\Sdk\Modules\Customers\Options\AccountOptions $options = null): Slen\Sdk\Modules\Customers\Data\CustomerAccountDTO | PUT /v1/customers/{externalUserId}/accounts/{creditType} | customers:write | — |
executions()->getget(string $executionId, ?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Modules\Executions\Data\ExecutionStatusDTO | GET /v1/executions/{id}/status | read | — |
executions()->tracetrace(string $executionId, ?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Modules\Executions\Data\ExecutionTraceDTO | GET /v1/executions/{id} | read | — |
executions()->waitwait(string $executionId, ?Slen\Sdk\Modules\Executions\Options\WaitOptions $options = null): Slen\Sdk\Modules\Executions\Data\ExecutionStatusDTO | GET /v1/executions/{id}/status | read | — |
healthhealth(?Slen\Sdk\RequestOptions $options = null): Slen\Sdk\Data\HealthDTO | GET /health | — | — |
operations()->executeexecute(string $operation, array $input, ?Slen\Sdk\Modules\Operations\Options\ExecuteOptions $options = null): Slen\Sdk\Modules\Operations\Data\ExecutionDTO | POST /v1/operations/execute | gateway:write | Надсилається; якщо не передати свій, SDK створює його сам |
operations()->executeAsyncexecuteAsync(string $operation, array $input, ?Slen\Sdk\Modules\Operations\Options\ExecuteOptions $options = null): Slen\Sdk\Modules\Operations\Data\ExecutionDTO | POST /v1/operations/execute | gateway:write | Надсилається; якщо не передати свій, SDK створює його сам |
webhooks()->constructEventconstructEvent(string $payload, ?string $signatureHeader, ?Slen\Sdk\Modules\Webhooks\Options\VerifyOptions $options = null): Slen\Sdk\Modules\Webhooks\Data\WebhookEventDTO | Запиту до API немає | — | — |
webhooks()->verifyverify(string $payload, ?string $signatureHeader, ?Slen\Sdk\Modules\Webhooks\Options\VerifyOptions $options = null): bool | Запиту до API немає | — | — |
HTTP-запит — операція API, яку надсилає виклик, із посиланням на її сторінку в розділі API. Виклик без запиту працює всередині SDK: два виклики вебхуків перевіряють доставку там, куди вона прийшла.
Дозвіл — те, що потрібно API-ключу для цього запиту. Що включає кожен дозвіл, каже стаття Автентифікація.
Idempotency-Key каже, чи несе запит цей заголовок. Такий виклик створює ключ, коли ви не передали свій, і надсилає ваш, коли передали: коли передавати свій, каже стаття Ключі ідемпотентності.
Для чого виклики:
operations.execute()іoperations.executeAsync()запускають флоу — Надіслати запит, Асинхронні запуски й очікування.executions.get(),executions.wait()іexecutions.trace()читають виконання — Асинхронні запуски й очікування.Виклики
customersведуть ваших клієнтів та їхні кредити — Клієнти та кредити.webhooks.verify()іwebhooks.constructEvent()перевіряють доставку вебхука — Вебхуки.health()читає, чи обслуговує API запити. Залежність, яка не працює, названа в тілі відповіді, а не в її статусі.
SDK може надіслати будь-який виклик ще раз, коли відповіді не було, після 429 або 503 — Повтори й тайм-аути. Виклик, який не вдався, кидає помилку того типу, який визначає код відповіді, — Обробка помилок. Помилки, які SDK кидає сам, без відповіді API, перелічує стаття Типи помилок.
Що читати далі
Об’єкти відповіді — що повертає кожен виклик.
PHP і Node.js — два SDK поруч.
Конфігурація — опції SDK.
Зібрано з openapi b070e1f, sdk contract 6a2e0e0, php 4089db3, node 0fa87be