Campaign statistics
List of responses with filters
Pull-модель. Bulko шлёт POST на ваш URL при каждом событии: delivered, opened, clicked, replied, bounced.
Real-time events →Подключите IMAP к каждому SMTP. Bulko каждые 5 минут забирает ответы и классифицирует через AI. Ничего вручную делать не нужно.
The email was successfully accepted by the recipient's SMTP server. Contains campaign_id, recipient, smtp_used, timestamp. →Response received. Contains body, AI-classification (positive/negative/question), confidence.
# Запуск кампании curl -X POST 'https://bulko.io/api/v1/campaigns/launch' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "name": "Q2 Outreach", "subject": "{Hi|Hello} {{name}}", "body": "<p>Hi {{name}}, ...</p>", "subscriber_list_id": 42, "smtp_pool": "warmed-eu", "ai_rotation": true }'
import requests resp = requests.post( "https://bulko.io/api/v1/campaigns/launch", headers={"Authorization": f"Bearer {API_TOKEN}"}, json={ "name": "Q2 Outreach", "subject": "{Hi|Hello} {{name}}", "body": "<p>Hi {{name}}, ...</p>", "subscriber_list_id": 42, "smtp_pool": "warmed-eu", "ai_rotation": True, }, ) campaign = resp.json() print("Campaign", campaign["id"], "started")
const resp = await fetch( 'https://bulko.io/api/v1/campaigns/launch', { method: 'POST', headers: { 'Authorization': `Bearer ${API_TOKEN}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ name: 'Q2 Outreach', subject: '{Hi|Hello} {{name}}', body: '<p>Hi ...</p>', subscriber_list_id: 42, smtp_pool: 'warmed-eu', ai_rotation: true, }), } ); const campaign = await resp.json(); console.log('Campaign', campaign.id, 'started');
$ch = curl_init('https://bulko.io/api/v1/campaigns/launch'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . $API_TOKEN, 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => json_encode([ 'name' => 'Q2 Outreach', 'subject' => '{Hi|Hello} {{name}}', 'body' => '<p>Hi ...</p>', 'subscriber_list_id' => 42, 'smtp_pool' => 'warmed-eu', 'ai_rotation' => true, ]), ]); $campaign = json_decode(curl_exec($ch), true);
/api/v1/campaigns/launchThe recipient clicked on the unsubscribe link. The email is added to the global suppression list./api/v1/campaigns/{id}/statsSMTP providers/api/v1/subscribers/importAny SMTP with STARTTLS / SSL support. Step-by-step guides for popular providers./api/v1/replies/?status=positive10 more/api/v1/smtp/accountsAll SMTP guides/api/v1/account/balancePayment gatewaysThe optimal payment method for each region. All providers process payments on their side, Postigo does not store card details.
Bulko шлёт POST на ваш URL при каждом событии. Подпись HMAC-SHA256 в заголовке X-Bulko-Signature, ретраи с экспоненциальным backoff.
Cryptocurrency payments with extended stablecoin support. Lower commission than CoinGate.
Russian cards, SBP-QR. The fastest method for users in the Russian Federation.
No-code and CRM
REST API + Webhooks → compatible with any no-code platform. Below are typical scenarios.
Use "Webhooks by Zapier". Trigger: new lead in HubSpot → Action: POST /api/v1/subscribers/import + /api/v1/campaigns/launch.
HTTP Request node + Webhook node. Full control over request body, support for retry logic.
// Пример payload события "replied" { "event": "replied", "campaign_id": 142, "recipient": "[email protected]", "reply": { "subject": "Re: Quick question", "body": "Sounds great, when can we talk?", "received_at": "2026-05-09T14:32:11Z", "ai_classification": "positive", "ai_confidence": 0.94 }, "timestamp": "2026-05-09T14:32:14Z" }
Need a custom integration?
Под каждый регион — оптимальный способ оплаты. Все провайдеры обрабатывают платежи на своей стороне, Bulko не хранит реквизиты карт.
Search the knowledge base...
Popular sections
articles
Recent articles
blog
or
SMTP guides
Webhook на новую сделку → Bulko. Webhook от Bulko на положительный ответ → создаёт задачу в CRM.