Skip to main content

Push Providers

Courier integrates with many different push providers. Each provider may have specific requirements in order to deliver a message to a recipient.
TIPCan’t find a provider? Send us a chat ↘ or email support@courier.com

Push channel override

Push channel overrides allow you to set the body, clickAction, data, icon, and title of a push notification. Data structure for the push channel override:
{
  "message": {
    "channels": {
      "push": {
        "override": {
          "body": "",
          "clickAction": "",
          "data": "",
          "icon": "",
          "title": ""
        }
      }
    }
    //... rest of message
  }
}

Tracking

Courier will attach a trackingUrl for all push requests that allow the state of the push notification to be updated. See the provider-specific documentation for details about where the tracking URL can be found. To update the status of a notification, the Courier client-side authentication token can be used.

Example Message

{
  "message": {
    "data": {
      "trackingUrl": "https://api.courier.com/e/123_channelTrackingId"
      // other data attributes
    }
    // other messages attributes
  }
}

Example Request

fetch("https://api.courier.com/e/123_channelTrackingId", {
  method: "POST",
  headers: {
    "X-Courier-Client-Key": "YOUR_COURIER_CLIENT_KEY",
  },
  body: JSON.stringify({
    event: "OPENED", // CLICKED, DELIVERED, OPENED, READ, UNREAD
  }),
});

Provider-Specific Tracking

Different push providers include the trackingUrl in different parts of their payload:

Airship

Courier will send trackingUrl in global_attributes data bag when you receive push notification in your client application.

APN (Apple Push Notifications)

trackingUrl will be part of data attribute in incoming payload when you receive push notification in your client application.

Firebase

trackingUrl will be part of data attribute in incoming message payload when you receive push notification in your client application.

Expo

trackingUrl will be part of data attribute in incoming payload when you receive push notification in your client application.

Pusher

trackingUrl will be part of data attribute in the incoming payload when you receive push notification in your client application.