Skip to content
ChatVendor ChatVendor

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.

Bookings

Services, free time slots and appointments — what the “Booking” scenario step uses.

Base URL: https://chatvendor.net/api/v1 · every response is {"success": true, "data": …}

GET /services Bookable services (duration, price)

Scope: channels:read

Response 200

OK

curl https://chatvendor.net/api/v1/services \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET /services/{service}/slots Free time slots of a service on a date (?date=YYYY-MM-DD, Asia/Tashkent)

Scope: channels:read

Parameters

servicepath · integerrequired

Service id

datequery · string

Response 200

OK

curl https://chatvendor.net/api/v1/services/{service}/slots \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET /bookings Bookings (filters: status, from, to, limit)

Scope: channels:read

Response 200

OK

curl https://chatvendor.net/api/v1/bookings \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST /bookings Book a slot (starts_at must be a free slot); channel_id + peer_id link it to a chat so reminders reach the customer

Scope: channels:write

Body (application/json)

service_idintegerrequired
starts_atstringrequired
namestring
phonestring
notestring
channel_idstring
peer_idinteger
statusstring: pending | confirmed

Response 200

OK

curl -X POST https://chatvendor.net/api/v1/bookings \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '{"service_id":1,"starts_at":"…"}'
PATCH /bookings/{id} Change status (confirmed / cancelled / done / no_show), move (starts_at) or note

Scope: channels:write

Parameters

idpath · integerrequired

Booking id

Body (application/json)

statusstring
starts_atstring
notestring
notifyboolean

Response 200

OK

curl -X PATCH https://chatvendor.net/api/v1/bookings/1 \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '[]'