Skip to main content

ContactsService

A list of all methods in the ContactsService service. Click on the method name to view detailed information about that method.

MethodsDescription
ContactsVCountAsyncGet number of approved contacts. This is a cached value that will be updated with a set frequency (normally once every 20 min).
ContactsVGetContactByIdAsyncGet a single contact, using the unique identifier. The dynamic fields of the response object depend on the current instance configuration.
ContactsVUpdateContactPostAsyncUpdate one or several fields of a single contact. Dont send an empty value unless you want it to be empty.
ContactsVDeleteWithHeaderParamAsync
ContactsVCountByContactTypeAsyncGet number of approved contacts of given type. This is a cached value that will be updated with a set frequency (normally once every 20 min).
ContactBulkGetBulkStatusAsync
ContactsVGetContactByTypeAndKeyValueInUrlAsyncAsync! Please be aware that this endpoint is currently usable with either the key value being provided through ! ! the path or a query param. Hence there being two of the same endpoints. ! ! We recommend that you use the query param version (the first) as it is the more versatile one of the two ! Get a single contact of a certain type, using a key value that corresponds to the current instance configuration. This can only be used for contact types with exactly ONE key. The dynamic fields of the response object depend on the current configuration.
ProductRecommendationGetProductRecommendationsAsync
ContactRetailKpiGetPurchaseHistoryAsyncFollowing summary shows the purchase history for a single contact, over all time, 12 months and 24 months.
BackInStockSubscriptionGetByContactIdAsyncGet back in stock subscriptions for a contact
ContactsVGetContactByExternalIdAsyncAsyncGet a single contact of a certain type, using the contact's external id. The dynamic fields of the response object depend on the current configuration.
ContactsVGetContactByTypeAndKeyValueAsyncAsyncGet a single contact of a certain type, using a key value that corresponds to the current instance configuration. This can only be used for contact types with exactly ONE key. The dynamic fields of the response object depend on the current configuration.
ContactMessageGetLatestMessagesByContactIdAsyncGet the latest messages (max 500) a contact has received
TransactionsGetTransactionsByContactIdAsyncGet all purchase transactions for a single contact with optional offset and number of transactions in response.
BonusPointTransactionsGetBonusPointTransactionsForContactAsync
ContactsVGetChangedContactIdsAsync
OfferPromotionsGetPromotionsForContactAsyncGet available promotions for a contact. To filter on redemptionChannelType add it as a query string ?redemptionChannelType=POS It can be POS, ECOM or OTHER
ContactOverviewGetContactIdAsyncAsyncGet the contactId for one (or several) contacts using either: - email - socialSecurityNumber - mobilePhone - customKey (the customKey must be configured by your supplier) - any - the any field can contain email, socialSecurityNumber, mobilePhone or the custom key (and are checked in that order)
ContactsVCreateContactHeaderParamAsyncCreate a new, approved contact. If the contacts key identifier (example: Email) already exists : returns the GUID of the first entry found.
ContactsVPromoteToMemberAsyncPromote a contact to a member with one or several required fields.
ContactBulkCreateContactsInBulkAsync
ContactBulkUpdateContactsInBulkAsync
ContactPreferencesAcceptsSmsAsyncUpdate the preference that indicates whether or not a contact accepts to be contacted via sms. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.
BonusPointTransactionsAdjustRewardPointsAsyncAdds reward points to a contact.
ContactPreferencesAcceptsEmailAsyncUpdate the preference that indicates whether or not a contact accepts to be contacted via email. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.
ContactPreferencesAcceptsPostalAsyncUpdate the preference that indicates whether or not a contact accepts to be contacted via regular mail. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.
AssignPromotionAssignAsyncAssign a promotion (multichannel offer only) to a Contact using the internal Contact Id and the id of the promotion
OfferPromotionsRedeemAsyncRedeem a promotion (multichannel offer or mobile swipe) for a Contact using the internal Contact Id Redemption channel can be POS, ECOM or OTHER.
ContactMessageSmsUnsubscribeContactAsyncOptional messageId input if user wants to unsubscribe on specific message instead of last sent Sms
ContactMessageEmailUnsubscribeContactAsyncOptional messageId input if user wants to unsubscribe on specific message instead of last sent email
ContactsVUpdateContactTypeAsyncUpdates the contactType for a contact if all expected contact data is available

ContactsVCountAsync

Get number of approved contacts. This is a cached value that will be updated with a set frequency (normally once every 20 min).

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/count

Return Type

long

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVCountAsync();

Console.WriteLine(response);

ContactsVGetContactByIdAsync

Get a single contact, using the unique identifier. The dynamic fields of the response object depend on the current instance configuration.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVGetContactByIdAsync("contactId");

Console.WriteLine(response);

ContactsVUpdateContactPostAsync

Update one or several fields of a single contact. Dont send an empty value unless you want it to be empty.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}

Parameters

NameTypeRequiredDescription
inputobjectThe request body.
contactIdstringContact identifier (GUID).

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVUpdateContactPostAsync(new object {}, "contactId");

Console.WriteLine(response);

ContactsVDeleteWithHeaderParamAsync

  • HTTP Method: DELETE
  • Endpoint: /api/v2/contacts/{contactId}

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).
sourcestringSource system identifier (instance configuration)

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVDeleteWithHeaderParamAsync("contactId", "source");

Console.WriteLine(response);

ContactsVCountByContactTypeAsync

Get number of approved contacts of given type. This is a cached value that will be updated with a set frequency (normally once every 20 min).

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactType}/count

Parameters

NameTypeRequiredDescription
contactTypestringId for contact type, e.g. "member" or "contact"

Return Type

long

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVCountByContactTypeAsync("contactType");

Console.WriteLine(response);

ContactBulkGetBulkStatusAsync

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/bulk/status

Parameters

NameTypeRequiredDescription
batchIdstringId from bulk contact import

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactBulkGetBulkStatusAsync("batchId");

Console.WriteLine(response);

ContactsVGetContactByTypeAndKeyValueInUrlAsyncAsync

! Please be aware that this endpoint is currently usable with either the key value being provided through ! ! the path or a query param. Hence there being two of the same endpoints. ! ! We recommend that you use the query param version (the first) as it is the more versatile one of the two ! Get a single contact of a certain type, using a key value that corresponds to the current instance configuration. This can only be used for contact types with exactly ONE key. The dynamic fields of the response object depend on the current configuration.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactType}/bykey/{keyValue}

Parameters

NameTypeRequiredDescription
contactTypestringContact type, e.g. "member".
keyValuestringKey value, e.g. ssn, phone number etc.

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVGetContactByTypeAndKeyValueInUrlAsyncAsync("contactType", "keyValue");

Console.WriteLine(response);

ProductRecommendationGetProductRecommendationsAsync

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/productrecommendations

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).

Return Type

ProductRecommendationsModel

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ProductRecommendationGetProductRecommendationsAsync("contactId");

Console.WriteLine(response);

ContactRetailKpiGetPurchaseHistoryAsync

Following summary shows the purchase history for a single contact, over all time, 12 months and 24 months.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/purchasehistorysummary

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID)

Return Type

PurchaseHistorySummary

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactRetailKpiGetPurchaseHistoryAsync("contactId");

Console.WriteLine(response);

BackInStockSubscriptionGetByContactIdAsync

Get back in stock subscriptions for a contact

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/backinstock/subscriptions

Parameters

NameTypeRequiredDescription
contactIdstring

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

await client.Contacts.BackInStockSubscriptionGetByContactIdAsync("contactId");

ContactsVGetContactByExternalIdAsyncAsync

Get a single contact of a certain type, using the contact's external id. The dynamic fields of the response object depend on the current configuration.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactType}/byexternalid/{externalId}

Parameters

NameTypeRequiredDescription
contactTypestringContact type, e.g. Member or Contact.
externalIdstringExternal contact id.

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVGetContactByExternalIdAsyncAsync("contactType", "externalId");

Console.WriteLine(response);

ContactsVGetContactByTypeAndKeyValueAsyncAsync

Get a single contact of a certain type, using a key value that corresponds to the current instance configuration. This can only be used for contact types with exactly ONE key. The dynamic fields of the response object depend on the current configuration.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactType}/bykey

Parameters

NameTypeRequiredDescription
contactTypestringContact type, e.g. "member".
keyValuestringKey value, e.g. ssn, phone number etc.

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVGetContactByTypeAndKeyValueAsyncAsync("contactType", "keyValue");

Console.WriteLine(response);

ContactMessageGetLatestMessagesByContactIdAsync

Get the latest messages (max 500) a contact has received

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/messages/latest

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).
countlongMax number of items to take. (Default value 100, Max value 500)

Return Type

ListResultOfApiMessage

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactMessageGetLatestMessagesByContactIdAsync("contactId", 6);

Console.WriteLine(response);

TransactionsGetTransactionsByContactIdAsync

Get all purchase transactions for a single contact with optional offset and number of transactions in response.

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/transactions

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID)
offsetlongNumber of items to skip. (Default value 0)
countlongMax number of items to take. (Default value 100)

Return Type

PagedResultOfTransactionItem

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.TransactionsGetTransactionsByContactIdAsync("contactId", 1, 4);

Console.WriteLine(response);

BonusPointTransactionsGetBonusPointTransactionsForContactAsync

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/bonuspointtransactions

Parameters

NameTypeRequiredDescription
contactIdstringThe contact identifier (GUID).
offsetlongThe first item to retrieve. (Default value 0)
countlongThe max number of items to retrieve. (Default value 100)

Return Type

PagedResultOfBonusPointTransactionModel

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.BonusPointTransactionsGetBonusPointTransactionsForContactAsync("contactId", 3, 3);

Console.WriteLine(response);

ContactsVGetChangedContactIdsAsync

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/changes

Parameters

NameTypeRequiredDescription
changeTypeChangeTypeCreated, Updated or Deleted
fromDatestringStart of timespan (ex 2023-05-04 11:20:00.000)
toDatestringEnd of timespan (Default the current time and date)

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVGetChangedContactIdsAsync(ChangeType.Created, "fromDate", "toDate");

Console.WriteLine(response);

OfferPromotionsGetPromotionsForContactAsync

Get available promotions for a contact. To filter on redemptionChannelType add it as a query string ?redemptionChannelType=POS It can be POS, ECOM or OTHER

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/{contactId}/promotions

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier
redemptionChannelTypestringFilter on redemptionChannelType it can be POS, ECOM or OTHER

Return Type

List<ApiPromotionModel>

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.OfferPromotionsGetPromotionsForContactAsync("contactId", "redemptionChannelType");

Console.WriteLine(response);

ContactOverviewGetContactIdAsyncAsync

Get the contactId for one (or several) contacts using either: - email - socialSecurityNumber - mobilePhone - customKey (the customKey must be configured by your supplier) - any - the any field can contain email, socialSecurityNumber, mobilePhone or the custom key (and are checked in that order)

  • HTTP Method: GET
  • Endpoint: /api/v2/contacts/id

Parameters

NameTypeRequiredDescription
contactTypestring
emailstring
socialSecurityNumberstring
mobilePhonestring
customKeystring
anystring

Return Type

string

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactOverviewGetContactIdAsyncAsync("contactType", "email", "socialSecurityNumber", "mobilePhone", "customKey", "any");

Console.WriteLine(response);

ContactsVCreateContactHeaderParamAsync

Create a new, approved contact. If the contacts key identifier (example: Email) already exists : returns the GUID of the first entry found.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts

Parameters

NameTypeRequiredDescription
inputobjectThe request body.
sourcestringSource system identifier (instance configuration)
storeExternalIdstringThe unique id code of the current store (and therefore also the recruited-by store). Not mandatory but strongly recommended.
createAsUnapprovedstringContact is not approved on creation. (Default value false)

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVCreateContactHeaderParamAsync(new object {}, "source", "storeExternalId", "createAsUnapproved");

Console.WriteLine(response);

ContactsVPromoteToMemberAsync

Promote a contact to a member with one or several required fields.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/promoteToMember

Parameters

NameTypeRequiredDescription
inputobjectThe request body.
contactIdstringContact identifier (GUID).
sourcestringSource system identifier (instance configuration)

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactsVPromoteToMemberAsync(new object {}, "contactId", "source");

Console.WriteLine(response);

ContactBulkCreateContactsInBulkAsync

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/bulk

Parameters

NameTypeRequiredDescription
inputobjectThe request body.
contactTypestringOptional, if not set the default ContactType will be used

Return Type

string

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactBulkCreateContactsInBulkAsync(new object {}, "contactType");

Console.WriteLine(response);

ContactBulkUpdateContactsInBulkAsync

  • HTTP Method: PATCH
  • Endpoint: /api/v2/contacts/bulk

Parameters

NameTypeRequiredDescription
inputobjectThe request body.
contactTypestringOptional, if not set the default ContactType will be used
avoidTriggeringExportboolOptional, default value is false

Return Type

string

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactBulkUpdateContactsInBulkAsync(new object {}, "contactType", false);

Console.WriteLine(response);

ContactPreferencesAcceptsSmsAsync

Update the preference that indicates whether or not a contact accepts to be contacted via sms. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/preferences/acceptsSms

Parameters

NameTypeRequiredDescription
inputBoolRequestThe request body.
contactIdstringContact identifier (GUID).

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var input = new BoolRequest();

var response = await client.Contacts.ContactPreferencesAcceptsSmsAsync(input, "contactId");

Console.WriteLine(response);

BonusPointTransactionsAdjustRewardPointsAsync

Adds reward points to a contact.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/rewardpointtransaction

Parameters

NameTypeRequiredDescription
inputApiAdjustRewardPointsThe request body.
contactIdstringContact identifier (GUID).

Return Type

ApiAdjustRewardPointsResponse

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var input = new ApiAdjustRewardPoints(1.86);

var response = await client.Contacts.BonusPointTransactionsAdjustRewardPointsAsync(input, "contactId");

Console.WriteLine(response);

ContactPreferencesAcceptsEmailAsync

Update the preference that indicates whether or not a contact accepts to be contacted via email. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/preferences/acceptsEmail

Parameters

NameTypeRequiredDescription
inputBoolRequestThe request body.
contactIdstringContact identifier (GUID).

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var input = new BoolRequest();

var response = await client.Contacts.ContactPreferencesAcceptsEmailAsync(input, "contactId");

Console.WriteLine(response);

ContactPreferencesAcceptsPostalAsync

Update the preference that indicates whether or not a contact accepts to be contacted via regular mail. This will also approve an unapproved contact. The primary way of updating a contact preference is through the update contacts endpoint.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/preferences/acceptsPostal

Parameters

NameTypeRequiredDescription
inputBoolRequestThe request body.
contactIdstringContact identifier (GUID).

Return Type

IApiContact

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var input = new BoolRequest();

var response = await client.Contacts.ContactPreferencesAcceptsPostalAsync(input, "contactId");

Console.WriteLine(response);

AssignPromotionAssignAsync

Assign a promotion (multichannel offer only) to a Contact using the internal Contact Id and the id of the promotion

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/promotions/{promotionId}/assign

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier
promotionIdstringThe id of the promotion

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.AssignPromotionAssignAsync("contactId", "promotionId");

Console.WriteLine(response);

OfferPromotionsRedeemAsync

Redeem a promotion (multichannel offer or mobile swipe) for a Contact using the internal Contact Id Redemption channel can be POS, ECOM or OTHER.

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/promotions/{promotionId}/redeem

Parameters

NameTypeRequiredDescription
inputRedeemBodyModelThe request body.
contactIdstringContact identifier
promotionIdstringThe id of the promotion

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;
using VoyadoEngage.Models;

var client = new VoyadoEngageClient();

var input = new RedeemBodyModel();

var response = await client.Contacts.OfferPromotionsRedeemAsync(input, "contactId", "promotionId");

Console.WriteLine(response);

ContactMessageSmsUnsubscribeContactAsync

Optional messageId input if user wants to unsubscribe on specific message instead of last sent Sms

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/unsubscribeSms

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).
messageIdstringMessage Id (string).

Return Type

object

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

var response = await client.Contacts.ContactMessageSmsUnsubscribeContactAsync("contactId", "messageId");

Console.WriteLine(response);

ContactMessageEmailUnsubscribeContactAsync

Optional messageId input if user wants to unsubscribe on specific message instead of last sent email

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/unsubscribeEmail

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).
messageIdstringMessage Id (string).

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

await client.Contacts.ContactMessageEmailUnsubscribeContactAsync("contactId", "messageId");

ContactsVUpdateContactTypeAsync

Updates the contactType for a contact if all expected contact data is available

  • HTTP Method: POST
  • Endpoint: /api/v2/contacts/{contactId}/updateContactType

Parameters

NameTypeRequiredDescription
contactIdstringContact identifier (GUID).
contactTypeIdstringThe ContactType id (string).

Example Usage Code Snippet

using VoyadoEngage;

var client = new VoyadoEngageClient();

await client.Contacts.ContactsVUpdateContactTypeAsync("contactId", "contactTypeId");

Build Your Own SDKs with  liblab

Build developer friendly SDKs in minutes from your APIs

Start for Free →