BOCCO x IFTTT'webhooks' を
利用したアクションの設定
BOCCO APIを活用することで、IFTTTのトリガーで受け取った内容をwebhooksを利用して、 BOCCOにおしゃべりさせることができます。
利用手順は以下になります。
- BOCCO APIの申込みを行う
- API KEYを利用してアクセストークンを取得する
- アクセストークンを利用してIFTTTのアクションを設定する
1. BOCCO APIの申込みを行う。
http://api-docs.bocco.me/ にアクセスし「BOCCO APIに申し込む」ボタンをクリックして、API利用の申込みをしてください。
5営業日以内に、お申し込みされたメールアドレス宛てに「API KEY」が届きます。
2. API KEYを利用してアクセストークンを取得する
1で取得したAPI KEYを利用して、アクセストークンを取得します。以下のA~Cの手順で進めてください。
A. BOCCOアプリでメールアドレスとパスワードを設定する
B. BOCCO APIリクエストを送信してアクセストークンを取得する
C. メッセージを投稿したい部屋の情報を取得する
A. BOCCOアプリでメールアドレスとパスワードを設定する
BOCCOにメールアドレスとパスワードが設定されていない場合は、BOCCOアプリの「設定」から、
「アカウントの登録」(下記の画面↓)を利用し、 メールアドレスとパスワードの設定を行ってください。
B. BOCCO APIリクエストを送信してアクセストークンを取得する
パソコンのコマンドプロンプト(Macの場合、「ターミナル」でお探しください)から以下のコマンド(2行目まで↓)を実行して、アクセストークン(2行目以降のレスポンス)を取得します。
$ curl -sS --dump-header - 'https://api.bocco.me/alpha/sessions' -X POST -F 'apikey={取得したAPIキー}' -F 'email={BOCCOに登録済みのメールアドレス}' -F 'password={BOCCOに登録済みのパスワード}'
{
"access_token" : "x2c4sjxacw4tq72q5h9vrsgjbcz3p55ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"uuid" : "e8bdc076-4045-45a7-abea-xxxxxxxxxxxx"
}
詳細は以下のドキュメントを参照ください。
上記のレスポンスが得られない場合、以下をご確認下さい。
・apikey, email, password は正確に記述されているでしょうか?ミスが無いか改めてご確認下さい。
・''のクオーテーションをダブルクオーテーション""またはクオーテーション無しで記述してみて下さい。
・スペースが適切にはさまれているかご確認下さい。
・BOCCO API Documentationの「BOCCO APIのアクセストークンを取得する」にも、別の記述方法を記載しておりますので、お試し下さい→http://api-docs.bocco.me/get_access_token.html
C. メッセージを投稿したい部屋の情報を取得する
Bで取得したアクセストークン(access_token)を利用して、現在BOCCOアプリでお使いになっているチャットルームの一覧を取得し、IFTTTと連携させたい部屋のUUIDを取得します。下記の「このUUIDをメモする」と記載されている行の"uuid"(下記の場合、大文字のEから始まるもの)を記録して下さい。
$ curl -sS --dump-header - 'https://api.bocco.me/rooms/joined?access_token={アクセストークン}'
[
{
"uuid": "E7607BA3-2AA0-4DEB-8959-XXXXXXXXXXXX", /// このUUIDをメモする。
"name": "Happy Family",
"updated_at": "2015-07-31T21:47:46+09:00",
"background_image": "http://localhost:8000/1/rooms/E7607BA3-2AA0-4DEB-8959-XXXXXXXXXXXX/df5dfb71-9d58-4b50-b82f-000000000000.png",
"members": [
{
"user": {
"uuid": "eb11c90f-f1a2-43a8-8a12-xxxxxxxxxxxx",
"user_type": "human",
"nickname": "5",
"icon": "",
"seller": ""
},
"joined_at": "2015-05-11T23:52:39+09:00",
"read_id": 23843
},
...
],
"messages": [
{
"id": 24686,
"unique_id": "1DB34B93-0DFA-4150-AEF5-YYYYYYYYYYYY",
"date": "2015-07-31T21:47:46+09:00",
"media": "text",
"message_type": "normal",
"user": {
"uuid": "cffbf787-dd20-4157-8279-yyyyyyyyyyyy",
"user_type": "human",
"nickname": "mash",
"icon": "http://localhost:8000/1/users/cffbf787-dd20-4157-8279-yyyyyyyyyyyy/d4187679-bd07-49f8-94c9-000000000000.png",
"seller": ""
},
"text": "hoge",
"audio": "http://localhost:8000/1/messages/24686.ogg",
"image": "",
"sender": "cffbf787-dd20-4157-8279-yyyyyyyyyyyy",
"detail": null
}
],
"sensors": [
{
"uuid": "AAA5EC17-7981-4FDC-B783-ZZZZZZZZZZZZ",
"user_type": "sensor_fire",
"nickname": "sensor_fire",
"icon": "",
"seller": "",
"address": ""
},
...
]
}
]
詳細は以下のドキュメントを参照ください。アクセストークンは正確にご記入下さい。
3. アクセストークンを利用してIFTTTのアクションを設定する
2で取得した、アクセストークンと部屋のUUIDを利用して、BOCCOの部屋にIFTTTのトリガー
(if THIS:myThingsにおける「◯◯したら」に該当します)で得た情報をお喋りさせることができます。
IFTTTのTHENに(myThingsの場合の「◯◯する」に該当します)BOCCO APIを指定してください。
以下では設定手順を説明しますが、IFの設定は割愛いたします。(下記の例ではTwitterと連携しております)
- [+]thatをクリックします。
- actionを検索するテキストエディタに"webhooks"と入力しwebhooksを選択します。
- 「Make a web request」を選択します。
- それぞれの項目を以下のように設定します。
- URL: https://api.bocco.me/alpha/rooms/{部屋のUUID}/messages
- Method: POST
- Content-Type: application/x-www-form-urlencoded
- BODY:media=text&text={IFTTTのingredient}&access_token={アクセストークン}&lang=ja
- 上記の設定を行い"Create action"することで、IFTTTとBOCCOのチャットルームとの連携が完了いたします。
↑連携に成功している場合は上記のようなログがIFTTTに記録されます。