Set up SMS or email
https://whatsapp.paaltech.org/api/v1/businesses/{external_id}/channels/{channel}
Token ability:
connections.manage
ยท Authentication
Turns SMS or email on for the business. Call again to change anything.
SMS goes through provider - arkesel (the default) or hubtel - under
sender_id (1-11 letters, digits or spaces; a business's own sender ID must first be
approved by that provider). PaalTech's account sends by default. With Arkesel a
business may send with its own Arkesel account instead: pass arkesel.api_key.
PaalChat checks the key with Arkesel, stores it encrypted and never returns it
(own_key: true); omit it to keep a saved key, send null to remove it. Switching
to Hubtel removes it.
Email goes through Resend from from - an address on a domain PaalChat sends for.
Path parameters
external_id
string
required
Your own ID for the business (Multi-SKUUL - the tenant ID).
Max 191 characters. Pattern ^[A-Za-z0-9._:-]+$.
channel
string
required
One of: sms, email.
Body parameters
sender_id
string | null
SMS: 1-11 letters, digits or spaces.
Max 11 characters.
provider
string | null
SMS: the provider (default arkesel).
One of: arkesel, hubtel, ``.
arkesel
object | null
SMS through Arkesel: the business's own account.
api_key
string | null
arkesel.api_key
The business's own Arkesel API key; null removes a saved one. Never returned.
from
string
Email - required.
Format email.
from_name
string | null
Max 100 characters.
reply_to
string | null
Format email.
Responses
Set up (status connected, or pending until PaalTech has set the provider up).
unauthenticated - missing, invalid, revoked or expired token
missing_ability, product_suspended or product_token_required
not_found - not yours, or does not exist
validation_failed; channel_not_allowed (a sender ID, from address or provider PaalChat cannot use); invalid_provider_credentials (Arkesel does not accept the key).
rate_limited - over 300 requests/minute for this product
provider_unavailable - Arkesel could not be reached to check the key; try again shortly.
Errors always look like {"error": {"code", "message"}} - see Errors and status codes.