Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

Repeat requests are API requests that contain the same headers and the same data as the original request. A repeated request can be sent if the connection failed at the moment of receiving the data.

The platform will not accept a repeated request if it changes the data in order to avoid duplicate events. This scheme works by default and does not require additional configuration. By default, the platform deduplicates within 1 day from the first request.

How do you know if the request was taken as a duplicate one?

The response to the repeated request will be the same as the response to the original one. However, the repeated request will contain additional headers:

...

The X-Duplicate-Key header holds the hashed request data.

How to send a request so that it is not taken as a duplicate one?

It is recommended to mark each request with a unique identifier. In this way when you change the identifier, you will be able to execute requests, even if they contain the same data.

...

  • Change the data in the request body or URL, for example, &request_id=12345
  • Add the header that contains the request identifier in any form, for example X-Request-ID: a0fe37f2-b4e0-4e28-a328-4ec7461604fc

API requests that have deduplication

All requests that modify data or activation / launch of entities are checked for repetitions:

Profiles

/v1.0/lists/:list_id/lead/unconfirm

/v1.0/lists/:list_id/lead/unsubscribe

/v1.0/lists/:list_id/lead/tags_add

/v1.0/lists/:list_id/lead/tags_remove

/v1.0/lists/:list_id/lead/subscribe

/v1.0/lists/:list_id/lead/complain

/v1.0/lists/:list_id/suspend_all

/v1.0/lists/:list_id/unsuspend_all

/v1.0/lists/:list_id/import

/v1.1/profiles/add_batch

/v1.1/profiles/add

/v1.1/profiles/update_batch

/v1.1/profiles/update

/v1.1/profiles/import_batch

/v1.1/profiles/import

Integrations

/integrations/lpgenerator/profile_import

/integrations/tilda/profile_import

/integrations/any/profile_import

Suppression lists

/v1.1/suppresses/domain_add

/v1.1/suppresses/domains_add

/v1.1/suppresses/email_add

/v1.1/suppresses/emails_add

/v1.1/suppresses/add

/v1.1/suppresses/update

Subscriptions

/v1.1/subscriptions/set

/v1.1/subscriptions/suspend_all

/v1.1/subscriptions/unsuspend_all

/v1.1/subscribers/import

/v1.1/subscribers/update

Segments

/v1.1/segments/add

/v1.1/segments/update

/v1.1/segments/refresh_counters

Campaigns

/v1.1/campaigns/deactivate

/v1.1/campaigns/activate

/v1.1/campaigns/clone

Trigger campaign

/v1.1/campaigns/triggers/add

/v1.1/campaigns/triggers/update

/v1.1/campaigns/triggers/start

/v1.1/campaigns/triggers/import_and_start

Boadcast campaign

/v1.1/campaigns/broadcasts/add

/v1.1/campaigns/broadcasts/update

/v1.1/campaigns/broadcasts/start

Regular campaign

/v1.1/campaigns/regulars/add

/v1.1/campaigns/regulars/update

/v1.1/campaigns/regulars/start

Senders

/v1.1/admin/senders/queue/hold

/v1.1/admin/senders/queue/unhold

/v1.1/admin/senders/queue/purge

/v1.1/admin/senders/update

/v1.1/admin/senders/add_to_account

/v1.1/admin/senders/add

/v1.1/admin/vsenders/add

/v1.1/admin/vsenders/update

/v1.1/admin/vsenders/clone

Nodes

/v1.1/admin/nodes/mta/start

/v1.1/admin/nodes/mta/stop

Static segments

/v1.1/profiles/segstatic/add

/v1.1/profiles/segstatic/remove

Promo codes

/v1.1/promocodes/attach

/v1.1/promocodes/activate

/v1.1/promocodes/import

/v1.1/promocodes/detach

/v1.1/promocodes/update

Relations

/v1.1/relations/attach

/v1.1/relations/detach

/v1.1/relations/edit

/v1.1/relations/strengthen

Resources

/v1.1/resources/push_subscribe

/v1.1/resources/refresh_counters

Databases

/v1.1/databases/wipe

/v1.1/databases/refresh_counters

Virtual senders

/v1.1/vsenders/add

/v1.1/vsenders/update

/v1.1/vsenders/clone

Scenarios

/v1.1/workflows/start

/v1.1/workflows/import_and_start