Введение
Базовый URL API:
https://krugteamapidoc.cyou/api/v1
Все запросы (кроме каталога) требуют персональный API-токен. Получить токен можно в Telegram-боте: Профиль → API.
Для создания ссылки укажите код страны (country) и код сервиса (service) из таблицы каталога ниже.
Аутентификация
Передайте токен в заголовке каждого запроса:
Header
Authorization: Bearer apt_ваш_токен_здесь
⚠ Важно: Токен команды (team token) нельзя использовать для Worker API — только персональный токен.
GET /me — информация о пользователе
GET
https://krugteamapidoc.cyou/api/v1/me
curl -X GET "https://krugteamapidoc.cyou/api/v1/me" \ -H "Authorization: Bearer apt_YOUR_TOKEN"
import requests
TOKEN = "apt_YOUR_TOKEN"
BASE = "https://krugteamapidoc.cyou/api/v1"
r = requests.get(
f"{BASE}/me",
headers={"Authorization": f"Bearer {TOKEN}"},
)
print(r.json())const TOKEN = "apt_YOUR_TOKEN";
const BASE = "https://krugteamapidoc.cyou/api/v1";
const res = await fetch(`${BASE}/me`, {
headers: { Authorization: `Bearer ${TOKEN}` },
});
console.log(await res.json());<?php
$token = "apt_YOUR_TOKEN";
$base = "https://krugteamapidoc.cyou/api/v1";
$ch = curl_init("$base/me");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
]);
echo curl_exec($ch);
curl_close($ch);Создание ссылки
POST
https://krugteamapidoc.cyou/api/v1/links
| Поле | Тип | Описание |
|---|---|---|
country * | string | Код страны: HU, PL, DE… |
service * | string | Сервис доставки: DPD, GLS… |
item_name | string | Название товара |
price | float | Цена |
currency | string | Валюта (по умолчанию EUR) |
full_name | string | ФИО получателя |
address | string | Адрес доставки |
curl -X POST "https://krugteamapidoc.cyou/api/v1/links" \
-H "Authorization: Bearer apt_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country": "HU", "service": "DPD", "item_name": "iPhone 15", "price": 450.00, "currency": "EUR", "full_name": "John Doe", "address": "Budapest, Hungary"}'import requests
TOKEN = "apt_YOUR_TOKEN"
BASE = "https://krugteamapidoc.cyou/api/v1"
payload = {
"country": "HU",
"service": "DPD",
"item_name": "iPhone 15",
"price": 450.00,
"currency": "EUR",
"full_name": "John Doe",
"address": "Budapest, Hungary",
}
r = requests.post(
f"{BASE}/links",
json=payload,
headers={"Authorization": f"Bearer {TOKEN}"},
)
data = r.json()
print(data["pay_url"]) # готовая ссылкаconst TOKEN = "apt_YOUR_TOKEN";
const BASE = "https://krugteamapidoc.cyou/api/v1";
const res = await fetch(`${BASE}/links`, {
method: "POST",
headers: {
Authorization: `Bearer ${TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
country: "HU",
service: "DPD",
item_name: "iPhone 15",
price: 450.0,
currency: "EUR",
full_name: "John Doe",
address: "Budapest, Hungary",
}),
});
const data = await res.json();
console.log(data.pay_url);<?php
$token = "apt_YOUR_TOKEN";
$base = "https://krugteamapidoc.cyou/api/v1";
$payload = json_encode([
"country" => "HU",
"service" => "DPD",
"item_name" => "iPhone 15",
"price" => 450.00,
"currency" => "EUR",
"full_name" => "John Doe",
"address" => "Budapest, Hungary",
]);
$ch = curl_init("$base/links");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $token",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = json_decode(curl_exec($ch), true);
echo $response["pay_url"];
curl_close($ch);Пример ответа
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"short_id": "a1b2c3d4",
"country": "HU",
"service": "DPD",
"status": "active",
"item_name": "iPhone 15",
"price": 450.0,
"currency": "EUR",
"pay_url": "https://domain.com/pay/sms/a1b2c3d4-...",
"expires_at": "2026-05-24T12:00:00+00:00"
}
Список ссылок
GET
https://krugteamapidoc.cyou/api/v1/links?page=0&per_page=20
curl -X GET "https://krugteamapidoc.cyou/api/v1/links?page=0&per_page=20" \ -H "Authorization: Bearer apt_YOUR_TOKEN"
r = requests.get(
f"{BASE}/links",
params={"page": 0, "per_page": 20},
headers={"Authorization": f"Bearer {TOKEN}"},
)
for link in r.json()["links"]:
print(link["pay_url"])const res = await fetch(`${BASE}/links?page=0&per_page=20`, {
headers: { Authorization: `Bearer ${TOKEN}` },
});
const { links } = await res.json();$ch = curl_init("$base/links?page=0&per_page=20");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
]);
$data = json_decode(curl_exec($ch), true);Детали ссылки
GET
https://krugteamapidoc.cyou/api/v1/links/{order_id}
curl -X GET "https://krugteamapidoc.cyou/api/v1/links/ORDER_UUID" \ -H "Authorization: Bearer apt_YOUR_TOKEN"
Удаление ссылки
DELETE
https://krugteamapidoc.cyou/api/v1/links/{order_id}
curl -X DELETE "https://krugteamapidoc.cyou/api/v1/links/ORDER_UUID" \ -H "Authorization: Bearer apt_YOUR_TOKEN"
Каталог кодов
Полный список доступных комбинаций страна + сервис. Используйте значения из колонок «Код страны» и «Код сервиса» при создании ссылки.
Также доступен JSON-эндпоинт без авторизации: https://krugteamapidoc.cyou/api/v1/catalog
| Код страны | Страна | Код сервиса | Тип |
|---|---|---|---|
CZ |
🇨🇿 Чехия | DPD |
delivery |
CZ |
🇨🇿 Чехия | GLS |
delivery |
CZ |
🇨🇿 Чехия | PDF |
delivery |
По странам
🇨🇿 Чехия
(CZ)
DPD
GLS
PDF
Коды ошибок
| HTTP | Описание |
|---|---|
401 | Отсутствует или неверный токен |
403 | Использован team token вместо персонального |
400 | Неизвестная комбинация country + service |
404 | Ссылка не найдена |