API перевірки покупців BlackPost: повна документація та приклади інтеграції
15 березня 2026
25 хв читання
~8 500 слів
BlackPost API — це RESTful інтерфейс для перевірки покупців за номером телефону. Він дозволяє інтегрувати перевірку в будь-яку систему: CRM, інтернет-магазин, мобільний додаток або автоматизований скрипт. API повертає ризик-скор (0-100), кількість скарг, категорії порушень та рекомендації.
У цій статті — повна документація: всі ендпоінти, параметри, формати відповідей, коди помилок. Плюс готові приклади інтеграції на трьох мовах: PHP, Python та JavaScript.
REST
JSON API
100ms
середній час відповіді
99.9%
uptime
355K+
записів у базі
Огляд API
BlackPost API побудований за принципами REST:
Base URL:https://blackpost.com.ua/api/v1
Формат: JSON (request і response)
Автентифікація: API-ключ у заголовку X-API-Key
HTTPS: обов'язковий (HTTP-запити відхиляються)
Кодування: UTF-8
Доступні ендпоінти
Метод
Ендпоінт
Опис
Тариф
GET
/check
Перевірка одного покупця за телефоном
Всі
POST
/check/bulk
Масова перевірка (до 50 номерів)
Pro
POST
/report
Подача скарги на покупця
Всі
GET
/report/{id}
Статус скарги
Всі
POST
/webhook/register
Реєстрація webhook
Pro
DELETE
/webhook
Видалення webhook
Pro
GET
/account
Інформація про акаунт та ліміти
Всі
Автентифікація
API використовує ключ-автентифікацію. Ключ передається в HTTP-заголовку X-API-Key з кожним запитом.
Перейдіть до Налаштування → API ключі → Створити ключ
Скопіюйте ключ (формат: bg_..., 32+ символів)
⚠️ Безпека
Ніколи не розміщуйте API-ключ у клієнтському коді (JavaScript фронтенду). Використовуйте лише server-to-server запити. Зберігайте ключ у змінних середовища (.env) або конфігураційних файлах, що не потрапляють до git.
categorystringrequirednon_pickup | fraud | return_abuse | address_change | other
ttnstringoptionalНомер ТТН Нової Пошти (автоверифікація)
commentstringoptionalДодатковий коментар (до 500 символів)
order_amountnumberoptionalСума замовлення (грн)
buyer_namestringoptionalПІБ покупця
JSON — 201 Created
{
"success": true,
"report_id": "rpt_abc123def456",
"status": "pending",
"message": "Скаргу прийнято. TTN буде перевірено автоматично."
}
Статуси скарги: pending → verifying (перевірка TTN) → confirmed (підтверджено) або rejected (відхилено). Перевірка TTN відбувається автоматично через API Нової Пошти.
Webhook-сповіщення
Webhook дозволяє отримувати push-сповіщення про нові скарги на телефони, які ви раніше перевіряли. Це корисно для моніторингу повторних покупців — навіть якщо на момент першого замовлення покупець був «чистим», він може отримати скарги пізніше.
Реєстрація webhook
POST/api/v1/webhook/registerЗареєструвати URL для сповіщень
urlstringrequiredHTTPS URL вашого сервера для прийому webhook
secretstringoptionalСекретний ключ для HMAC-підпису (рекомендовано)
eventsarrayoptionalТипи подій: ["new_report", "score_change"]. За замовчуванням — всі
Формат webhook-запиту
BlackPost надсилає POST-запит на ваш URL:
JSON — POST to your URL
{
"event": "new_report",
"timestamp": "2026-03-15T14:30:00Z",
"data": {
"phone": "380971234567",
"new_risk_score": 67,
"previous_risk_score": 42,
"new_reports_count": 1,
"total_reports": 4,
"category": "non_pickup"
}
}
Заголовок X-Webhook-Signature містить HMAC-SHA256 підпис тіла запиту з вашим secret. Перевіряйте його для захисту від підроблених запитів.
ℹ️ Ретрай-логіка
Якщо ваш сервер не відповідає 200 OK протягом 10 секунд, BlackPost повторює запит 3 рази з інтервалом 30 сек, 5 хв, 30 хв. Після 3 невдалих спроб — сповіщення зберігається в лозі (доступний через API).
Приклад інтеграції: PHP
Готовий клас для інтеграції BlackPost у PHP-проект (OpenCart, WordPress, Laravel, чистий PHP):
Rate limit: 10 запитів/секунду для всіх тарифів (захист від DDoS). При перевищенні — 429 з заголовком Retry-After.
Best Practices для інтеграції
1. Non-blocking дизайн
Завжди обгортайте API-виклики в try/catch. Якщо BlackPost не відповідає — замовлення повинно проходити нормально. Перевірка покупця — це допоміжна функція, а не критичний шлях.
2. Кешування
Кешуйте результати перевірок на 12-24 години. Якщо один покупець зробив 3 замовлення за день — це 1 API-запит замість 3. Використовуйте телефон як ключ кешу.
3. Таймаут
Встановлюйте таймаут 5-8 секунд. Середній час відповіді API — 100-300 мс, але мережеві затримки можливі. 8 секунд — достатній запас.
4. Безпека ключа
Зберігайте API-ключ у .env файлі (не в коді)
Ніколи не виносьте ключ на фронтенд
Використовуйте окремі ключі для dev/staging/production
Ротуйте ключі щоквартально
5. Логування
Логуйте всі перевірки: телефон, результат, час відповіді. Це допоможе: а) відстежувати ефективність, б) розслідувати інциденти, в) оптимізувати кешування.
6. Graceful degradation
Якщо API повертає помилку або таймаутить — не блокуйте замовлення. Логуйте помилку, позначте замовлення «не перевірено», перевірте пізніше (через масову перевірку або вручну).
7. Webhook верифікація
Завжди перевіряйте HMAC-підпис webhook-запитів. Без цього зловмисник може надсилати фальшиві повідомлення на ваш URL.
API BlackPost доступний на всіх тарифах: Free (50 запитів/день), Basic (500/день, 299 грн/міс), Pro (без обмежень, 599 грн/міс). Масова перевірка та webhook — тільки на Pro.
Офіційних SDK поки немає, але API настільки простий (один GET-ендпоінт для перевірки), що SDK не потрібен. В статті наведені готові приклади-обгортки для PHP, Python та JavaScript, які можна використовувати як міні-SDK.
Webhook дозволяє отримувати push-сповіщення про нові скарги на ваших покупців. Ви реєструєте URL свого сервера, і BlackPost надсилає POST-запит з даними щоразу, коли з'являється нова скарга на телефон з вашої бази. HMAC-підпис для верифікації.
API приймає будь-який формат українського номера: +380971234567, 380971234567, 0971234567, 971234567. Сервер автоматично нормалізує до формату 380XXXXXXXXX. Підтримуються лише українські номери.
Free: 50 запитів/день, Basic: 500/день, Pro: без обмежень. Також є rate limit 10 запитів/секунду для захисту від DDoS. При перевищенні ліміту API повертає 429 Too Many Requests.
Так. API BlackPost — це стандартний REST API з JSON-відповідями. Він інтегрується з будь-якою CRM, яка підтримує HTTP-запити: KeepinCRM, SalesDrive, KeyCRM, Bitrix24, 1С та інші. В статті є приклади для PHP, Python та JavaScript.