Messenjer API
Panel ulangan Telegram, WhatsApp yoki Instagram akkaunt bilan qila oladigan hamma narsa — REST orqali: bitta kalit, bitta javob formati, bo'limma-bo'lim.
Endpointlar /api/v1/channels/{id}/… ostida, {id} — GET /channels'dan olinadigan kanal id (WhatsApp uchun wa_…, Instagram uchun ig_…). Scope'lar: channels:read, channels:write, leads:read, leads:write, scenarios:manage, ai:use. API imkoniyatli tarif talab qilinadi. Quyidan bo'limni tanlang.
Telegram: chatlar va xabarlar
Ulangan Telegram akkauntning (user yoki bot) chatlari, xabarlari, fayllari, mediasi, kontaktlari va qidiruvi.
{id} — GET /channels dagi kanal id. {peer} — Telegram peer: raqamli id (guruh/kanallar manfiy, masalan -1001234567890), @username yoki telefon +9989…
Bot akkauntlar xuddi shu endpointlar bilan ishlaydi; ularda dialoglar ro'yxati yo'q — chatlar mijozlar yozgani sari paydo bo'ladi. Xabar mediasida ref bor — uni POST /dialogs/{peer}/media ga bersangiz, o'sha stiker/rasm qayta yuklamasdan yuboriladi.
Base URL: https://chatvendor.net/api/v1 · har javob {"success": true, "data": …}
GET
/me
Workspace, plan and number of channels
Javob 200 · Me
id integerworkspace stringplan stringaccounts integerrate_limit string
curl https://chatvendor.net/api/v1/me \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels
Connected Telegram accounts
channels:read
Ruxsat: channels:read
Javob 200 · Channel[]
id integertype string: telegram_user | telegram_bot | whatsapp | instagramname stringusername stringphone stringstatus stringconnected_at string (date-time)
curl https://chatvendor.net/api/v1/channels \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}
One channel
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
Javob 200 · Channel
id integertype string: telegram_user | telegram_bot | whatsapp | instagramname stringusername stringphone stringstatus stringconnected_at string (date-time)
curl https://chatvendor.net/api/v1/channels/1 \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/dialogs
Chats of a channel
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
typequery · string: user | bot | group | supergroup | channelqquery · stringper_pagequery · integerlivequery · integer1 = refresh from Telegram first
Javob 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/1/dialogs \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/dialogs/{peer}/messages
Messages of a chat
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
limitquery · integerbeforequery · integerafterquery · integerlivequery · integerJavob 200 · ChatMessage[]
id integerchat_id integersender_id integersender_name stringout booleandate string (date-time)text stringmedia objectreply_to integertopic_id integerbuttons object[][]
curl https://chatvendor.net/api/v1/channels/1/dialogs/@username/messages \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/{id}/dialogs/{peer}/messages
Send a text message
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
So'rov tanasi (application/json)
textstringmajburiyreply_tointegerparse_modestring: md | html | nonesilentbooleanschedulestring (date-time)Javob 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/1/dialogs/@username/messages \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"text":"…"}'
POST
/channels/{id}/dialogs/{peer}/file
Send a file (multipart/form-data: file, caption, as=auto|document|voice)
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
multipart/form-data — maydonlar yuqoridagi tavsifda.
Javob 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/1/dialogs/@username/file \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-F "file=@photo.jpg" -F "caption=…"
POST
/channels/{id}/dialogs/{peer}/forward
Forward messages
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
So'rov tanasi (application/json)
idsinteger[]majburiyto_peerstringmajburiydrop_authorbooleanJavob 200
OK
curl -X POST https://chatvendor.net/api/v1/channels/1/dialogs/@username/forward \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"ids":1,"to_peer":"…","drop_author":true}'
POST
/channels/{id}/dialogs/{peer}/delete
Delete messages
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
So'rov tanasi (application/json)
idsinteger[]majburiyrevokebooleanJavob 200
OK
curl -X POST https://chatvendor.net/api/v1/channels/1/dialogs/@username/delete \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"ids":1,"revoke":true}'
POST
/channels/{id}/dialogs/{peer}/read
Mark a chat as read
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Javob 200
OK
curl -X POST https://chatvendor.net/api/v1/channels/1/dialogs/@username/read \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/dialogs/{peer}/messages/{message}/media
Download media (?thumb=1 for a thumbnail)
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
messagepath · integermajburiyMessage id
Javob 200
The file
curl https://chatvendor.net/api/v1/channels/1/dialogs/@username/messages/123/media \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/peers/{peer}
User / group info
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Javob 200 · Peer
id integertype stringtitle stringusername stringphone string
curl https://chatvendor.net/api/v1/channels/1/peers/@username \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/resolve
Resolve @username, t.me link or phone to a peer
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
qquery · stringmajburiyJavob 200 · Peer
id integertype stringtitle stringusername stringphone string
curl https://chatvendor.net/api/v1/channels/1/resolve?q=… \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/{id}/contacts
Add a contact
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
So'rov tanasi (application/json)
phonestringmajburiyfirst_namestringmajburiylast_namestringJavob 200 · Peer
id integertype stringtitle stringusername stringphone string
curl -X POST https://chatvendor.net/api/v1/channels/1/contacts \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"phone":"…","first_name":"…","last_name":"…"}'
POST
/channels/{id}/dialogs/{peer}/album
Send an album (multipart/form-data: files[] 2–10, caption, reply_to, topic)
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
multipart/form-data — maydonlar yuqoridagi tavsifda.
Javob 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/1/dialogs/@username/album \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-F "file=@photo.jpg" -F "caption=…"
POST
/channels/{id}/dialogs/{peer}/media
Send existing media by ref (sticker, saved GIF, media from any message)
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
So'rov tanasi (application/json)
refstringmajburiycaptionstringreply_tointegertopicintegerspoilerbooleanschedulestring (date-time)Javob 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/1/dialogs/@username/media \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"ref":"…"}'
POST
/channels/{id}/dialogs/{peer}/messages/{message}/click
Press a bot keyboard button (by data, text or index)
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
messagepath · integermajburiyMessage id
So'rov tanasi (application/json)
datastringtextstringindexintegerJavob 200 · ButtonAnswer
pressed stringmessage stringalert booleanurl string
curl -X POST https://chatvendor.net/api/v1/channels/1/dialogs/@username/messages/123/click \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"data":"…","text":"…","index":1}'
GET
/channels/{id}/dialogs/{peer}/messages/{message}/link
Public t.me link of a channel/group message
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
messagepath · integermajburiyMessage id
Javob 200 · Link
link stringhtml string
curl https://chatvendor.net/api/v1/channels/1/dialogs/@username/messages/123/link \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/dialogs/{peer}/messages/{message}/replies
Comments under a post / replies in a topic
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
messagepath · integermajburiyMessage id
Javob 200 · MessagePage
messages ChatMessage[]count integer
curl https://chatvendor.net/api/v1/channels/1/dialogs/@username/messages/123/replies \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET
/channels/{id}/dialogs/{peer}/mentions
Unread mentions (?reactions=1: unseen reactions to our messages)
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
Javob 200 · MessagePage
messages ChatMessage[]count integer
curl https://chatvendor.net/api/v1/channels/1/dialogs/@username/mentions \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
PUT
/channels/{id}/dialogs/{peer}/draft
Save the chat draft (empty text clears it)
channels:write
Ruxsat: channels:write
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
peerpath · stringmajburiyTelegram peer: numeric id (channels/groups negative, e.g. -1001234567890), @username or phone
So'rov tanasi (application/json)
textstringreply_tointegertopicintegerJavob 200
OK
curl -X PUT https://chatvendor.net/api/v1/channels/1/dialogs/@username/draft \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"text":"…","reply_to":1,"topic":1}'
GET
/channels/{id}/search
Full-text search across all chats
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
qquery · stringmajburiykindquery · string: users | groups | channelslimitquery · integerJavob 200 · MessagePage
messages ChatMessage[]count integer
curl https://chatvendor.net/api/v1/channels/1/search?q=… \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST
/channels/{id}/translate
Translate text or messages with Telegram's translator
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
So'rov tanasi (application/json)
tostringmajburiyISO 639-1
textstringpeerstringidsinteger[]Javob 200 · Translation[]
text string
curl -X POST https://chatvendor.net/api/v1/channels/1/translate \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
-H "Content-Type: application/json" \
-d '{"to":"…"}'
GET
/channels/{id}/preview
Link preview Telegram would attach to this text
channels:read
Ruxsat: channels:read
Parametrlar
idpath · integermajburiyChannel id (from GET /channels)
textquery · stringmajburiyJavob 200 · WebPage
url stringsite_name stringtitle stringdescription stringhas_photo boolean
curl https://chatvendor.net/api/v1/channels/1/preview?text=… \
-H "Authorization: Bearer cv_live_xxxxxxxxxxxx"