Skip to main content
Version: 1.0

Concepts & Architecture

Before making your first request, understanding these four concepts will prevent most integration questions and errors.

Application

An Application is the main organizational unit within Hub Chatt2.me. It:

  • Groups one or more communication channels
  • Has its own API Key
  • Controls the access scope — a key can only see the channels of its own Application

Think of the Application as your "project" or "product" within the platform.

Channel

A Channel is the connection between your Application and a messaging platform. Examples:

ChannelWhat it represents
WhatsAppA phone number connected via the WhatsApp Business API with Meta
InstagramAn Instagram Business account authorized via OAuth (Facebook or Instagram)
Facebook MessengerA connected Facebook Page
TelegramA Telegram Bot (via Bot Token)
SMSAn SMS number configured via Twilio
Web ChattA first-party web chat widget embedded on your site (configured in Hub)

The from field

In all message-sending endpoints, the from field is the channel UUID:

{
"from": "6cbd6789-1d2b-47e0-9391-5eb91d2839ea",
"to": "5511993986082",
"content": { "text": "Hello!" }
}

This UUID is generated by the platform when you connect the channel. You can find the channel UUID in the Application dashboard, under the Channels section.

tip

Store your channel UUIDs as environment variables in your backend. They do not change unless the channel is disconnected and reconnected.

Message

A Message is the sending payload — what you want to send and to whom. Every message has:

  • from — UUID of the sending channel
  • to — recipient identifier in the channel
  • content — the content (text, image, interactive, etc.)

The to field

The format of to varies by channel:

ChannelFormat of toExample
WhatsAppE.164 number (without +)5511993986082
InstagramIGSID (Instagram user ID)847495124317323
MessengerPSID (Messenger conversation ID)26203292189261166
Telegramuser/group chat_id8568649397
SMSE.164 number (with +)+5511944574999
Web ChattVisitor identifier (from webhooks when the visitor messages you)(per inbound payload)
Web Chatt setup

Connecting the widget and allowed origins are done in the Hub UI. See Web Chatt.

Message status

A send response returns two fields:

{
"messageId": "9307b9ab-5fab-4151-b7c2-b00c2a8a6e8e",
"status": "sent"
}
StatusMeaning
sentThe message was successfully sent to the channel (Telegram, Instagram, SMS)
enqueuedThe message was received and is in the send queue (WhatsApp, Messenger)
errorSend failed — check errorMessage and errorCode in the response

The messageId can later be used in webhook logs to track delivery status.

Webhook

A Webhook is an HTTP endpoint you register on the platform to receive real-time notifications. There are two event types:

EventWhen it fires
MessageWhen a user sends a message to your channel
MessageStatusWhen the delivery status of a message changes (delivered, read)

Without a configured webhook, you can only send messages — not receive them.

Full flow

Your API Key


Application (groups channels and defines key scope)

├── Channel WhatsApp (from: uuid-wa)
├── Channel Telegram (from: uuid-tg)
└── Channel Instagram (from: uuid-ig)


POST /v1/communication/{channel}/message
{ from, to, content }


{ messageId, status }

▼ (asynchronous, via webhook)
Your endpoint receives message received / status events