Skip to content

ResolveAlerts resolves alerts **this integration raised**, recording why.

You call thissales:orders:fulfillment:self

POST
/v2/shipping/fulfillment_orders/alerts/resolve
curl --request POST \
--url https://api.zentail.com/v2/shipping/fulfillment_orders/alerts/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "resolutions": [ { "fulfillmentOrderId": "example", "type": "ALERT_TYPE_UNSPECIFIED", "resolution": "example" } ] }'

Scoping matters: an alert of the same type raised by Zentail itself, or by another integration, on the same order survives. Resolving by type alone would let one caller silently clear another’s alerts.

Media typeapplication/json
object
resolutions

One entry per alert to clear. Required and server-capped. Only alerts this integration raised are in scope — naming one raised by Zentail or by another integration clears nothing.

Array<object>
object
fulfillmentOrderId

The fulfillment order carrying the alert.

string
type

AlertType maps to Zentail’s customer-order alert types. Only the types a fulfillment integration can legitimately raise are exposed.

  • ALERT_TYPE_UNSPECIFIED: Refused. Every alert names a type.
  • ALERT_TYPE_FULFILL: Something is blocking fulfilment but you have not given up on it. If you have, reject instead.
  • ALERT_TYPE_LATE_SHIPMENT: Will miss, or has missed, the ship-by deadline.
  • ALERT_TYPE_LOST: Shipped but the package is lost in transit.
  • ALERT_TYPE_OTHER: Anything else worth telling a user about. Put the specifics in message — it is the only thing that reaches a person.
string
default: ALERT_TYPE_UNSPECIFIED
Allowed values: ALERT_TYPE_UNSPECIFIED ALERT_TYPE_FULFILL ALERT_TYPE_LATE_SHIPMENT ALERT_TYPE_LOST ALERT_TYPE_OTHER
resolution

Why it is resolved. Stored alongside the alert and shown to the user.

string

A successful response.

Media typeapplication/json
object
results

One result per resolution sent, keyed by fulfillment order and type. Read already_resolved before reacting: nothing open to clear is the normal answer to a retry, and to a user having cleared it first.

Array<object>

AlertResolveResult mirrors AlertResult but carries the resolve path’s own soft-success flag. AlertResult’s already_open only makes sense when raising; on a retried resolve it would be nonsense, leaving a caller that timed out and retried with no honest way to read success.

object
fulfillmentOrderId

The fulfillment order the alert was on, echoed back.

string
type

AlertType maps to Zentail’s customer-order alert types. Only the types a fulfillment integration can legitimately raise are exposed.

  • ALERT_TYPE_UNSPECIFIED: Refused. Every alert names a type.
  • ALERT_TYPE_FULFILL: Something is blocking fulfilment but you have not given up on it. If you have, reject instead.
  • ALERT_TYPE_LATE_SHIPMENT: Will miss, or has missed, the ship-by deadline.
  • ALERT_TYPE_LOST: Shipped but the package is lost in transit.
  • ALERT_TYPE_OTHER: Anything else worth telling a user about. Put the specifics in message — it is the only thing that reaches a person.
string
default: ALERT_TYPE_UNSPECIFIED
Allowed values: ALERT_TYPE_UNSPECIFIED ALERT_TYPE_FULFILL ALERT_TYPE_LATE_SHIPMENT ALERT_TYPE_LOST ALERT_TYPE_OTHER
success

True when no alert of this type is open any more, whether this call closed it or found nothing to close. False is a real failure.

boolean
errorMessage

Why it failed, in prose, for logs and support. Empty on success.

string
alreadyResolved

True when no open alert of this type remained, so nothing changed. Treat as success: it is what a retry after a timeout sees, and what a poller sees when a user resolved the alert by hand first.

boolean
Example
{
"results": [
{
"type": "ALERT_TYPE_UNSPECIFIED"
}
]
}

An unexpected error response.

Media typeapplication/json
object
code
integer format: int32
message
string
details
Array<object>
object
@type
string
key
additional properties
Examplegenerated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}

Sourceshipping-api-proto@24ac5150 via [email protected]

Built0c509dd3

This page describes the source document as deployed: the version sales-orders pinned in its release r2026.09.24. A change merged upstream shows up here once it has deployed and the pins are next refreshed.

API changelog