Ingest recall contacts

Accepts a batch of customers affected by a product recall and asynchronously triggers the
configured recall Journey for each accepted recipient.

Recipients are validated synchronously against known customers and orders under the given
brand: each customer must exist, and each order must exist, belong to that customer, and
contain the stated SKU and product. Valid recipients are accepted and queued for asynchronous
Journey triggering; invalid recipients are reported in rejected_recipients.

Required fields:

  • recall_id
  • journey_id
  • brand
  • reason_for_recall (up to 500 characters)
  • recipients

Each recipient requires a contact (customer_id, name, phone and email) and at least
one order. A phone number must be a real number that includes a country code and is converted
to E.164 before it is sent; an email address must be of the form [email protected]. A request
containing a contact that cannot be reached, or a value over its maximum length, is rejected
as a whole with 400.

Up to 200 recipients are accepted per request, and up to 10 orders per recipient; larger lists
must be split across multiple calls. To send a large list from a spreadsheet, use
POST /erc/ecommerce/recall/contacts/upload instead.

One message is sent per customer per product. The same customer may appear under more than one
recipient entry; the entries are merged, and the contact details of the first one are used.
Repeated entries for the same order, SKU and product are ignored, and several SKUs or orders
for one product are combined into a single message.

purchase_date_time is no longer used. If it is still sent it is accepted and ignored.

Message variables

For each customer and product the Journey is triggered with these variables: customer_id,
customer_name, phone (in E.164), email, brand, brand_name, reason_for_recall,
product_id, product_name, skus and order_numbers. skus and order_numbers combine
the SKUs and order numbers of that customer's orders for the product, without repeats,
separated by , , and product_name is taken from the first order listed for the product.
sku, order_id, order_number and recall_id are not sent.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Scope

erc-ecommerce-recall:write

Body Params

Recall Contacts Request.

The recall contacts request body.

string
required
length ≥ 1

The unique identifier of the recall.

string
required
length ≥ 1

The identifier of the published Journey to trigger for each recipient.

string
required
length ≥ 1

The brand associated with the recall.

string
required
length between 1 and 500

A short, customer-facing description of why the product is being recalled.

recipients
array of objects
required
length between 1 and 200

The list of customers affected by the recall.

recipients*

A single recipient and the recalled orders associated with them.

contact
object
required

The recipient's contact information.

orders
array of objects
required
length between 1 and 10

The recalled orders associated with this recipient.

orders*

A recalled order line associated with a recipient.

string
required
length between 1 and 255

The SKU of the recalled product.

string
required
length between 1 and 255

The unique identifier of the order.

string
required
length between 1 and 255

The unique identifier of the product.

string
required
length between 1 and 255

The name of the recalled product.

string
required
length between 1 and 255

The customer-facing order number.

Responses

Language
Credentials
OAuth2
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json