LogoLogo
Jump to...Create Free API Account
  • Developer Center Introduction
  • Getting Started
    • Get an API Key
    • Send a Message
    • Add a Subscriber
    • Setting up Webhooks
  • Check Delivery Status
  • API Basics
    • Request / Response Headers
    • Request Parameters
    • Rate Limits
    • Error Response Codes
  • Messaging Routes
    • 10DLC
    • Toll-Free
    • Short Code
    • iMessage
    • RCS / RBM
  • Tutorials
    • Message Sending
      • Send an SMS Message
      • Send an MMS Message
      • Send an iMessage
        • Sender Identity
        • Subscriber Opt In
        • Send iMessages
        • SMS Fallback
      • Message Templates
      • Receive and Reply to Messages
    • Manage Subscribers
      • Custom Subscriber Attributes
      • Group Subscribers
      • Bulk Create/Update Subscribers
    • Webhooks
      • Setting up your first webhook
  • Use Cases
    • Generate and validate 2FA / MFA codes via SMS
  • FAQ
  • API Reference
Powered by GitBook
LogoLogo

Resources

  • Help Center
  • Contact

Company

  • About Us
  • Privacy Policy
  • Service Agreement

Connect with Us

  • YouTube
  • Facebook
  • X (Twitter)
  • Instagram

Mobile Text Alerts © 2025

On this page

Was this helpful?

Export as PDF
  1. Tutorials
  2. Message Sending
  3. Send an iMessage

Subscriber Opt In

Learn about subscriber opt in and how do this with MTA's deeplinks

PreviousSender IdentityNextSend iMessages

Last updated 2 months ago

Was this helpful?

As with SMS, capturing the proper consent and opt-ins from your recipients is critical to successful usage of iMessage capabilities. Capturing opt-ins ensures that your recipients are expecting the iMessage and gives you the opportunity to identify yourself to the recipient. This ensures that your messages are safely delivered and not marked as spam by the recipient.

iMessage Opt In

You must receive an inbound opt-in message before you send outbound iMessages. An explicit iMessage opt-in is required regardless of whether an opt-in was collected for communications via SMS or email. This can be as simple as sending in "Sign me up" to your Sender Identity.

To help facilitate this, Mobile Text Alerts provides a feature that automatically tracks iMessage opt-ins.

Deeplinks

A deeplink looks and works like a standard website link but behaves differently depending on the user's browser, device, or operating system. Mobile Text Alerts provides a powerful deeplinking technology that can both identify if a recipient is capable of sending iMessages and link to a prompt to send their first inbound opt-in message to your Sender Identity.

Generate a Deeplink with the API

Deeplinks used for iMessages can be generated by calling the endpoint with the following fields:

  • senderName: The sender name used to pre-populate the "To:" field for iMessage

    • If no senderName is provided, the longcodeId is required for a valid request.

  • optInMessage: The opt-in message used to populate the deeplink urls.

  • longcodeId: The id of the associated fallback longcode for your senderName

Example request

curl --location 'https://api.mobile-text-alerts.com/v3/deeplinks/imessage' \
--data '{
    "longcodeId": 12345,
    "optInMessage": "Example"
}'

Example successful response

{
  "deeplinkUrl": "https://platform.mobile-text-alerts.com/deeplinks/abc"
}

How to use a Mobile Text Alerts deeplink:

1

Generate your iMessage opt-in link

2

Direct your subscribers to this deeplink

Through your method of choice, get this link to your subscribers. For example, you could send an SMS campaign from Mobile Text Alerts that announces your customers can now receive iMessages from you by clicking the link.

3

Recipient clicks the link, iMessage on the device is verified

Once clicked, Mobile Text Alerts with automatically detect whether the recipient can send/receive iMessages.

  • iMessage detected: If the recipient can send/receive iMessages, Mobile Text Alerts will redirect them to a special iMessage specific link which launches iMessage and prefills their opt-in message. All they have to do is hit send.

    • Example: imessage://yoursenderidentity@your-imsg-domain.com&body=Signup)

  • Cannot send/receive iMessages: If the link was opened on an Android phone, the web, or other non iMessage supported device, the deeplink will gracefully redirect them to a context-sensible location.

    • Example: Launch the SMS app instead, show a web opt-in form, etc

If you choose another method to prompt recipients for opt in to iMessages, you can still use the special imessage:// style URL to launch the iMessage app and prefill the message.

Send Outbound Messages First

Mobile Text Alerts currently does not allow outbound messages to be sent to recipients before receiving an inbound opt-in message. As a result, messages can only be sent via iMessage to recipients that have explicitly completed the opt-in flow. This provides the best protection for your Sender Identities. Recipients are naturally wary of receiving unsolicited messages through iMessage because it is primarily a peer-to-peer messaging system. Apple may prompt users with a "Report Junk" warning for outbound messages received without an explicit inbound message from the recipient. These reports can result in your Sender Identity being blocked or disabled, which will directly impact your ability to deliver messages via iMessage. MTA opt-in requirement provides the best possible protection for your Sender Identities.

Are there ways to send outbound messages first via iMessage?

Example: https://mobile-text-alerts.com/deeplink/abcd1234

In certain uncommon cases, the restriction on requiring an inbound opt-in can be relaxed for individual Sender Identities, after careful review by our team. As described , this significantly increases the risk of impact on delivery rates for that Sender Identity, and in requesting to lift this restriction, you are accepting that increased risk. Our team will only consider these requests for pre-existing Sender Identities that have already been in use. Our evaluation will look at the age of the Sender Identity (min 3 months old), number of active conversations, and overall inbound message reply rates. It is not guaranteed that a Sender Identity will be approved for outbound-first messaging.

deeplink
/deeplinks/imessage
See steps above.
above
  • iMessage Opt In
  • Deeplinks
  • Generate a Deeplink with the API
  • POSTCreate IMessage Deeplink
  • How to use a Mobile Text Alerts deeplink:
  • Send Outbound Messages First

Create IMessage Deeplink

post

This feature is currently in closed beta. Please contact your MTA account rep or MTA support for more information.

Request Body

  • longcodeId: The id of the longcode.

  • optInMessage: The opt-in message used to populate the deeplink urls.

  • senderName: The sender name used to pre-populate the "To:" field for iMessage

    • If this field is empty, the sender name associated with the longcode will be used as the default.

Response

Upon successful creation, the response will include the deeplinkUrl

Example

Request:

{
  "longcodeId": 1337,
  "optInMessage": "Example",
  "senderName": "example@i-msg.co"
}

Response:

{
  "deeplinkUrl": "https://platform.mobile-text-alerts.com/deeplinks/abc"
}

undefined

Authorizations
Body
longcodeIdnumberOptional
optInMessagestringRequired
senderNamestringOptional
Responses
200
Success
application/json
Responseall of
400
BadRequestError
application/json
401
UnauthorizedError
application/json
403
ForbiddenError
application/json
500
InternalServerError
application/json
post
POST /v3/deeplinks/imessage HTTP/1.1
Host: api.mobile-text-alerts.com
Authorization: Bearer apiKey
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "longcodeId": 1,
  "optInMessage": "text",
  "senderName": "text"
}
{
  "statusCode": "MTANoLinkedAccountError",
  "success": true,
  "error": "text",
  "message": "text",
  "data": {
    "deeplinkUrl": "text"
  }
}