Update a wallet item

Updating an Item

The PUT method allows you to make updates to a current wallet item, including updating points balances and sending notifications. To do so, you’ll need the wallet_id of the campaign the item belongs to and the specific wallet_item_id.

When will the end user see the update?

For any person records with Apple Wallet items, the update to the person’s device will occur automatically if the application is configured to support server-pushed updates (this is controlled by the person via the Passbook Mobile Application). The person is also able to manually request an update via the Passbook Mobile Application. For Persons with Google Pay items, the update to the Person’s device will occur automatically via Google Wallet web services.

Request Body

In the body of the request, you can redefine any values except for the wallet_item_id, campaign_ref, url, provider, created_at, and updated_at fields. If you’d like to remove a value from a field altogether, you can do so by setting the value to NULL. Any fields omitted in the body will be left as-is.

In the example below, we will demonstrate how to:

  • Change the value in the end user’s wallet pass to 952
  • Send an Apple Wallet notification
  • Update the copy on a relevant location notification

📱

Google Pay restrictions

Notifications for Google Pay are not currently supported. This can only be done on Apple Wallet.

{
  "tokens": {
    "loyalty_balance": "952",
    "barcode_value": "494dd709-8cd1-4dfc-8886-04c8bb5aad12"
  },
  "locations": [
    {
      "latitude": 43.6867,
      "longitude": -85.0102,
      "relevant_text": "Redeem your points @ Sub Shop on Adams St!"
    }
  ],
  "passbook": {
    "notification": "Your updated balance = 952!"
  }
}

Update Dynamic Strip Image

The strip image is the main image for your wallet item. Just like other parts of the wallet, it can also be updated via an API PUT call, which allows you to change what a user sees as their card. For example, you can use this call to upgrade an individual’s reward status or during seasonal promotions.

Before making this call, please reach out to your Vibes account representative to enable dynamic strip images for your wallet campaign.

Request Body

The field type specified in the body is IMAGE_CODE (this must be in all caps). The value should be the image file name you have provided Vibes (without the file type extension).

In the example below, we are changing the IMAGE_CODE field value to insert a new holiday themed rewards image. This will only update the image for this particular pass holder, not for other passholders in this campaign.

The original image file would have been named "`medium_tier_rewards_holiday.png", notice that in the payload we are not including ".png".

{
  "tokens": {
    "IMAGE_CODE": "medium_tier_rewards_holiday",
    "loyalty_balance": "952"
  },
  "locations": [
    {
      "latitude": 43.6867,
      "longitude": -85.0102,
      "relevant_text": "Redeem your points @ Sub Shop on Adams St!"
    }
  ],
  "passbook": {
    "notification": "Your updated balance = 952!"
  }
}

Mark Pass Passes as Redeemed or Expired

Although you can set static expiration dates in the Vibes platform or generate rolling expiration dates, you may want to remove pass scan functionality when a pass is redeemed in real time. To do so, simply use the PUT method to set the expiration date to a date into the past.

On iOS, the barcode image will grey out, and text will appear beneath it that reads "this pass has expired". On Android, the pass will be moved into the expired pass section.

Request Body

In the request body, be sure to include the expiration_date token and set the value to a date in the past, preferably the specific date or date/time the pass was utilized.

Please use ISO8601 format:: YYYY-MM-DD for date or YYYY-MM-DDTHH:MM:SS+0:00 for date/ and time.

Response

If the update was successful, a wallet item entity reflecting the new state of the item will be returned. You will also get an HTTP 200 status code.

If the wallet campaign or the wallet item cannot be found, an HTTP 404 - NOT FOUND error will be returned.

iOS Expired Pass Example:

Android Expired Pass Example

Language
Authorization
Basic
base64
:
URL
Click Try It! to start a request and see the response here!