Getting Started

How to get credentials and set up your integration with the LiSTNR Preferences Webhook.


Overview

The Preferences Webhook receives user preference updates from the Salesforce Preference Centre and persists them to Firestore. Every request must carry a short-lived LiSTNR JWT issued by the LiSTNR Token Provider.

Calls are authenticated server-to-server using the Client Credentials (Basic Auth) flow — there is no end-user browser session involved.


Pre-requisites

Before you can call the webhook you need:

  • A client_id and client_secret provisioned by the LiSTNR platform team for the salesforce-preference-centre client
  • Access to the LiSTNR Token Provider to exchange your credentials for a JWT

Contact the LiSTNR platform team to be onboarded. Provide:

ItemDescription
Integration namesalesforce-preference-centre (already registered)
Auth methodClient Credentials (Basic Auth)
Required scopewrite:preferences

The platform team will supply your client_secret for the relevant environment.


Obtaining a token

Use the Client Credentials flow to request a JWT before each batch of webhook calls.

POST /v1/issue-token
Authorization: Basic <base64(salesforce-preference-centre:your-secret)>
Content-Type: application/json

{
  "client_id": "salesforce-preference-centre",
  "scope": "write:preferences"
}

The response contains an access_token valid for 15 minutes. Store it in memory and re-request approximately 2 minutes before it expires — there is no refresh mechanism.

{
  "access_token": "<signed-jwt>",
  "token_type": "Bearer",
  "expires_in": 900
}

See Issuing a Token for the full request reference and error responses.


Next steps

Once you have a token, see Sending Preferences for the full webhook request reference.