Developer DocumentationWebhooksJSON MessagesContactsContact Confirms Email Opt-In

This article provides details on the ‘Contact Confirms Email Opt-In’ integration point.

JSON Message Structure

Below is an example payload delivered when this webhook is triggered. The payload represents the contact who confirmed their opt-in.

{
  "eventType": "ContactConfirmedOptedIn",
  "messageTime": "2044-03-26T16:29:11.687Z",
  "messageStub": "685c6e6e-0ec2-492b-bd34-6ed25f5c26f5",
  "message": [
    {
      "contactStub": "E05C3E26-9F14-478D-A3E5-5ED1828A7520",
      "lastName": "Archer",
      "workStateCode": "",
      "contactSourceId": "",
      "gender": "Male",
      "prefix": "Mr.",
      "customFields": [
        {
          "id": "D4B3D52A-5E76-4540-9D77-433BC57E628F",
          "name": "House",
          "value": "Gryffindor"
        }
      ],
      "workZipcode": "",
      "contactType": "",
      "workCountry": "",
      "updatedDate": "2018-03-26",
      "title": "Student",
      "homeStateCode": "",
      "optedOut": "no",
      "workState": "ARIZONA",
      "workCity": "Saint York",
      "homeCity": "York York",
      "company": "East Talent",
      "accountStub": "7F4E8204-028E-450A-94E3-BE870D7D05A5",
      "email": "test@example.com",
      "homeZipcode": "73456",
      "homeFax": "565-851-9873",
      "ccEmail": "test+cc@example.com",
      "nickName": "Vader",
      "homePhone": "853-123-9876",
      "fullName": "James Jones",
      "dateOfBirth": "04-May-2024",
      "homeState": "CALIFORNIA",
      "workFax": "874-898-5678",
      "workAddress1": "654 West Street",
      "workAddress2": "Suite 345",
      "firstName": "James",
      "homeAddress3": "Apt 1",
      "workAddress3": "Apt 321",
      "homeAddress2": "West Side",
      "workCountryCode": "US",
      "homeAddress1": "598 East Street",
      "mobilePhone": "765-234-6775",
      "middleName": "E",
      "workPhone": "653-436-2365",
      "designation": "CPA",
      "homeCountry": "USA"
    }
  ]
}

Understanding the JSON Message

  • Arrays: The customFields array is dynamic and changes over time as planners add or remove custom fields.
  • Empty Fields: Fields appearing as empty ("") indicate no data is available for that field.
Last updated on