Skip to main content
Sinch Engage is MessageMedia rebranded after the Sinch acquisition. It is a different product from Sinch, which is its own integration with its own credentials.The catalog also lists Sinch Engage / MessageMedia under the provider key messagemedia. It takes the same API key and secret and sends the same way, so an integration already on messagemedia keeps working and needs no migration. Use sinch-engage for a new integration.
Keep Sinch Engage as your SMS provider. Courier sends through your Sinch Engage account and adds templates, user preferences, failover to a backup provider, message logs, and more channels like email, push, and in-app Inbox. Sinch Engage bills you for SMS delivery, and Courier bills per send.

Prerequisites

Setup

In the console:
1

Create a new API key

Create a new API key.
2

Copy the API key and secret

Save the api_secret now. The console won’t show it again.
In Courier, open the Sinch Engage integration page, paste your credentials, and click “Save.”
Sinch Engage console dialog titled New API Credentials Created, showing an API key and API secret (masked) with Copy to clipboard and Ok buttons

API key in the console

Addressing a recipient and sending are the same on every SMS provider, so they are documented once: profile requirements and send to a recipient.

Overrides

How overrides work covers the two levels and which one wins. Overrides change the request body, config, and headers Courier sends to Sinch Engage. Override apiKey, apiSecret, isHmacEnabled, and url via config, and any SendMessages body field via body.

Delivery tracking

Courier gives the integration a unique webhook URL. Point the provider’s webhooks at it to sync delivery updates into Courier’s message logs. Copy the URL from the Sinch Engage integration in Courier, then follow these steps in the console:
1

Create a new webhook

Select “New Webhook”.
2

Paste Courier's webhook URL

Paste the URL you copied.
3

Select the delivery report events

Under “Event”, select “Message is rejected”, “Message has failed”, and “Message is delivered” in Delivery reports.
Sinch Engage webhook configuration with POST selected and the Message is rejected, failed, and delivered delivery reports checked

Webhook configuration

4

Map the webhook content

Under “Content”, map the fields passed to Courier’s webhook endpoint.
Only messageId, receivedTimestamp, status, and statusCode are supported.
Sinch Engage webhook Content mapping messageId, receivedTimestamp, status, and statusCode to their matching $ variables

Webhook Content Mapping

Delivery updates now appear in the message logs.
A Courier message log for a Sinch Engage send, ending in Delivery Confirmed, with the delivered status payload

Delivery Confirmation

Provider details

Courier recommends routing to the channel. Naming this key in routing.channels instead is supported, and sends through just this provider.

Send to a specific provider

When that is worth doing, and what you give up: failover, channel priority, and providers you add later.