🪝

Webhook から値を投稿する

基本的に、Pixela のグラフの値を更新するためには、HTTPヘッダーに token をセットした状態で API をリクエストする必要があります。多くの場合これでも問題はありませんが、一部の環境やスマートスピーカーなどのクライアントでは、任意のHTTPヘッダーを設定することができない場合があります。
そのような環境の場合、あらかじめ Pixela の Webhook エンドポイントを作っておくことで、そのエンドポイントにアクセスするだけで値を更新することができるようになります。
まず最初に、以下のようなリクエストをして Webhook を作ります。
$ curl -X POST https://pixe.la/v1/users/<username>/webhooks -H 'X-USER-TOKEN:thisissecret' -d '{"graphID":"target-graph-id","type":"increment"}'
{"hashString":"78cea9809ff6aa2fe2b8d26cbdd883b8672c8f3a64b8d273ebd98928d3b01f01","message":"Success.","isSuccess":true}
Shell
このリクエストにより、グラフIDが target-graph-id であるグラフの、その日(この Webhook がリクエストされた日)の数値をインクリメントすることのできる Webhook (Incoming Webhook) を作成できました。
 
この Webhook をリクエストする際には、リクエストヘッダに token をセットする必要はありません。
$ curl -X POST https://pixe.la/v1/users/<username>/webhooks/78cea9809ff6aa2fe2b8d26cbdd883b8672c8f3a64b8d273ebd98928d3b01f01 -H 'Content-Length:0'
{"message":"Success.","isSuccess":true}
Shell

留意事項

  • hashString がわかっていれば、グラフの値を更新することができてしまいます。基本的には、これは公開しないほうが良いでしょう。
  • この Webhook エンドポイントに対するリクエストのボディの内容は何にも使用されません(無視されます)。

関連