REST API
Notification stats
GET /api/v1/notifications/{id} returns the status, progress and counts of one push send.
GET https://api.xulo.io/api/v1/notifications/{id}
Returns the status, progress and counts of one push. {id} is the id from the send response. Use the same app's REST key.
curl https://api.xulo.io/api/v1/notifications/42 \
-H "Authorization: Key $XULO_REST_KEY"
{
"id": 42,
"sent": 120,
"failed": 2,
"skipped": 3,
"clicked": 14,
"remaining": 0,
"successful": 120,
"converted": 14,
"errored": 0,
"status": "approved",
"total_recipients": 125,
"processed": 125
}
Fields
| Field | Meaning |
|---|---|
status |
queued, sending, scheduled, approved or draft. See Send notification. |
total_recipients |
Devices in the audience of this send. |
processed |
Devices handled so far: sent plus failed plus skipped. |
remaining |
Devices still waiting to be sent. For a segment or tag send going out in the background, the devices not handled yet. For a scheduled send or a list still sending, the devices in the audience not sent to yet. 0 once the send is done. |
sent |
Devices Apple accepted. |
successful |
The same as sent. |
failed |
Devices Apple refused. |
skipped |
Devices not sent to. |
clicked |
Opens of this push that the SDK reported. |
converted |
The same as clicked. |
errored |
Always 0. |
See Delivery and analytics for what each count means.
Following a background send
A segment or tag send starts as queued, with processed at 0 and remaining equal to total_recipients. While it goes out, its status is sending, processed goes up and remaining goes down. When every device is handled, status is approved and remaining is 0. If Apple accepted none of the devices, status is draft.
Delivery paused during a send
If delivery pauses for an unpaid invoice while a segment or tag send is going out, the devices not reached yet are not sent, then or later. The send stops:
statusisapprovedif some devices got it, ordraftif none did.total_recipientsstill counts the whole audience.processedcounts the devices handled before the pause.remainingis0. The devices left out are in neitherprocessednorremaining.
Not found
An id that does not exist, belongs to another app, or is an in-app card returns 404.