POST /api/update
Cambia lo que muestran una o varias actividades.
Envía solo los campos que cambian. Se combinan con el estado guardado, así que una llamada con solo primaryText deja todo lo demás igual. Consulta el objeto state.
Destinos
Cada llamada incluye el widgetContainerId y uno de estos:
activityId: una actividad.activityIds: una lista de actividades.group: todas las actividades del grupo.
Si ninguno de los ids indicados existe en el contenedor, la llamada responde 404. Un grupo sin actividades responde 200 con targeted: 0.
Por id de actividad
1 2 3 4 5 6 7 8 9 10 11 12 13
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders", "state": { "primaryText": "Out for delivery", "stage": "On the way", "progress": 0.7, "estimatedMinutes": 8 } }'
Por varios ids de actividad
1 2 3 4 5 6 7 8 9 10 11 12 13
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityIds": [ "act-8f2cqa4mx7rd", "act-9k4d2bwh6tne" ], "widgetContainerId": "acme-orders", "state": { "secondaryText": "Running behind schedule" } }'
Por grupo
1 2 3 4 5 6 7 8 9 10
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "order-tracker", "widgetContainerId": "acme-orders", "state": { "secondaryText": "Kitchen is busy tonight" } }'
Respuesta
targeted es a cuántas actividades se ha enviado la actualización. unknown lista los ids que no se han encontrado en este contenedor.
1 2 3 4 5
{ "ok": true, "targeted": 3, "unknown": [] }
Ejemplos
Actualización silenciosa
Cada actualización genera una alerta en el teléfono, con primaryText como título y secondaryText como cuerpo. priority acepta 10 (el predeterminado) o 5. Envía priority: 5 para una actualización silenciosa: sin alerta en iPhone, sin sonido en Android. Cualquier otro valor cuenta como 10. Para tiempos y facturación, consulta entrega y facturación.
1 2 3 4 5 6 7 8 9 10 11 12
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders", "priority": 5, "state": { "progress": 0.8, "estimatedMinutes": 4 } }'
Avanza pasos segmentados
Envía la lista segments completa con nuevos valores de complete. La lista se reemplaza, no se combina.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "pizza-tracker", "state": { "primaryText": "On the way", "segments": [ { "label": "Cooking", "complete": true }, { "label": "On the way", "complete": false }, { "label": "Delivered", "complete": false } ] } }'
Actualiza un marcador versus
El objeto versus se combina un nivel más abajo, así que envía solo lo que ha cambiado.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "csgo-scores", "state": { "versus": { "leftScore": "16", "rightScore": "14", "activeSide": "left", "leftStatus": "Winner" } } }'
Cambia el diseño
Envía un nuevo layout con los campos de ese diseño. La tarjeta cambia de tipo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders", "state": { "layout": "countdown", "primaryText": "Ready for pickup", "secondaryText": "Pickup closes in", "countdownTo": 1795046400, "completionText": "Pickup closed" } }'
Reinicia una tarjeta
Un reinicio vuelve a crear la tarjeta en lugar de cambiarla en su lugar. Un reinicio siempre genera una alerta e ignora priority. Una actualización se envía como reinicio cuando:
- tiene
restart: true, - añade una URL de imagen nueva (el iPhone primero debe descargar la imagen), o
- la tarjeta empezó hace más de 8 horas (iOS deja de aceptar actualizaciones normales después de 8 horas).
Usa restart: true para recuperar una tarjeta que el usuario ha descartado, o una que se ha finalizado. Una actualización normal no puede. Sin state, la tarjeta se reinicia con su estado guardado.
1 2 3 4 5 6 7 8
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders", "restart": true }'
Mantén las mismas URL de imagen entre llamadas. Una URL con una query string que cambia cuenta como imagen nueva y reinicia la tarjeta en cada actualización.









