Check if contact exists
If all you need to do is check if a certain contact exists, there is an endpoint for this purpose:
/api/v2/contacts/id
To this endpoint you can send, along with contactType, one (or several) of the following parameters:
GET /api/v2/contacts/id?email=john.doe%40gmail.com
mobilePhone
GET /api/v2/contacts/id?mobilePhone=%2B46735654321
socialSecurityNumber
Although it's called socialSecurityNumber (sometimes SSN) in Engage, this is really the Swedish personal identity number (or the Finnish personal identity code). Keep this in mind.
GET /api/v2/contacts/id?socialSecurityNumber=196903027573
customKey
As the customKey value you can send either a contact's memberNumber or externalId, depending on how your tenant is set up. Your Voyado Engage team can help you here.
GET /api/v2/contacts/id?customKey=999888777
any
The "any" parameter will, as the name suggests, accept any of the above values. They are scanned in the following order: email, socialSecurityNumber, mobilePhone and then customKey.
For example:
GET /api/v2/contacts/id?any=john.doe%40gmail.com
GET /api/v2/contacts/id?any=999888777
Note
The contactType can also be sent in the query string along with the above parameters but it is not required.
Responses
If the request has been successful, you'll get a HTTP 200 OK response and the contact's unique id as a 32-bit GUID.
If the request has not been successful, you'll get one of the following HTTP error codes:
400: InvalidEmailAddress, InvalidPhoneNumber, InvalidSocialSecurityNumber, InvalidContactType, InvalidSearchQuery
404: ContactNotFound
409: MultipleMatches
500: InvalidSystemConfiguration
Note
Response codes could change, so always check your Swagger page to see the latest ones.