Worker API

Создавайте платёжные ссылки через HTTP-запросы. Подходит для интеграции с ворк-софтом, автоматизацией и собственными скриптами.

v1 Bearer Auth JSON TTL 48ч

Введение

Базовый 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_namestringНазвание товара
pricefloatЦена
currencystringВалюта (по умолчанию EUR)
full_namestringФИО получателя
addressstringАдрес доставки
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Ссылка не найдена