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.

¿Quieres crear actividades en directo 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 al día.

Incluye: 7.000 envíos push gratis al mes

Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaFregar sueloComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
Directo
Ver directoGatocam 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 directo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
EmbarqueEn vueloLlegó
Embarque
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaFregar sueloComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
Directo
Ver directoGatocam 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 directo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
EmbarqueEn vueloLlegó
Embarque
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
8 PM
Lavando la ropaTermina antes de las 8:00 PM
Lavar ropaFregar sueloComer
Domino'sPreparando
912
Movistar RidersMovistar RidersTerrorista9
MapaOverpass
12HeroicHeroicAntiterroristaCSGOCSGO EsportsVer directo
Directo
Ver directoGatocam 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 directo
United 1423Puerta B22 · Asiento 14C · SFO → JFK
EmbarqueEn vueloLlegó
Embarque
Llega en 6 minutosMarcus · Toyota CamryToyota Camry
En caminoLlegó
6 min