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 envió la actualización. unknown lista los ids que no se encontraron 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 celular, 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 cambió.

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,
  • agrega 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 descartó, o una que se finalizó. 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.

¿Quieres crear actividades en vivo sin “desarrollarlas”?

¿Quieres empezar a crear hoy?

Sin enviar nada al App Store y sin código nativo que mantener. Un enlace lleva tu actividad a las pantallas de tus usuarios, y una API fácil de usar la mantiene en vivo.

Incluye: 7,000 envíos push gratis al mes

Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaLimpiar pisoComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
En vivo
Ver en vivoGatocam de MolyHace 3 segundosCámara del gato
Ya está en el hornoMat tiene tu pedido en el horno.Domino's
PreparandoEn caminoEntregado
Pensando
Revisando endpoint de APIPreparando cambios en Foodscout
PensandoTrabajandoListo
Llega en 30 minutosMat va a toda prisa hacia ti.Domino's
En caminoEntregado
GTA00:00
GTA00:00:00GTA VI
San Francisco ShockLocal1
MapaMidtown
3
Dallas FuelVisitanteOverwatch LeagueVer en vivo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
AbordajeEn vueloLlegó
Abordaje
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaLimpiar pisoComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
En vivo
Ver en vivoGatocam de MolyHace 3 segundosCámara del gato
Ya está en el hornoMat tiene tu pedido en el horno.Domino's
PreparandoEn caminoEntregado
Pensando
Revisando endpoint de APIPreparando cambios en Foodscout
PensandoTrabajandoListo
Llega en 30 minutosMat va a toda prisa hacia ti.Domino's
En caminoEntregado
GTA00:00
GTA00:00:00GTA VI
San Francisco ShockLocal1
MapaMidtown
3
Dallas FuelVisitanteOverwatch LeagueVer en vivo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
AbordajeEn vueloLlegó
Abordaje
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaLimpiar pisoComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer en vivo
En vivo
Ver en vivoGatocam de MolyHace 3 segundosCámara del gato
Ya está en el hornoMat tiene tu pedido en el horno.Domino's
PreparandoEn caminoEntregado
Pensando
Revisando endpoint de APIPreparando cambios en Foodscout
PensandoTrabajandoListo
Llega en 30 minutosMat va a toda prisa hacia ti.Domino's
En caminoEntregado
GTA00:00
GTA00:00:00GTA VI
San Francisco ShockLocal1
MapaMidtown
3
Dallas FuelVisitanteOverwatch LeagueVer en vivo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
AbordajeEn vueloLlegó
Abordaje
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min