Skip to content

Create confirmation send test

BetaAPI v2 is in public beta: endpoints, fields and behaviour can change before general availability. See the changelog

POST
/preorders/templates/confirmation/send_test
curl --request POST \
--url https://app.stoqapp.com/api/v2/external/preorders/templates/confirmation/send_test \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <X-Auth-Token>' \
--data '{ "locale": "fr", "email": "shopper@example.com", "offer_id": "string", "shopify_variant_id": "45000000001" }'

Send the preorder confirmation email to one email address as a test, rendered in the body locale (omit it for the shop default language) against one of the shop’s own preorder offer products. Matches the preorder template page’s Send test email button.

Note: email defaults to the shop’s reply-to address; one address only. offer_id (from GET /preorders/offers) and shopify_variant_id (a ProductVariant gid) pick the offer and product shown; omit both for the first product of the first enabled offer. Fails (422) when email sending is turned off, when the shop has no product in a preorder offer, or when the variant is not in the offer; 404 when the offer is not found or the shop has no single preorder confirmation template.

Media typeapplication/json
object
locale
string
>= 1 characters
email
null | string
offer_id
null | string
shopify_variant_id
null | string

Example

{
"locale": "fr",
"email": "shopper@example.com",
"offer_id": "string",
"shopify_variant_id": "45000000001"
}

Success — the updated resource.

Media typeapplication/json
object

Example generated

{}

Accepted — async/bulk work was queued. Poll the returned job.

Media typeapplication/json

Returned for async/bulk work — poll the job until it reaches a terminal state.

object
job_id
string
status_url
string

Example

{
"job_id": "job_a1b2c3",
"status_url": "/api/v2/external/jobs/job_a1b2c3"
}

Missing or invalid X-Auth-Token.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Unauthorized"
]
}

The request failed validation.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"name is required"
]
}

Rate limited — cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Rate limit exceeded"
]
}
Was this page helpful?

Still stuck? Ask Quinn or chat with support