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は新しい画像とみなされ、更新のたびにカードが再起動します。

ライブアクティビティを​「開発」せずに​作り始めませんか?

今日から​作り始めませんか?

App Storeへの申請も、ネイティブのコードベースの保守も不要です。リンクひとつでアクティビティがユーザーの画面に届き、使いやすいAPIで最新の状態を保てます。

毎月7,000回の無料プッシュ付き

Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
8 PM
洗濯中8:00 PMまでに完了
洗濯床掃除昼食
Domino's調理中
912
Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
ライブ
ライブを見るMolyのねこカメラ3秒前に更新ねこカメラ
ただいま焼き上げ中Matがご注文の品を焼いています。Domino's
調理中移動中配達完了
思考中
APIエンドポイントを調査中Foodscoutの変更を準備中
思考中作業中完了
あと30分でお届けMatが急いで向かっています。Domino's
移動中配達完了
GTA00:00
GTA00:00:00GTA VI
San Francisco Shockホーム1
マップMidtown
3
Dallas FuelアウェイOverwatch Leagueライブで見る
United 1423ゲートB22 · 座席14C · SFO → JFK
搭乗中飛行中到着
搭乗中
あと6分で到着Marcus · Toyota CamryToyota Camry
移動中到着
6分
Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
8 PM
洗濯中8:00 PMまでに完了
洗濯床掃除昼食
Domino's調理中
912
Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
ライブ
ライブを見るMolyのねこカメラ3秒前に更新ねこカメラ
ただいま焼き上げ中Matがご注文の品を焼いています。Domino's
調理中移動中配達完了
思考中
APIエンドポイントを調査中Foodscoutの変更を準備中
思考中作業中完了
あと30分でお届けMatが急いで向かっています。Domino's
移動中配達完了
GTA00:00
GTA00:00:00GTA VI
San Francisco Shockホーム1
マップMidtown
3
Dallas FuelアウェイOverwatch Leagueライブで見る
United 1423ゲートB22 · 座席14C · SFO → JFK
搭乗中飛行中到着
搭乗中
あと6分で到着Marcus · Toyota CamryToyota Camry
移動中到着
6分
Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
8 PM
洗濯中8:00 PMまでに完了
洗濯床掃除昼食
Domino's調理中
912
Movistar RidersMovistar Ridersテロリスト9
マップOverpass
12HeroicHeroicカウンターテロリストCSGOCSGO eスポーツライブで見る
ライブ
ライブを見るMolyのねこカメラ3秒前に更新ねこカメラ
ただいま焼き上げ中Matがご注文の品を焼いています。Domino's
調理中移動中配達完了
思考中
APIエンドポイントを調査中Foodscoutの変更を準備中
思考中作業中完了
あと30分でお届けMatが急いで向かっています。Domino's
移動中配達完了
GTA00:00
GTA00:00:00GTA VI
San Francisco Shockホーム1
マップMidtown
3
Dallas FuelアウェイOverwatch Leagueライブで見る
United 1423ゲートB22 · 座席14C · SFO → JFK
搭乗中飛行中到着
搭乗中
あと6分で到着Marcus · Toyota CamryToyota Camry
移動中到着
6分