Wallet Messaging API

A wallet message (also known as a wallet notification) is a way to communicate with your end users directly in their wallet app. These messages may display differently depending on which operating system the end user is on.

See our Wallet Notification guide for more information.

Available API Methods

Notes for messaging to Android devices

  • Geofenced notifications unavailable: Google has temporarily made geofenced notifications unavailable for a majority of users while they make platform improvements.
  • 12-hour notification restriction: Google doesn't allow notifications for messages sent to wallet passes within the first 12 hours after installation. Any updates or messages within this period will still appear on the pass, but no notification will appear on the user's lock screen.
  • Messaging cap: There is a limit of 3 push notification per 24-hour period for Android Wallet passes. Updates and messages will still appear on the pass, but no notification will appear on the user's lock screen.

Elements & Attributes

Data ElementTypeDescription
wallet_message_idStringUnique system-generated identifier for each message created
messageObjectObject reference for the message components.
message.templateStringMessage template that contains the message to be sent to each item.
message.headerStringOptional header value to display with the message.
  • *Note**: Currently only used with Android wallet objects.
recipient_countIntegerNumber of items that were included in the message.
campaign_refObjectObject that contains data relevant to the wallet campaign this wallet message is associated with.
campaign_ref.idStringReference to wallet_id that identifies the wallet campaign this message is associated with.
campaign_ref.typeStringCampaign type (“Offer” or “Loyalty”).
campaign_ref.urlStringReference to internal URL of mobile wallet campaign entity associated with this message.
filtersArrayOptional array of filter objects that will target the message to specific items in the wallet campaign.
created_atTimestampTimestamp for when the campaign was created. It should be in the ISO 8601 format - for example: 2017-01-15T14:30Z.
updated_atTimestampTimestamp for when the campaign was last updated. It should be in the ISO 8601 format - for example: 2017-02-18T19:30Z.

Entity Example

This is an example of a wallet message entity.

{
  "wallet_message_id": "abcdef23SDF2",
  "message": {
    "template": "This is the updated message I would like to send.",
    "header": "Header, for Google Wallet only."
  },
  "campaign_ref": {
    "id": "abCDefGHij",
    "type": "Loyalty",
    "url": "/companies/:company_id/campaigns/wallet/abCDefGHij"
  },
  "filters": [
    {
      "name": "group_code",
      "selector": "starts_with",
      "value": "DEA"
    },
    {
      "name": "providers",
      "selector": "any",
      "value": [
        "Passbook"
      ]
    }
  ],
  "recipient_count": 75,
  "url": "/companies/:company_id/campaigns/wallet/abCDefGHij/messages/abcdef23SDF2",
  "created_at": "2017-01-15T14:30Z",
  "updated_at": "2017-02-18T19:30Z"
}