---
title: promotionalOfferSignatureV1
framework: retentionmessaging
role: symbol
role_heading: Object
path: retentionmessaging/promotionaloffersignaturev1
---

# promotionalOfferSignatureV1

The promotional-offer signature you generate using an earlier signature version.

## Declaration

```data
object promotionalOfferSignatureV1
```

## Properties

encodedSignature: The Base64-encoded cryptographic signature you generate using the offer parameters. productId: The subscription’s product identifier. nonce: A one-time-use UUID antireplay value you generate. Use lowercase. timestamp: The UNIX time, in milliseconds, when you generate the signature. keyId: A string that identifies the private key you use to generate the signature. You can find this identifier in App Store Connect Users and Access > Keys in the Key ID column for the subscription key you generate. offerIdentifier: The subscription offer identifier that you set up in App Store Connect. appAccountToken: A UUID that you provide to associate with the transaction if the customer accepts the promotional offer. The string representation of the appAccountToken needs to be lowercase.

## Discussion

Discussion To provide a promotional-offer retention message, you need to cryptographically sign the offer and include it in the promotionalOffer parameter of your RealtimeResponseBody response. tip: For a simpler implementation, use promotionalOfferSignatureV2 instead. For instructions on generating the encodedSignature for the promotionalOfferSignatureV1, see Generating a signature for promotional offers.
