api-docs.pulsehealth.tech
Open in
urlscan Pro
44.213.246.33
Public Scan
Submitted URL: https://api.pulsehealth-staging.tech/
Effective URL: https://api-docs.pulsehealth.tech/
Submission: On November 20 via manual from IN — Scanned from CH
Effective URL: https://api-docs.pulsehealth.tech/
Submission: On November 20 via manual from IN — Scanned from CH
Form analysis
0 forms found in the DOMText Content
Public Documentation Settings ENVIRONMENT PEC Production LAYOUT Double Column LANGUAGE cURL - cURL Pulse Engagement Cloud API Introduction Pulse Engagement Cloud API Documentation Getting Started Registration Forms (best practice) Working with List endpoints Account Request Actions Action Codes Campaigns Contacts Contact Emails Contact Locations Contact Phones Creatives Forms From Lines NPI Match Segments Segment Contacts Sources Conditional Emails PULSE ENGAGEMENT CLOUD API PULSE ENGAGEMENT CLOUD API DOCUMENTATION The Pulse Engagement Cloud API is meticulously designed following the principles of Representational State Transfer (REST). This architectural style defines our API's foundation, where resource-oriented URLs serve as pathways to interact with the system. Requests are expected to be in JSON-encoded format, and responses are delivered in the same JSON encoding. Standard HTTP response codes ensure clarity in API interactions. For your development convenience and the preservation of live/production data integrity, we offer the provision of a staging environment. This environment is isolated from your live/production data and is intended for testing purposes. Should you find value in this environment, don't hesitate to reach out to your dedicated Pulse Health account manager. They will be more than willing to set up this environment for you. Understanding that each account has unique needs, the Pulse Engagement Cloud API adapts to cater to those needs. Custom fields and integrations, among other functionalities, are tailored to align with your account's requirements. Depending on the customization needed, this may affect requirements and responses for different APIs. GETTING STARTED To start sending requests to the Pulse Engagement Cloud API, you will need to get the values for your account's Account ID and API Token. > To get the Account ID and API Token, please ask your Pulse Health account > manager. API LIMITATIONS Please note, we currently only support API request from secure backend servers and prevent front end browsers/clients from connecting to the API. AUTHORIZATION To authorize a request for the Pulse Engagement Cloud API, you must set request headers for the Account ID and API Token. Plain Text Authorization: API-TOKEN YOUR_API_TOKEN_HERE X-Account: YOUR_ACCOUNT_ID_HERE Note: Make sure to include API-TOKEN as part of the authorization header. Plain Text Example: Authorization: API-TOKEN xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-Account: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx If using Postman, you can use the {{ apiToken }} and {{ accountId }} variables in the environment to set the values. For more information about environments, see the Postman documentation. REGISTRATION FORMS (BEST PRACTICE) There are two options for how to handle sending data for registration/sign-up forms. OPTION 1 (RECOMMENDED): USE THE FORM SUBMISSION API As of March 6th, 2024, we have created new standard for processing forms containing contact data. We recommend using this new feature due to ease of use, and additional features such as configuration of post-submission actions (e.g., creating a form submission action). Please view the Form Submission API documentation here OPTION 2 (LEGACY): USE THE CONTACT API The Contact API enpoints are a powerful tool that allows you to efficiently manage contact information. This guide will walk you through the process of performing an API lookup to search for a contact's email, creating a new contact if the email address doesn't exist, and updating the contact if the email address already exists. PREREQUISITES Before you begin, make sure you have the following: * Access to the Contact Management API (including the necessary Account ID and API Token). * A programming environment that supports making HTTP requests. We do not support CORS so the requests should be sent from a backend server. API LOOKUP AND CONTACT HANDLING Perform an API Lookup To search for a contact's email address using the API, you'll typically need to make a GET request to the appropriate endpoint, passing the email address as a parameter. The API will respond with the contact's information if the email exists or with an appropriate response if the email is not found. Example Request: [GET] /contacts/search?groups[]=contact_display_email&simpleSearch={EMAIL ADDRESS} Create a New Contact If the API lookup doesn't return any results, you can assume that the email address doesn't exist in the database. In this case, you can proceed to create a new contact by making a POST request to the endpoint designed for contact creation. Please note, Source is required. Also, the custom fields section in the example below is only an example. Your account manager can guide you with what specific values you can pass for your specific account. Example Request: [POST] /contacts Example Payload: View More json { "salutation": "Dr", // Optional "firstName": "Example", // Optional "middleName": "", // Optional "lastName": "Example", // Optional "credentials": "MD", // Optional "gender": "M", // Optional "npi": "1234567890", // Optional - This stands for National Provider Identifier. This is a unique identifier given to doctors. Leave blank for patient data. "specialty": "Oncology", // Optional "contactType": "HCP", // Optional - for patient data please set as "Patient"/“Caregiver”/etc. "source": 1, // Required - This will be a static number that references data you send. We can provide this value to you. Values might differ between staging and production environments. "emails": [ { "emailAddress": "example@email.com", // Required if saving email address "isSubscribed": true, // Should be true if the patient is signed up for Email Messages } ], "locations": [ { "company": "The Night's Watch", // Optional "addressLine1": "1 Wall St.", // Required only if storing Address Line 2, otherwise optional "addressLine2": "Suite 100", // Optional "city": "New York", // Required only if storing Address Line 1, otherwise optional "state": "NY", // Required only if storing City and/or Address Line 1, otherwise optional "postalCode": "10001", // Required only if storing Address Line 1, otherwise optional "country": "USA" // Optional } ], "phones": [ { "phone": "5165551212", // Required if saving phone number "isPhoneSubscribed": true, // Should be true if the contact is signed up for Phone Calls "isSmsSubscribed": true, // Should be true if the contact is signed up for Text Messages "isFax": false // Optional } ], "customFields": { "sampleNumericField": 12345, // This is just an example "sampleBoolenField": true, // This is just an example "sampleStringField": "USA" // This is just an example }, "isTest": false // Should be false for real contacts and true test contacts. // If set to true, Test contacts statistics will not calculated in reports and hidden from standard search. } Update an Existing Contact If the API lookup returns a valid contact's information, you can proceed to update the contact. To do this, make a PUT request to the endpoint for updating contacts, providing the contact's ID along with the updated information. Example Request: [PUT] /contacts/{id} Example Payload: View More json { "salutation": "Dr", // Optional "firstName": "John", // Optional "lastName": "Snow", // Optional "specialty": "Oncology", // Optional "emails": [ { "id": 1001, // The ID of the email address belonging to the contact "emailAddress": "example@email.com", // Required if saving email address "isSubscribed": true, // Should be true if the contact is signed up for Email Messages } ] } WORKING WITH LIST ENDPOINTS This API will contain endpoints to retrieve listings of different resources. Most endpoints will contain common query parameters that will help with specifying which data fields to return and sorting. If the endpoint does not allow this feature, the documentation for that endpoint will clearly state this. Please view the resource's main folder documentation for a list of fields that can be used for field restriction and sorting. FIELD RESTRICTION The data in the list endpoint response can be restricted to only return specific fields. To do this, you must set a query parameter for the fields[] array. If no fields[] array exists in the request, all data is returned. This query parameter is useful in cases where you don't want or can't see certain data points. Another use case is to optimize the response in cases of large data sets. SORTING You can sort the results by fields based on ascending or descending order. To do this, you must set a query parameter for the sort[] array. As you can tell, since the parameter is an array, you can sort by multiple fields in the same request. The order of the sorting is dependent on the order of the values in the sort[] array. The value must be formatted as {field}:{order}. The field and order are separated by a colon (:). For example, if you wanted to sort by the contact's created date to see the newest contacts first, the value would be createdAt:DESC. If you wanted to sort by the contact's last name in alphabetical order, the value would be lastName:ASC. AUTHORIZATIONAPI Key Key Authorization Value <value>