Обзор API

API для интеграции с платежной системой. Позволяет управлять клиентами, методами оплаты и заказами.
Базовый URL: http://carl-tech.ru:8081

Аутентификация

Для работы с API используются API-ключи и транзакционные токены.

API-ключ: Получается при регистрации клиента. Передается в заголовке x-api-key: <API_KEY>

Транзакционный токен: Используется для работы с заказами. Передается в заголовке Api-Token: <TOKEN>

Регистрационный токен

Генерация одноразового токена для регистрации нового клиента.
POST /api/clients/registration-token
Создает одноразовый токен, который можно использовать для регистрации нового клиента. Тело запроса может быть пустым.
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/clients/registration-token"
response = requests.post(url)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/clients/registration-token';

fetch(url, {
    method: 'POST'
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/clients/registration-token
Go
package main

import (
	"io/ioutil"
	"net/http"
	"log"
)

func main() {
	resp, err := http.Post("http://carl-tech.ru:8081/api/clients/registration-token", 
		"application/json", nil)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
Ответ
200 - Успешно
{
  "token": "41aafd2c-5170-4d92-883e-0e5219c90132"
}

Регистрация клиента

Регистрация нового клиента с использованием регистрационного токена.
POST /api/clients/register
Регистрирует нового клиента в системе. После успешной регистрации возвращает API-ключ клиента.
Параметры запроса
Параметр Тип Описание
name string Имя клиента (3-64 символа)
registration_token string Одноразовый регистрационный токен
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "name": "ООО РОМАШКА",
  "registration_token": "41aafd2c-5170-4d92-883e-0e5219c90132"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/clients/register"
headers = {
    "Content-Type": "application/json"
}
data = {
    "name": "ООО РОМАШКА",
    "registration_token": "41aafd2c-5170-4d92-883e-0e5219c90132"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/clients/register';
const headers = {
    'Content-Type': 'application/json'
};
const data = {
    name: 'ООО РОМАШКА',
    registration_token: '41aafd2c-5170-4d92-883e-0e5219c90132'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/clients/register \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "ООО РОМАШКА",
    "registration_token": "41aafd2c-5170-4d92-883e-0e5219c90132"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/clients/register"
	
	data := map[string]string{
		"name":              "ООО РОМАШКА",
		"registration_token": "41aafd2c-5170-4d92-883e-0e5219c90132",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 'ООО РОМАШКА',
    'registration_token' => '41aafd2c-5170-4d92-883e-0e5219c90132'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
201 - Клиент создан
{
    "api_key": "c0c226fd-a039-494e-a59f-8346ae7d3a85",
    "client": {
        "id": 2,
        "name": "ООО РОМАШКА",
        "register_date": "2025-07-24T21:58:16.4785263+03:00",
        "api_key": "c0c226fd-a039-494e-a59f-8346ae7d3a85",
        "personal_token": "",
        "registered": false
    }
}

Транзакционный токен

Генерация токена для выполнения транзакций.
POST /api/clients/transaction-token
Создает транзакционный токен для выполнения операций с заказами. Один клиент может иметь до 10 активных токенов одновременно.
Заголовок: x-api-key: <API_KEY> (полученный при регистрации клиента)
Параметры запроса
Параметр Тип Описание
name string Произвольное имя токена для идентификации
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "name": "имя ключа"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/clients/transaction-token"
headers = {
    "x-api-key": "c0c226fd-a039-494e-a59f-8346ae7d3a85",
    "Content-Type": "application/json"
}
data = {
    "name": "имя ключа"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/clients/transaction-token';
const headers = {
    'x-api-key': 'c0c226fd-a039-494e-a59f-8346ae7d3a85',
    'Content-Type': 'application/json'
};
const data = {
    name: 'имя ключа'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/clients/transaction-token \
  -H 'x-api-key: c0c226fd-a039-494e-a59f-8346ae7d3a85' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "имя ключа"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/clients/transaction-token"
	
	data := map[string]string{
		"name": "имя ключа",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("x-api-key", "c0c226fd-a039-494e-a59f-8346ae7d3a85")
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 'имя ключа'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
200 - Успешно
{
    "transaction_token": "cf617f32-e3fe-4f3c-bf19-c3709d047c65"
}

Создание метода оплаты

Добавление нового метода оплаты в систему.
POST /api/payment-methods
Создает новый метод оплаты, который можно использовать для обработки платежей.
Заголовок: Api-Token: <TRANSACTION_TOKEN>
Параметры запроса
Параметр Тип Описание
name string Название метода
work_type string Тип метода: local_requisites | test_requisites | gateway_h2h
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "name": "Alexey",
  "work_type": "local_requisites"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/payment-methods"
headers = {
    "Api-Token": "cf617f32-e3fe-4f3c-bf19-c3709d047c65",
    "Content-Type": "application/json"
}
data = {
    "name": "Alexey",
    "work_type": "local_requisites"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/payment-methods';
const headers = {
    'Api-Token': 'cf617f32-e3fe-4f3c-bf19-c3709d047c65',
    'Content-Type': 'application/json'
};
const data = {
    name: 'Alexey',
    work_type: 'local_requisites'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/payment-methods \
  -H 'Api-Token: cf617f32-e3fe-4f3c-bf19-c3709d047c65' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Alexey",
    "work_type": "local_requisites"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/payment-methods"
	
	data := map[string]string{
		"name":      "Alexey",
		"work_type": "local_requisites",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Api-Token", "cf617f32-e3fe-4f3c-bf19-c3709d047c65")
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 'Alexey',
    'work_type' => 'local_requisites'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
201 - Метод создан
{
    "id": 1,
    "work_type": "local_requisites",
    "name": "Alexey"
}

Добавление реквизитов

Добавление платежных реквизитов к методу оплаты.
POST /api/payment-methods/:method_id/requisites
Добавляет платежные реквизиты к существующему методу оплаты. :method_id - это ID, полученный при создании метода оплаты.
Заголовок: Api-Token: <TRANSACTION_TOKEN>
Параметры запроса
Параметр Тип Описание
type string Тип реквизитов: SBP | CARD
value string Номер телефона/карты
bank string Название банка
recipient string ФИО получателя
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "type": "SBP",
  "value": "79261234567",
  "bank": "Тинькофф",
  "recipient": "Иванов Иван Иванович"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/payment-methods/1/requisites"
headers = {
    "Api-Token": "cf617f32-e3fe-4f3c-bf19-c3709d047c65",
    "Content-Type": "application/json"
}
data = {
    "type": "SBP",
    "value": "79261234567",
    "bank": "Тинькофф",
    "recipient": "Иванов Иван Иванович"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/payment-methods/1/requisites';
const headers = {
    'Api-Token': 'cf617f32-e3fe-4f3c-bf19-c3709d047c65',
    'Content-Type': 'application/json'
};
const data = {
    type: 'SBP',
    value: '79261234567',
    bank: 'Тинькофф',
    recipient: 'Иванов Иван Иванович'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/payment-methods/1/requisites \
  -H 'Api-Token: cf617f32-e3fe-4f3c-bf19-c3709d047c65' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "SBP",
    "value": "79261234567",
    "bank": "Тинькофф",
    "recipient": "Иванов Иван Иванович"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/payment-methods/1/requisites"
	
	data := map[string]string{
		"type":      "SBP",
		"value":     "79261234567",
		"bank":      "Тинькофф",
		"recipient": "Иванов Иван Иванович",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Api-Token", "cf617f32-e3fe-4f3c-bf19-c3709d047c65")
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 'SBP',
    'value' => '79261234567',
    'bank' => 'Тинькофф',
    'recipient' => 'Иванов Иван Иванович'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
200 - Успешно
{
    "message": "requisite added successfully"
}

Создание заказа

Создание нового платежного заказа.
POST /api/orders
Создает новый заказ для оплаты. Возвращает реквизиты для перевода средств.
Заголовок: Api-Token: <TRANSACTION_TOKEN>
Параметры запроса
Параметр Тип Описание
payment_type string Тип платежа: SBP | CARD
amount float Сумма платежа
currency string Валюта: RUB
webhook_url string URL для уведомлений о статусе
is_test boolean Тестовый заказ (необязательно)
is_test_status string Желаемый тестовый статус: confirmed (необязательно)
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "payment_type": "SBP",
  "amount": 1500.5,
  "currency": "RUB",
  "webhook_url": "https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6",
  "is_test": true,
  "is_test_status": "confirmed"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/orders"
headers = {
    "Api-Token": "cf617f32-e3fe-4f3c-bf19-c3709d047c65",
    "Content-Type": "application/json"
}
data = {
    "payment_type": "SBP",
    "amount": 1500.5,
    "currency": "RUB",
    "webhook_url": "https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6",
    "is_test": True,
    "is_test_status": "confirmed"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/orders';
const headers = {
    'Api-Token': 'cf617f32-e3fe-4f3c-bf19-c3709d047c65',
    'Content-Type': 'application/json'
};
const data = {
    payment_type: 'SBP',
    amount: 1500.5,
    currency: 'RUB',
    webhook_url: 'https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6',
    is_test: true,
    is_test_status: 'confirmed'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/orders \
  -H 'Api-Token: cf617f32-e3fe-4f3c-bf19-c3709d047c65' \
  -H 'Content-Type: application/json' \
  -d '{
    "payment_type": "SBP",
    "amount": 1500.5,
    "currency": "RUB",
    "webhook_url": "https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6",
    "is_test": true,
    "is_test_status": "confirmed"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/orders"
	
	data := map[string]interface{}{
		"payment_type":    "SBP",
		"amount":         1500.5,
		"currency":       "RUB",
		"webhook_url":    "https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6",
		"is_test":        true,
		"is_test_status": "confirmed",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Api-Token", "cf617f32-e3fe-4f3c-bf19-c3709d047c65")
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 'SBP',
    'amount' => 1500.5,
    'currency' => 'RUB',
    'webhook_url' => 'https://webhook.site/a680601b-49f9-414b-9d6b-1816529fc2d6',
    'is_test' => true,
    'is_test_status' => 'confirmed'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
201 - Заказ создан
{
    "amount": 1500.5,
    "created_at": "2025-07-24T21:42:18.5299606+03:00",
    "currency": "RUB",
    "id": 6,
    "requisite": {
        "bank": "Тинькофф",
        "number": "79261234567",
        "receiver": "Иван И."
    },
    "type": "SBP",
    "uuid": "fb53c414-9038-470d-8701-59932a582924"
}
Внимание: Заказы автоматически отменяются через 10 минут, если не было подтверждения платежа.

Подтверждение заказа

Подтверждение получения платежа по заказу.
POST /api/orders/confirm
Подтверждает получение платежа по заказу. После подтверждения система отправит webhook с статусом confirmed.
Заголовок: Api-Token: <TRANSACTION_TOKEN>
Параметры запроса
Параметр Тип Описание
order_uuid string UUID заказа
JSON
Python
JavaScript
cURL
Go
PHP
Пример запроса
{
  "order_uuid": "471ee034-ed46-40c9-93d0-5fd6d41c837b"
}
Python (requests)
import requests

url = "http://carl-tech.ru:8081/api/orders/confirm"
headers = {
    "Api-Token": "cf617f32-e3fe-4f3c-bf19-c3709d047c65",
    "Content-Type": "application/json"
}
data = {
    "order_uuid": "471ee034-ed46-40c9-93d0-5fd6d41c837b"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
JavaScript (Fetch)
const url = 'http://carl-tech.ru:8081/api/orders/confirm';
const headers = {
    'Api-Token': 'cf617f32-e3fe-4f3c-bf19-c3709d047c65',
    'Content-Type': 'application/json'
};
const data = {
    order_uuid: '471ee034-ed46-40c9-93d0-5fd6d41c837b'
};

fetch(url, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
cURL
curl -X POST \
  http://carl-tech.ru:8081/api/orders/confirm \
  -H 'Api-Token: cf617f32-e3fe-4f3c-bf19-c3709d047c65' \
  -H 'Content-Type: application/json' \
  -d '{
    "order_uuid": "471ee034-ed46-40c9-93d0-5fd6d41c837b"
  }'
Go
package main

import (
	"bytes"
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
)

func main() {
	url := "http://carl-tech.ru:8081/api/orders/confirm"
	
	data := map[string]string{
		"order_uuid": "471ee034-ed46-40c9-93d0-5fd6d41c837b",
	}
	
	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal(err)
	}
	
	req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Api-Token", "cf617f32-e3fe-4f3c-bf19-c3709d047c65")
	req.Header.Set("Content-Type", "application/json")
	
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	
	log.Println(string(body))
}
PHP
 '471ee034-ed46-40c9-93d0-5fd6d41c837b'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
Ответ
200 - Успешно
{
    "status": "confirmed"
}

Поиск заказов

Поиск заказов по различным критериям.
POST /api/orders/search
Поиск заказов с фильтрацией по различным параметрам.
Заголовок: Api-Token: <TRANSACTION_TOKEN>
Параметры запроса
Параметр Тип Описание
client_idintegerID клиента (опционально)
requisite_numberstringНомер реквизита (опционально)
receiver_namestringИмя получателя (опционально)
statusstringСтатус заказа: pending | confirmed | failed (опционально)
date_fromstringДата начала периода (формат: YYYY-MM-DD) (опционально)
date_tostringДата окончания периода (формат: YYYY-MM-DD) (опционально)
JSON
Python
GO
JavaScript (Fetch)
PHP
Пример запроса
{
  "client_id": 12345,
  "requisite_number": "1234567890",
  "receiver_name": "Иван И.",
  "status": "confirmed",
  "date_from": "2023-05-01",
  "date_to": "2023-05-20"
}
Пример запроса — Python
import requests

headers = {
    "Api-Token": "<TRANSACTION_TOKEN>"
}

data = {
    "client_id": 12345,
    "requisite_number": "1234567890",
    "receiver_name": "Иван И.",
    "status": "confirmed",
    "date_from": "2023-05-01",
    "date_to": "2023-05-20"
}

response = requests.post("https://api.example.com/api/orders/search", json=data, headers=headers)
print(response.json())
Пример запроса — GO
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    body := map[string]interface{}{
        "client_id":        12345,
        "requisite_number": "1234567890",
        "receiver_name":    "Иван И.",
        "status":           "confirmed",
        "date_from":        "2023-05-01",
        "date_to":          "2023-05-20",
    }

    jsonData, _ := json.Marshal(body)
    req, _ := http.NewRequest("POST", "https://api.example.com/api/orders/search", bytes.NewBuffer(jsonData))
    req.Header.Set("Api-Token", "<TRANSACTION_TOKEN>")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    res, _ := client.Do(req)
    defer res.Body.Close()
    fmt.Println(res.Status)
}
Пример запроса — JavaScript (Fetch)
fetch("https://api.example.com/api/orders/search", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Api-Token": "<TRANSACTION_TOKEN>"
  },
  body: JSON.stringify({
    client_id: 12345,
    requisite_number: "1234567890",
    receiver_name: "Иван И.",
    status: "confirmed",
    date_from: "2023-05-01",
    date_to: "2023-05-20"
  })
})
.then(res => res.json())
.then(data => console.log(data));
Пример запроса — PHP
<?php
$payload = json_encode([
    "client_id" => 12345,
    "requisite_number" => "1234567890",
    "receiver_name" => "Иван И.",
    "status" => "confirmed",
    "date_from" => "2023-05-01",
    "date_to" => "2023-05-20"
]);

$ch = curl_init("https://api.example.com/api/orders/search");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Api-Token: <TRANSACTION_TOKEN>"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ответ
200 - Успешно
[
  {
    "uuid": "ord_1a2b3c4d5e6f7g8h9i0j",
    "client_id": 12345,
    "amount": 100.50,
    "currency": "RUB",
    "status": "confirmed",
    "created_at": "2023-05-15T12:00:00Z",
    "confirmed_at": "2023-05-15T12:05:00Z"
  },
  {
    "uuid": "ord_9i8h7g6f5e4d3c2b1a0j",
    "client_id": 12345,
    "amount": 200.00,
    "currency": "RUB",
    "status": "confirmed",
    "created_at": "2023-05-10T10:30:00Z",
    "confirmed_at": "2023-05-10T10:35:00Z"
  }
]

Список заказов

Получение списка всех заказов (возможно, временная или административная ручка).
GET /api/orders
Возвращает список всех заказов в системе. Для пагинации можно использовать параметры limit и offset.
Параметры запроса
Параметр Тип Описание
limitintegerКоличество записей (по умолчанию: 50)
offsetintegerСмещение (по умолчанию: 0)
Ответ
200 - Успешно
{
  "total": 125,
  "limit": 50,
  "offset": 0,
  "data": [
    {
      "uuid": "ord_1a2b3c4d5e6f7g8h9i0j",
      "client_id": 12345,
      "amount": 100.50,
      "currency": "RUB",
      "status": "confirmed",
      "created_at": "2023-05-20T12:00:00Z"
    },
    {
      "uuid": "ord_9i8h7g6f5e4d3c2b1a0j",
      "client_id": 67890,
      "amount": 200.00,
      "currency": "RUB",
      "status": "pending",
      "created_at": "2023-05-20T11:30:00Z"
    }
  ]
}

Дополнительная информация

Статусы заказов

  • pending - устанавливается по умолчанию при создании заказа
  • confirmed - после подтверждения платежа
  • failed - если заказ просрочен (10 минут)

Авторизация

Все ручки /api/orders требуют валидного транзакционного токена в заголовке Api-Token.