TABLE OF CONTENTS
- API Setup
- Business Use Case
- Good to Know
- Authentication
- Endpoint
- Request
- Response
- Not the API you're looking for?
API Setup
Choose your Host Region to have the documentation adapt to your use case.
Host Region | |
---|---|
Label | Value |
EU | eu |
US | us |
AU | au |
Business Use Case
Our PUT Records API has a wide variety of applications. The API allows you to create or update a single record into any of the following objects:
- Account
- Contact
- Survey Record (Response only, no update supported)
After a successful request, the data will be uploaded/updated in the system and a survey response will be recorded under the contact referenced.
Good to Know
Changes to Import Configurations
If a change happens to the implementation of the API (for example a field name change), that should be reflected in the used Inbound Mapping as well. Ignoring to do so will cause the API to silently fail for the fields involved.
Required Fields
The following fields are required in your Inbound Mapping:
Parameter | Description | Example Values |
configuration | Configuration reference for data type and mapping. You can find it in your Import Configurations, under the Reference column. | 9dd58237-c913-4073-9c76-07da0b49ff50 |
record[] | An array for all the fields to be imported. The values in the array must be the same set up in the API mapping referenced in the configuration parameter. | record[Email] record[Account Name] record[Sent Date] record[Completed Date] |
Touchpoints
When importing Touchpoints, only Touchpoints that exist in your CustomerGauge system will be accepted. Touchpoints can be managed in System Settings by System Administrators.
Authentication
OAuth2 Authentication is used to connect to this API. Once you've created your Connected App, you can acquire a Bearer Access Token by calling our OAuth2/Token API:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded"
-d "grant_type=client_credentials&client_id={{ Client ID }}&client_secret={{ Client Secret }}"
https://auth.{{ apiRegion }}.customergauge.com/oauth2/token
The acquired Bearer Access Token is used in the Authorization header in your API request.
If you can not use OAuth2 Authentication, you can use our Incoming Webhook functionality.
Endpoint
Endpoint URL
https://imports.api.{{ apiRegion }}.customergauge.com/records/
Request
Parameters
Use these parameters in the API request to pass the relevant information to the API.
Parameter | Description | Rules | Example Values |
configuration | Configuration reference for data type and mapping. You can find it in your Import Configurations, under the Reference column. |
| 9dd58237-c913-4073-9c76-07da0b49ff50 |
record[] | An array for all the fields to be imported. The values in the array must be the same set up in the API mapping referenced in the configuration parameter. |
| record[Email] record[AccountName] record[Sent Date] record[Completed Date] |
Supported Formats
JSON (raw request body)
Data can be passed to this API using the JSON format in the body of the request.
Example parameters:
{
"configuration": "53505294-0b20-2509-b15d-c8e377701d66",
"record": {
"Account Name": "ACME",
"First Name": "Joe",
"Last Name": "Doe",
"Email": "joe.doe@example.com",
"Sent Date": "2023-05-10 11:34:56",
"Survey Completed Date": "2022-05-10 12:34:56",
"NPS Score": "10"
}
}
x-www-form-urlencoded (body)
Data can be passed to this API using the x-www-form-urlencoded format in the body of the request.
Example parameters:
configuration: "12305294-0b20-4009-b95d-c8123301d66"
record[Account Name]: "ACME"
record[First Name]: "Joe"
record[Last Name]: "Doe"
record[Email]: "joe.doe@example.com"
record[Sent Date]: "2023-05-10 11:34:56"
record[Survey Completed Date]: "2022-05-10 12:34:56"
record[NPS Score]: "10"
Response
HTTP Status Code 200
OK - everything worked as expected.
Example Response Body
An empty Response Body will be returned when successful.
HTTP Status Code 422
An issue occurred - this usually means one of the required fields is missing.
Example Response Body
{
"message": "The given data was invalid.",
"errors": {
"configuration": [
"The configuration field is required."
]
}
}
Not the API you're looking for?
Get an overview of our APIs here.