POST /api/update
1つ以上のアクティビティの表示内容を変更します。
変更するフィールドだけを送ります。保存済みのステートにマージされるので、primaryTextだけを送った場合、ほかはすべてそのままです。stateオブジェクトを参照してください。
対象
すべての呼び出しに、widgetContainerIdと次のいずれかを含めます:
activityId:1つのアクティビティ。activityIds:アクティビティのリスト。group:グループ内のすべてのアクティビティ。
指定したIDがコンテナに1つも存在しない場合、呼び出しは404を返します。アクティビティのないグループでは、200とtargeted: 0を返します。
アクティビティIDで指定
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 } }'
複数のアクティビティIDで指定
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" } }'
グループで指定
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" } }'
レスポンス
targetedは更新を送信したアクティビティの数です。unknownには、このコンテナで見つからなかったIDが入ります。
1 2 3 4 5
{ "ok": true, "targeted": 3, "unknown": [] }
例
通知なしの更新
更新のたびに、primaryTextをタイトル、secondaryTextを本文としてスマートフォンに通知されます。priorityには10(デフォルト)または5を指定します。通知なしで更新するにはpriority: 5を送ります。iPhoneでは通知が出ず、Androidでは音が鳴りません。それ以外の値は10として扱われます。タイミングと請求については配信と請求を参照してください。
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 } }'
セグメントのステップを進める
新しいcompleteの値を含むsegmentsのリスト全体を送ります。リストはマージされず、置き換えられます。
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 } ] } }'
バーサスのスコアを更新する
versusオブジェクトは1階層下までマージされるので、変わったものだけを送ります。
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" } } }'
レイアウトを変更する
新しいlayoutとそのレイアウトのフィールドを送ります。カードの種類が変わります。
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" } }'
カードを再起動する
再起動では、カードをその場で変更するのではなく作り直します。再起動では必ず通知され、priorityは無視されます。次の場合、更新は再起動として送られます:
restart: trueが含まれている場合- 新しい画像URLが追加された場合(iPhoneが先に画像をダウンロードする必要があるため)
- カードの開始から8時間以上たっている場合(iOSは8時間を過ぎると通常の更新を受け付けません)
restart: trueを使うと、ユーザーがスワイプで消したカードや、終了したカードを戻せます。通常の更新ではできません。stateがない場合、カードは保存済みのステートで再起動します。
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 }'
画像URLは呼び出し間で同じものを使います。クエリ文字列が変わるURLは新しい画像とみなされ、更新のたびにカードが再起動します。









