[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

NameDescriptionTypeAdditional 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

Contact
NameDescriptionTypeAdditional information
EncContactId

string

None.

ListId

integer

None.

Values

Dictionary of string [key] and Object [value]

None.

Formats

application/json, text/json

Sample:
{
  "EncContactId": "sample string 2",
  "ListId": 3,
  "Values": {
    "sample string 1": {},
    "sample string 3": {}
  }
}

application/csp-report

Sample:
{"EncContactId":"sample string 2","ListId":3,"Values":{"sample string 1":{},"sample string 3":{}}}

application/xml, text/xml

Sample:
<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:
[
  "sample string 1",
  "sample string 2"
]

application/csp-report

Sample:
["sample string 1","sample string 2"]

application/xml, text/xml

Sample:
<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>