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.
Messenger, Viber, website chat
The same chat endpoints for a Facebook Page (fb_{id}), a Viber bot (vb_{id}) and the website widget (web_{id}).
Base URL: https://chatvendor.net/api/v1 · every response is {"success": true, "data": …}
GET
/channels/fb_{id}/dialogs
Messenger (Facebook Page): chats (peer = PSID). Messages, file, read, media: the same paths as WhatsApp with fb_{id}
channels:read
Scope: channels:read
Parameters
idpath · integerrequiredChannel id (from GET /channels)
Response 200 · Dialog[]
peer_id integertype stringtitle stringusername stringunread_count integerlast_message_at string (date-time)last_message_text string
curl https://chatvendor.net/api/v1/channels/fb_1/dialogs \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/fb_{id}/dialogs/{peer}/messages
Messenger: send text (buttons = quick replies; reply_to + public_reply answers a comment in the thread)
channels:write
Scope: channels:write
Parameters
idpath · integerrequiredChannel id (from GET /channels)
peerpath · stringrequiredTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Body (application/json)
textstringreply_tointegerbuttonsstring[]Response 200 · ChatMessage
id integerchat_id integersender_id integersender_name stringout booleandate string (date-time)text stringmedia objectreply_to integertopic_id integerbuttons object[][]
curl -X POST https://chatvendor.net/api/v1/channels/fb_1/dialogs/@username/messages \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"text":"…","reply_to":1,"buttons":[]}'
GET
/channels/vb_{id}/dialogs
Viber bot: chats (peer = local id; user ids are strings). Messages, file, read, media: the same paths as WhatsApp with vb_{id}
channels:read
Scope: channels:read
Parameters
idpath · integerrequiredChannel id (from GET /channels)
Response 200 · Dialog[]
peer_id integertype stringtitle stringusername stringunread_count integerlast_message_at string (date-time)last_message_text string
curl https://chatvendor.net/api/v1/channels/vb_1/dialogs \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/vb_{id}/dialogs/{peer}/messages
Viber: send text (buttons = reply keyboard, up to 24; a button may carry url)
channels:write
Scope: channels:write
Parameters
idpath · integerrequiredChannel id (from GET /channels)
peerpath · stringrequiredTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Body (application/json)
textstringbuttonsstring[]Response 200 · ChatMessage
id integerchat_id integersender_id integersender_name stringout booleandate string (date-time)text stringmedia objectreply_to integertopic_id integerbuttons object[][]
curl -X POST https://chatvendor.net/api/v1/channels/vb_1/dialogs/@username/messages \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"text":"…","buttons":[]}'
GET
/channels/web_{id}/dialogs
Website widget: visitor chats (peer = visitor id). Messages, file, read, media: the same paths as WhatsApp with web_{id}
channels:read
Scope: channels:read
Parameters
idpath · integerrequiredChannel id (from GET /channels)
Response 200 · Dialog[]
peer_id integertype stringtitle stringusername stringunread_count integerlast_message_at string (date-time)last_message_text string
curl https://chatvendor.net/api/v1/channels/web_1/dialogs \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/web_{id}/dialogs/{peer}/messages
Website widget: send text to a visitor (buttons render as chips; a button may carry url)
channels:write
Scope: channels:write
Parameters
idpath · integerrequiredChannel id (from GET /channels)
peerpath · stringrequiredTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Body (application/json)
textstringbuttonsstring[]Response 200 · ChatMessage
id integerchat_id integersender_id integersender_name stringout booleandate string (date-time)text stringmedia objectreply_to integertopic_id integerbuttons object[][]
curl -X POST https://chatvendor.net/api/v1/channels/web_1/dialogs/@username/messages \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"text":"…","buttons":[]}'