Messenger API
Everything the panel can do with a connected Telegram, WhatsApp or Instagram account, over REST — one key, one response shape, chapter by chapter.
Segments, campaigns, tasks
Audiences from the contact card, drip campaigns with A/B steps, and reminders for the team.
Base URL: https://chatvendor.net/api/v1 · every response is {"success": true, "data": …}
GET
/segments
Saved audiences (segments) with rules and the cached size
channels:read
Scope: channels:read
Response 200
OK
curl https://chatvendor.net/api/v1/segments \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/segments/preview
Count contacts for ad-hoc rules (tags_any, tags_none, vars, active_days, silent_days, purchased, min_points, has_phone, networks, lead_status…)
channels:read
Scope: channels:read
Body (application/json)
rulesobjectResponse 200
OK
curl -X POST https://chatvendor.net/api/v1/segments/preview \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"rules":{"tags_any":"vip","active_days":30}}'
GET
/segments/{id}/contacts
Members of a segment (channel_id, peer_id, title, phone, tags, points); ?limit=&offset=
channels:read
Scope: channels:read
Parameters
idpath · integerrequiredSegment id
Response 200
OK
curl https://chatvendor.net/api/v1/segments/1/contacts \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/campaigns
Drip campaigns (entry rule, steps, enrolled)
channels:read
Scope: channels:read
Response 200
OK
curl https://chatvendor.net/api/v1/campaigns \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/campaigns/{id}
A campaign with per-step / per-variant stats (sent, replied, converted) and enrolment counts
channels:read
Scope: channels:read
Parameters
idpath · integerrequiredCampaign id
Response 200
OK
curl https://chatvendor.net/api/v1/campaigns/1 \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/campaigns/{id}/enrol
Put a contact into the campaign now (the first step follows its day/hour rule)
channels:write
Scope: channels:write
Parameters
idpath · integerrequiredCampaign id
Body (application/json)
channel_idstringpeer_idstringResponse 200
OK
curl -X POST https://chatvendor.net/api/v1/campaigns/1/enrol \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"channel_id":"wa_12","peer_id":"998901234567"}'
GET
/tasks
Open reminders of the team (?done=1 for finished, ?all=1 for both)
channels:read
Scope: channels:read
Response 200
OK
curl https://chatvendor.net/api/v1/tasks \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/tasks
Create a reminder; channel_id + peer_id tie it to a chat, user_id assigns it
channels:write
Scope: channels:write
Body (application/json)
titlestringdue_atstringnotestringuser_idintegerchannel_idstringpeer_idstringResponse 200
OK
curl -X POST https://chatvendor.net/api/v1/tasks \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '[]'
POST
/tasks/{id}/done
Mark a reminder done (undo=true reopens)
channels:write
Scope: channels:write
Parameters
idpath · integerrequiredTask id
Response 200
OK
curl -X POST https://chatvendor.net/api/v1/tasks/1/done \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"