Send messages
Send SMS and WhatsApp messages, follow them, and cancel ones that haven't gone.
$goomzo->messages sends messages, each to its own person, and reads them back. For the fields of a message, see
Send messages.
Send one message
$message = $goomzo->messages->sendOne([
'to' => '+255712345678',
'channel' => 'sms',
'content' => ['text' => 'Amina, order #1042 is ready.'],
]);sendOne returns the message, its status sending, or scheduled with a sendAt.
Send up to 100
$messages = $goomzo->messages->send(['messages' => [
['to' => '+255712345678', 'channel' => 'sms', 'content' => ['text' => 'Amina, order #1042 is ready.']],
['customerId' => 'cus_4hq2v9n1c8x0t6pk', 'channel' => 'whatsapp', 'content' => ['text' => 'Juma, order #1043 is ready.']],
]]);They're queued all or none. If one isn't valid, none is sent, and the error names it, such as messages[1].to.
Send to many people
A broadcast sends one message to segments, numbers or every customer:
$goomzo->broadcasts->create([
'name' => 'Black Friday',
'channel' => 'sms',
'content' => ['text' => 'Hi {{name|there}}, 20% off everything today.'],
'audience' => ['segments' => [['name' => 'VIP']]],
]);See Broadcasts.
Read messages
$message = $goomzo->messages->get('msg_7c1x9v2b4n6m8q0w');
foreach ($goomzo->messages->list(['status' => 'failed']) as $message) {
echo $message['to']['phone'], ': ', $message['error'];
}Other methods
| Method | Does |
|---|---|
messages->cancel($id) | Cancels a message that hasn't gone. |
messages->senders() | Lists the SMS sender IDs you can send from. |
messages->media($receivedId) | Gets a file a customer sent on WhatsApp. |
broadcasts->get($id) | Gets a broadcast, with how its messages are doing. |
broadcasts->list() | Lists broadcasts. |
broadcasts->cancel($id) | Cancels a broadcast that hasn't gone. |
Note: Follow a message's status with webhooks, not by asking again and again.
Next steps
Last updated