[HTTP PATCH] ~/contactLists/{contactListId}/contact
Description: Find all contacts within a given contactlist that match a set of values, then update their properties to given values E.G. Find all contacts with an ReferanceAccountID of 123456 and set their address to "123 Red Street, D1".
Request Information
URI Parameters
Name | Description | Type | Additional information |
---|---|---|---|
contactListId |
The ContactList to look for contacts within |
integer |
Required |
QueryString Parameters
Custom Events
This Endpoint supports executing Custom Events after it Inserts/Updates Contacts.
You can execute custom events by adding a 'customevents' parameter with a comma-seperated list of Custom Event names to the Request's QueryString.
For Example: If you'd like to run the SendWelcomeEmail and SendEventInvite Custom Events with the contacts that have been successfully inserted/updated via this Call, you can do so via:
contactLists/{contactListId}/contact + "?customevents=SendWelcomeEmail,SendEventInvite"
Match Values
This Endpoint supports updating all Contacts within a given ContactList who have properties that match a given set values.
You can specify what values to match on by adding the following to the Request's QueryString:
- Adding 'match' parameter with a comma-seperated list of the PropertyNames to match on.
- If using a PATCH call - by Adding each PropertyName and required value to match upon.
- If using a POST/PUT call, make sure the specified PropertyName is a property of the ContactDTO that's being passed as part of the body.
For Example: If you'd like to update all contacts who have a specific ReferanceAccountId and EmailAddress, you would do so via:
[PATCH] contactLists/{contactListId}/contact + "?match=ReferanceAccountId,Email&ReferanceAccountId=123456&Email=pgannon@customerminds.com"
[PUT] contactLists/{contactListId}/contact + "?match=ReferanceAccountId,Email"
Body: {
values: {
"ReferanceAccountId":123456,
"Email": "pgannon@customerminds.com"
"Mobile": "353871234567" // Value to be updated
}
}
Please refer to the given ContactList's Schema/Fields as a list of valid values.
Body Parameters
Name | Description | Type | Additional information |
---|---|---|---|
EncContactId | string |
None. |
|
ListId | integer |
None. |
|
Values | Dictionary of string [key] and Object [value] |
None. |
Formats
application/json, text/json
{ "EncContactId": "sample string 2", "ListId": 3, "Values": { "sample string 1": {}, "sample string 3": {} } }
application/csp-report
{"EncContactId":"sample string 2","ListId":3,"Values":{"sample string 1":{},"sample string 3":{}}}
application/xml, text/xml
<Contact xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/W50API.Models.DTO"> <EncContactId xmlns="http://schemas.datacontract.org/2004/07/W50Common.Model.DTO">sample string 2</EncContactId> <Id xmlns="http://schemas.datacontract.org/2004/07/W50Common.Model.DTO">1</Id> <ListId xmlns="http://schemas.datacontract.org/2004/07/W50Common.Model.DTO">3</ListId> <Values xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/W50Common.Model.DTO"> <d2p1:KeyValueOfstringanyType> <d2p1:Key>sample string 1</d2p1:Key> <d2p1:Value /> </d2p1:KeyValueOfstringanyType> <d2p1:KeyValueOfstringanyType> <d2p1:Key>sample string 3</d2p1:Key> <d2p1:Value /> </d2p1:KeyValueOfstringanyType> </Values> </Contact>
Response Information
Description
Successful Response - OK (200):
A array of the (encrypted) Contact Ids that were found and updated with the given values
Response Content : Collection of string
Response Codes:
-
200 - OK
- Contacts where found the Matched Values given and where updated Successfully.
-
400 - BadRequest
- The MatchValues QueryParam is wither missing or empty - cannot proceed.
-
401 - Unauthorized
- Request has been denied as it lacks valid Authentication credentials.
-
403 - Forbidden
- The user does not have the relevant permissions to perform this action, or the passed Contact is null
-
404 - NotFound
- The specified Contactlist was not found or no Contacts where found that matched given Values.
-
500 - InternalServerError
- An error occurred while processing this request.
Formats
application/json, text/json
[ "sample string 1", "sample string 2" ]
application/csp-report
["sample string 1","sample string 2"]
application/xml, text/xml
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <string>sample string 1</string> <string>sample string 2</string> </ArrayOfstring>