Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

WhatsApp

Schemeswhatsapp://
Cargo featureservice-whatsapp
Servicehttps://developers.facebook.com/docs/whatsapp/cloud-api/get-started
Body formatstext (first is the default)
Attachmentsno
Title lengthno title (merged into the body)
Body length1,024 characters
Body linesunlimited
Request throttle200 ms between requests
Vendor URLs acceptedno

URL formats

{schema}://{token}@{from_phone_id}/{targets}
{schema}://{template}:{token}@{from_phone_id}/{targets}

{schema} is one of whatsapp://.

URL tokens

TokenMeaningTypeRequiredDefaultNotes
{from_phone_id}From Phone IDstringyessecret; must match ^[0-9]+$
{language}Languagestringnoen_USmust match ^[^0-9\s]+$
{target_group}Target Group IDstringnoprefix #; must match ^[0-9]{16,}$
{target_phone}Target Phone Nostringnoprefix +; must match ^[0-9\s)(+-]+$
{targets}Targetslistyesany of target_group, target_phone; separated by /
{template}Template Namestringnomust match ^[^\s]+$
{token}Access Tokenstringyessecret; must match ^[a-z0-9]+$

Query parameters

ParameterMeaningTypeDefaultNotes
fromFrom Phone IDstringsets {from_phone_id}; also source
langLanguagestringsets {language}
templateTemplate Namestringsets {template}
toTargetslistsets {targets}
tokenAccess Tokenstringsets {token}

Prefixed parameters:

  • :name=value: Template Mapping

The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.

Examples

Accepted URLs (tokens are fake):

whatsapp://eeeeeeee@12345/44444444444
whatsapp://eeeeeeee@12345/123/44444444444/abcd/
whatsapp://eeeeeeee@12345/44444444444/120363043968066561@g.us
whatsapp://eeeeeeee@12345/44444444444?:1=test
whatsapp://template:eeeeeeee@12345/44444444444?lang=fr_CA
whatsapp://template:eeeeeeee@12345/44444444444?:1=test&:body=3&:type=2
whatsapp://_?token=eeeeeeee&source=54321&to=44444444444
whatsapp://eeeeeeee@12345/44444444444?template=template&lang=fr_CA&language=de_DE

Rejected URLs:

whatsapp://template:eeeeeeee@12345/44444444444?lang=1234
whatsapp://%20:eeeeeeee@12345/44444444444
whatsapp://template:eeeeeeee@12345/44444444444?:invalid=23
whatsapp://template:eeeeeeee@12345/44444444444?:body=

Send one from the command line:

mercurio -t 'Backup' -b 'Finished in 42s' 'whatsapp://eeeeeeee@12345/44444444444'

Notes

WhatsApp Cloud API (whatsapp://): messages to WhatsApp numbers.