Взаимодействие с ioka API
Описание
С помощью ioka API вы можете отправлять запросы на создание и завершения платежей, сохранять платежную информацию для повторных списаний, совершать возвраты и многое другое.
Информация
В ioka вместо интеграции по API также доступны готовые решения, которые не требуют участия разработчиков и подходят для небольших магазинов, созданных с помощью CMS.
ioka API работает по протоколу HTTP, следуя REST архитектуре. API принимает GET, POST, PATCH, DELETE запросы и всегда возвращает ответ в формате JSON, независимо от типа запроса. Схема описывается в соответствии с OpenAPI.
Тестовый API URL
https://stage-api.ioka.kz
Боевой API URL
https://api.ioka.kz
Тип содержимого и кодировка
Любой запрос к API должен выполняться в кодировке UTF-8 и с указанием содержимого в формате JSON.
Content-Type: application/json; charset=utf-8
Формат дат
Платформа принимает значения date-time во временной зоне UTC+0 в формате, описанном в RFC 3339, например:
"2019-08-24T14:15:22"
Аутентификация
API-KEY
Для аутентификации и авторизации вызовов используется API ключ. API-KEY принимается в заголовке API-KEY
как указано в примере ниже:
- HTTP
- cURL
- Python
- PHP
POST /v2/orders HTTP/1.1
Host: stage-api.ioka.kz
API-KEY: eyJ0eXAiOiJKV1..
Content-Type: application/json
{
"amount": 50000
}
curl --location --request POST 'https://stage-api.ioka.kz/v2/orders' \
--header 'API-KEY: eyJ0eXAiOiJKV1..' \
--header 'Content-Type: application/json' \
--data-raw '{
"amount": 50000
}'
import requests
import json
url = "https://stage-api.ioka.kz/v2/orders"
payload = json.dumps({
'amount': 10000
})
headers = {
'API-KEY': 'eyJ0eXAiOiJKV1..',
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers, data=payload)
order = response.json()['order']
print(order['checkout_url'])
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://stage-api.ioka.kz/v2/orders');
$request->setRequestMethod('POST');
$body = new http\Message\Body;
$body->append('{
"amount": 10000
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
'API-KEY' => 'eyJ0eXAiOiJKV..',
'Content-Type' => 'application/json'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
API ключ позволяет совершать в ioka API любые операции от Вашего имени. При потере ключа его необходимо перевыпустить, обратившись к аккаунт-менеджеру ioka.
Идемпотентность
ioka API поддерживает идемпотентность запросов для избежания повторного выполнения одной и той же операции.
При обращении в API вы можете передать ключ идемпотентности, idempotency-key
, в заголовке запроса.
Формирование ключа остается на вашей стороне и может содержать любое значение.
Если вы отправили несколько запросов с одинаковым ключом, то будет обработан только один успешный ответ, а остальные будут идентичными. Результат хранится в системе в течение 1 часа.