Background

Simon Data integrates with Nosto's Product Experience Cloud and Content Experience Cloud to generate personalized content using data from Simon Data. Nosto transforms customer data into dynamic, personalized website and message experiences to optimize the customer journey.

Integration Methods

Simon Data supports webhook integrations today.

API or CSV methods of data transfer are considered on a case-by-case basis. Contact your Simon Data customer success team for more information.

Outbound Webhook [Simon to Nosto]

Updating Nosto Identities

  1. Whitelist the following domain on our webhooks integration form – api.nosto.com
  2. Configure a flow using our webhooks channel action:
  • Request methodPOST
  • URLhttps://api.nosto.com/v1/graphql
  • Basic auth
    • Username (Insert any entry. Nosto only reads the password)
    • Password is the client’s API token (the client needs to provide us with their token)
  • Payload
    • Example:
POST /v1/graphql HTTP/1.1
Host: api.nosto.com
Authorization: Basic <base64-encoded-credentials>
Content-Type: application/json

{
  "query": "mutation($email: String!, $attributes: [InputIdentityAttribute]!) { upsertIdentity(identity: { email: $email, attributes: $attributes}) { email, attributes { name, value } } }",
  "variables": {
    "email": "[email protected]",
    "attributes": [
      {
        "name": "simon_segment_tag",
        "value": "Segment A"
      }
    ]
  }
}
  • The query field is required and needs to match what is shown above
  • The variables.attributes field needs to be configured as a dictionary data type

🚧

Note: Attributes will be stored as strings and overwritten with each sync

In the above example, two flows may have an attribute named simon_segment_tag with different values associated with them – Segment A and Segment B. Whichever flow synced most recently will be the lone value that appears for the contact.

  • In other words, a contact cannot have a set value of Segment A, Segment B for simon_segment_tag, but either Segment A or Segment B, depending on which synced last.

If this is not the intended behavior, define distinct attribute names; for example, vip_member as the name and true as the value.