- 27 Jul 2023
- 8 Minutes to read
- Print
- DarkLight
Contact
- Updated on 27 Jul 2023
- 8 Minutes to read
- Print
- DarkLight
Contact
Contacts- Contacts ManageGET /contact/contacts- Get the list of Contact.POST /contact/contacts:query- Query contact with conditions.GET /contact/contacts/{id}- Get a single Contact.POST /contact/contacts- Create a new Contact.PUT /contact/contacts/{id}- Update the Contact.DELETE /contact/contacts/{id}- Delete the Contact.DELETE /contact/contacts- Batch delete contacts.
Contact JSON Format
Contact is represented as simple flat JSON objects with the following keys:
| Name | Type | Description |
|---|---|---|
id | guid | Id of the contact. |
name | string | Name of the contact. |
firstName | string | First name of the contact. |
lastName | string | Last name of the contact. |
createTime | datetime | When the contact was created. |
lastUpdatedTime | datetime | The time of the last update time. |
mergeToContactId | guid | Contact id which the contact merged to. |
customFields | Contact Custom Field Value | Custom field value. |
contactIdentities | contactIdentities[] | TReference to Contact identity. |
Contact Identity Object
Contact Identity is represented as simple flat JSON objects with the following keys:
| Name | Type | Description |
|---|---|---|
id | guid | Id of the contact identity. |
type | string | Allowed values are visitor, Email, SMS, facebook, twitter, wechat, SSOID, externalID, whatsApp, instagram, telegram, line, SecureMessaging. |
value | string | The value of the identity. |
avatar | string | The avatar used in a certain channel, like the avatar of a Facebook user. Not every channel yields an avatar. For example, SMS Numbers will not produce one. |
identityInfoUrl | string | Contact information from the channels. Such as the number of Twitter followers and tweets from the twitter identity. The info is displayed in an iframe in the agent console. Available for Twitter, Facebook, SMS, and WeChat. |
originalContactPageUrl | string | The contact profile URL on Facebook or Twitter. |
displayName | string | The name of identity. |
Contact Filter Condition Object
Contact Filter Condition is represented as simple flat JSON objects with the following keys:
| Name | Type | Description |
|---|---|---|
fieldName | string | Field name of the contact filter condition. |
operator | string | Allowed values are "Contains", "Does Not Contain", "Is", "Is Not", "Is More Than", "Is Less Than", "Before", "After". |
value | string | Trigger mode of the contact filter condition. |
order | integer | Order of the contact filter condition. |
Contact custom field value object
| Name | Type | Description |
|---|---|---|
name | string | Name of the custom field. |
value | string | Value of the custom field. |
Get the list of Contact
GET /contact/contacts
Parameters
Name Type in Required Description keywordsstring query no Search scope includes: contact name, identity id, identity value. contactIdentityTypestring query no Type of the contact identity. Allowed values are visitor,Email,SMS,facebook,twitter,wechat,SSOID,externalID,whatsApp,instagram,telegram,line,SecureMessaging.contactIdentityValuestring query no Value of the contact identity. isIncludeDeletedbool query no Whether including the deleted contact or not, default value: false.pageIndexinteger query no Page index. pageSizeinteger query no Page size, default is 50, and the value can not be larger than 500. sortBystring query no Sort by. sortOrderstring query no Allowed values are asc,desc, defaultasc.Response
The array of Contact.
Example
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
{
"contacts": [
{
"id": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentities": [
{
"id": "9bf5f300-a8b0-4dd9-996d-140fe87c851e",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "Email",
"value": "testContact@gmail.com",
"avatarUrl": "",
"infoUrl": "",
"displayName": "testContact@gmail.com",
"originalContactPageUrl": "",
"isDeleted": false
},
{
"id": "5a1900c6-8329-4d00-86ed-697cdfaa9e8b",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "SMS",
"value": "+11111111",
"avatarUrl": "",
"infoUrl": "",
"displayName": "+11111111",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "Last name for test",
"firstName": "Firstname for test",
"name": "testContact",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2022-09-02T04:12:40Z",
"lastUpdatedTime": "2022-09-02T04:12:40Z",
"customFields": {
"description": "",
"alias": "",
"title": "",
"company": "",
"fax": "",
"phone": "",
"mailingaddress": "",
"city": "",
"stateorprovince": "",
"countryorregion": "",
"postalorzipcode": "",
"timezone": ""
},
"isDeleted": false
}
],
"previousPage": null,
"nextPage": null,
"total": 1
}
Query contact with conditions
POST /contact/contacts:query
Parameters
Name Type in Required Description pageIndexinteger query no Page index. pageSizeinteger query no Page size, default is 50, and the value can not be larger than 500. sortBystring query no Sort by. sortOrderstring query no Allowed values are asc,desc, defaultasc.keywordsstring body no Search scope includes: contact name, identity id, identity value. contactIdentityTypestring body no contact identity type. filterConditionMetTypestring body no Contact Filter Logical Expresssion of this Condition. Allowed values are All,Any,LogicalExpression.filterLogicalExpresssionstring body no Contact Filter Logical Expression. filterConditionsContactFilterCondition object[] body no An array of ContactFilterCondition object Idsarray body no Contact Ids array, if pass this parameter, the keywords and filter conditions don't work. isIncludeDeletedbool body no Whether including the deleted contact or not, default value: false.Response
The array of Contact.
Example
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts:query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-D '{"keywords": "test","contactIdentityType": "SMS","filterConditionMetType": "All","filterLogicalExpresssion": "", "filterConditions": [],"Ids": "", "isIncludeDeleted": false }'
Response:
HTTP/1.1 200 OK
{
"contacts": [
{
"id": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentities": [
{
"id": "9bf5f300-a8b0-4dd9-996d-140fe87c851e",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "Email",
"value": "testContact@gmail.com",
"avatarUrl": "",
"infoUrl": "",
"displayName": "testContact@gmail.com",
"originalContactPageUrl": "",
"isDeleted": false
},
{
"id": "5a1900c6-8329-4d00-86ed-697cdfaa9e8b",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "SMS",
"value": "+11111111",
"avatarUrl": "",
"infoUrl": "",
"displayName": "+11111111",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "Last name for test",
"firstName": "Firstname for test",
"name": "testContact",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2022-09-02T04:12:40Z",
"lastUpdatedTime": "2022-09-02T04:12:40Z",
"customFields": {
"description": "",
"alias": "",
"title": "",
"company": "",
"fax": "",
"phone": "",
"mailingaddress": "",
"city": "",
"stateorprovince": "",
"countryorregion": "",
"postalorzipcode": "",
"timezone": ""
},
"isDeleted": false
}
],
"previousPage": null,
"nextPage": null,
"total": 1
}
Get a single Contact
GET /contact/contacts/{id}
Parameters
Name Type in Required Description idguid path yes Id of the Contact. isIncludeDeletedbool query no Whether including the deleted contact or not, default value: false.Response
Example
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts/6396ad99-6885-4489-ad95-43c923154a8c \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
{
"id": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentities": [
{
"id": "9bf5f300-a8b0-4dd9-996d-140fe87c851e",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "Email",
"value": "testContact@gmail.com",
"avatarUrl": "",
"infoUrl": "",
"displayName": "testContact@gmail.com",
"originalContactPageUrl": "",
"isDeleted": false
},
{
"id": "5a1900c6-8329-4d00-86ed-697cdfaa9e8b",
"contactId": "6396ad99-6885-4489-ad95-43c923154a8c",
"contactIdentityType": "SMS",
"value": "+11111111",
"avatarUrl": "",
"infoUrl": "",
"displayName": "+11111111",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "Last name for test",
"firstName": "Firstname for test",
"name": "testContact",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2022-09-02T04:12:40Z",
"lastUpdatedTime": "2022-09-02T04:12:40Z",
"customFields": {
"description": "",
"alias": "",
"title": "",
"company": "",
"fax": "",
"phone": "",
"mailingaddress": "",
"city": "",
"stateorprovince": "",
"countryorregion": "",
"postalorzipcode": "",
"timezone": ""
},
"isDeleted": false
}
Create a new Contact
POST /contact/contacts
Parameters
Name Type in Required Description namestring body yes The name of the Contact. firstNamestring body no First name of the contact. lastNamestring body no Last name of the contact. contactIdentitycontactIdentities[] body yes The array of Contact identitiy. customFieldcustom fields body no Value of contact custom fields. Response
Example:
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{"name": "testContact6","contactIdentities": [{"contactIdentityType": "Email","value": "testContact6@gmail.com"}]}'
Response:
HTTP/1.1 200 OK
{
"id": "f20ac8fb-f040-4fe4-a426-7592b1f9f743",
"contactIdentities": [
{
"id": "5724e782-b5bc-4b83-8aee-2356548ada73",
"contactId": "f20ac8fb-f040-4fe4-a426-7592b1f9f743",
"contactIdentityType": "Email",
"value": "testContact6@gmail.com",
"avatarUrl": "",
"infoUrl": "",
"displayName": "testContact6@gmail.com",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "fristname for test 6",
"firstName": "last name for test 6",
"name": "testContact6",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2022-09-02T04:48:47Z",
"lastUpdatedTime": "2022-09-02T04:48:47Z",
"customFields": {
"description": "",
"alias": "",
"title": "",
"company": "",
"fax": "",
"phone": "",
"mailingaddress": "",
"city": "",
"stateorprovince": "",
"countryorregion": "",
"postalorzipcode": "",
"timezone": ""
},
"isDeleted": false
}
Example:
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"name": "testing2",
"description": "",
"firstName": "TT",
"lastName": "LAST",
"alias": "",
"title": "C1",
"company": "",
"fax": "",
"phone": "",
"mailingAddress": "",
"city": "Changsha",
"stateOrProvince": "Hunan",
"countryOrRegion": "",
"postalOrZipCode": "",
"createTime": "2021-05-09T07:42:02.2966667Z",
"lastUpdatedTime": "2021-05-09T07:42:02.2966667Z",
"mergeToContactId": "00000000-0000-0000-0000-000000000000" ,
"contactIdentities":[
{
"displayName":"fengchufu",
"value":"+111111112",
"avatarUrl":"",
"infoUrl":"",
"originalContactPageUrl":"",
"contactIdentityType":"SMS"
}
],
"customFields":{
"description":"fengchufu",
"phone":"123",
"fax":"123",
"alias":"",
"title":"test",
"company":"",
"mailingaddress":"test@163.com",
"city":"",
"stateorprovince":"NewYork",
"countryorregion":"America",
"postalorzipcode":"",
"timezone":"UTC-11",
"ss":"",
"test_ddp":"Example A"
}
}'
Response:
HTTP/1.1 200 OK
{
"id": "4537ba81-1652-4654-b341-5851bf5adaf0",
"contactIdentities": [
{
"id": "425d3c6f-442c-ee11-998a-00155de0e60a",
"contactId": "4537ba81-1652-4654-b341-5851bf5adaf0",
"contactIdentityType": "SMS",
"value": "+111111112",
"avatarUrl": "",
"infoUrl": "",
"displayName": "fengchufu",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "LAST",
"firstName": "TT",
"name": "testing2",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2023-07-27T06:11:34Z",
"lastUpdatedTime": "2023-07-27T06:11:34Z",
"customFields": {
"description": "fengchufu",
"alias": "",
"title": "test",
"company": "",
"fax": "123",
"phone": "123",
"mailingaddress": "test@163.com",
"city": "",
"stateorprovince": "NewYork",
"countryorregion": "America",
"postalorzipcode": "",
"timezone": "UTC-11"
},
"isDeleted": false
}
Update the Contact
PUT /contact/contacts/{id}
Parameters
Name Type in Required Description idguid path yes The unique id of the Contact namestring body yes The name of the Contact. firstNamestring body no First name of the contact. lastNamestring body no Last name of the contact. contactIdentitycontactIdentities[] body yes The array of Contact identitiy. customFieldcustom fields body no Value of contact custom fields. Response
Example:
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts/f20ac8fb-f040-4fe4-a426-7592b1f9f743 \
-X 'PUT' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{"name": "newContact6","lastName": "fristname for test 6","firstName": "last name for test 6","contactIdentities": [{"contactId": "f20ac8fb-f040-4fe4-a426-7592b1f9f743","contactIdentityType": "Email","value": "newContact6@gmail.com","avatarUrl": "","infoUrl": "","displayName": "newContact6@gmail.com","originalContactPageUrl": ""}]}'
Response:
HTTP/1.1 200 OK
{
"id": "f20ac8fb-f040-4fe4-a426-7592b1f9f743",
"contactIdentities": [
{
"id": "5724e782-b5bc-4b83-8aee-2356548ada73",
"contactId": "f20ac8fb-f040-4fe4-a426-7592b1f9f743",
"contactIdentityType": "Email",
"value": "newContact6@gmail.com",
"avatarUrl": "",
"infoUrl": "",
"displayName": "newContact6@gmail.com",
"originalContactPageUrl": "",
"isDeleted": false
}
],
"lastName": "fristname for test 6",
"firstName": "last name for test 6",
"name": "newContact6",
"mergeToContactId": "00000000-0000-0000-0000-000000000000",
"createTime": "2022-09-02T04:48:47Z",
"lastUpdatedTime": "2022-09-02T04:58:55Z",
"customFields": {
"description": "",
"alias": "",
"title": "",
"company": "",
"fax": "",
"phone": "",
"mailingaddress": "",
"city": "",
"stateorprovince": "",
"countryorregion": "",
"postalorzipcode": "",
"timezone": ""
},
"isDeleted": false
}
Delete the Contact
DELETE /contact/contacts/{id}
Parameters
No Parameters
Response
No Content
Example
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts/f20ac8fb-f040-4fe4-a426-7592b1f9f743 \
-X 'DELETE' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 204 No Content
Batch delete contacts
DELETE /contact/contacts
Parameters
Name Type in Required Description idsarray body yes The array of the contact id. Response
No Content
Example
Sample Request:
curl https://api11.comm100.io/v4/contact/contacts \
-X 'DELETE' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '["59114fff-0eda-4418-8dd2-229a8b784c44","4e851d92-72ca-4b6b-96b0-7184e96413b2"]'
Response:
HTTP/1.1 204 No Content