Skip to main content

Send Fulfillment Email

POST 

/api/walmart/:integrationInstance/wfs/inbound-shipments/:shipment/fulfillment/email

Send the operator-composed portal invite to the resolved 3PL/supplier recipient (a 3PL warehouse's address email, or the supplier's PO email), substituting the {{reference}}/{{portal_link}}/{{instructions}} tokens server-side, then (once the email is queued) flip the packet status to Sent (sets sent_at). The recipient is resolved server-side — it is not accepted from the request. Returns 422 if no packet has been built, or if no recipient email is configured for the source (add one to the 3PL warehouse address / supplier before emailing). The recipient check runs immediately (422 when none is configured); the send itself runs in the background because the label PDFs are fetched live from Walmart. The response returns the fulfilment packet as it stood when the send was queued, plus tracked_job_log_id for following the background job; fetch the packet again once the job completes to see the Sent status.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Authentication: Requires Bearer token.

Fields:

  • subject (string, required, max 255): the final subject line (tokens substituted server-side).
  • body (string, required): the final HTML body (tokens substituted server-side).
  • cc (string[], optional, nullable, each a valid email): additional CC recipients.
  • attach_prep_sheet (boolean, optional, default true): attach the prep & pack sheet CSV (unit mix, prep requirements, kitting) — included when the shipment has lines.
  • attach_receiving_label (boolean, optional, default false; the compose dialog pre-checks it whenever a receiving label is available): attach the WFS receiving label PDF, fetched live from Walmart at send time. Silently skipped if the shipment is a source placeholder or the live fetch fails.
  • attach_carrier_label (boolean, optional, default false; the compose dialog pre-checks it whenever a carrier is booked): attach the WFS carrier / pickup label PDF, fetched live from Walmart at send time. Silently skipped if no carrier is booked or the live fetch fails.
  • from_mode (string, optional, nullable, one of: merchant, system): sender-identity override. 'merchant' sends From the store's own domain (needs the SPF/DKIM setup in email_from_dns_setup); 'system' sends via SKU.io with the operator as Reply-To. Null = the tenant's default (email_from_default_mode).

Requires the integrations.update permission.

Request​

Responses​

OK

Response Headers
    Content-Type