post https://api.whippy.co/v1/contacts/upsert
Bulk creates or updates contacts in an organization.
Optionally, it can opt in contacts to all organization channels or specific channels.
Also, the contacts in the list can optionally be associated with a custom object by providing the custom object ID
in the top level of the request body and the properties of the custom object in the properties
key of each contact.
А contact's relationship with a custom object is always one-to-one.
Important: The following fields of a contact are unique and also nullable:
external_id
phone
email
This means that if a contact with the same value for any of these fields already exists in the organization,
the contact will be updated instead of created.
The following update strategy is applied:
- If a contact is present in the payload where the
external_id
conflicts with theexternal_id
of an existing contact:- If the existing contact has a different
email
andphone
than the new contact, the existing contact will be updated with the new data and the email and phone will be overwritten, as long as no other contact has the same email or phone.
- If the existing contact has a different
- If a contact is present in the payload where the
phone
conflicts with thephone
of an existing contact:- If the existing contact has the same
external_id
as the new contact or its value is not set, the existing contact will be updated with the new data. - If the existing contact has a different
external_id
than the new contact, a new contact without a phone will be created.
- If the existing contact has the same
- If a contact is present in the payload where the
email
conflicts with theemail
of an existing contact:- If the existing contact has the same
external_id
andphone
as the new contact or their values are not set, the existing contact will be updated with the new data. - If the existing contact has a different
external_id
andphone
than the new contact, a new contact without an email will be created.
- If the existing contact has the same
Callback