いもうと通知APIのリファレンス

  • 0
    Like
  • 0
    Comment

    LINEBOTのいもうとにメモのリマインドをお願いするAPIです。自身の作ったサービス、アプリ、デバイスからいもうと経由で通知をプッシュすることができます。
    たとえば、Raspberry Piに話しかけた内容を、時刻指定でLINEにプッシュ通知するようなボイスメモデバイス/サービスを作ることができるようになります。

    デモ実装:いもうと通知API × RaspberryPiでボイスメモをLINEにプッシュ通知

    いもうとBOTについてはいもうとBOTのヘルプを参照ください。

    エンドポイント

    https://imouto.azurewebsites.net/api/notification
    

    パラメータ

    クエリストリングとして以下項目を送信してください。◯は必須項目、△はどちらか一方が必須となります。

    項目 登録 取得 変更 削除 説明
    apikey APIを利用するための認証キーです。いもうとに「通知キー発行」と言うと教えてくれます。また、流出してしまった場合などには「通知キー再発行」とお願いすることで新しいキーを教えてくれます。以前のキーは直ちに使用できなくなるのでお気をつけください
    operation 通知の登録(create)・取得(get)・変更(modify)・削除(cancel)のいずれかを指定します。設定しない場合は「create」として処理します
    text 通知してほしいメモ本文です。登録時は必須ですが、それ以外では無視されます。
    after 現在時刻から起算して何秒後に通知するかを指定します。通知時刻変更のときはafterかnotifydtのどちらかが必須となります。0秒を指定した場合は「直ちに通知」となります。1以上の値を設定した場合は、バッチ処理となるため1分程度かかることがあります
    notifydt 通知する日時を指定します。通知時刻変更のときはafterかnotifydtのどちらかが必須となります。両方が指定されている場合、notifydtを優先します
    type directという値を設定すると、いもうとが入力文言をそのまま発言してくれます。新規登録時のみ指定可能。type=directの場合、いもうとの「メモ一覧」には表示されません
    messageid 変更または削除する通知の番号を指定します。この番号は登録時の戻り値に含まれます。なお登録時に指定しても無視されます
    confirm 登録できたことの確認をLINEで通知します。登録時かつ値を「true」を設定する必要があります

    レスポンス

    JSON形式で以下の値を返却します。(取得時以外)

    項目 説明
    messageId 通知メッセージのIDです。変更や削除をするには、この値を使用します
    notifyDateTime 通知する日時(JST)です
    errorMessage エラーメッセージです。問題がない場合は空文字列が設定されます

    取得のときは、以下のとおりとなります。

    項目 説明
    notifications 取得時以外のときのレイアウトに通知メッセージ本文のtext項目を追加したものの配列です
    errorMessage エラーメッセージです。問題がない場合は空文字列が設定されます

    リクエスト・レスポンスのサンプル

    登録

    1時間後に「this is test」というメモを通知をする場合のリクエストは以下の通りです。

    https://imouto.azurewebsites.net/api/notification?apikey=XXXX&after=3600&text=this%20is%20test
    
    {
        messageId: "INA20170214000000000",
        notifyDateTime: "2017/02/15 12:00:00",
        errorMessage: ""
    }
    

    取得

    登録した通知の一覧を取得するリクエストは以下のとおりです。

    https://imouto.azurewebsites.net/api/notification?apikey=XXXX&operation=get
    
    {
        errorMessage: "",
        notifications: [
            {
               "messageId":"INA20170214000000000",
               "type":"Memo",
               "notifyDateTime":"2017/02/15 12:00:00",
               "text":"this is test"
            }
        ]
    }
    

    変更

    先ほど登録した通知時刻を、13:30に変更します。

    https://imouto.azurewebsites.net/api/notification?apikey=XXXX&messageid=INA20170214000000000&operation=modify&notifydt=2017/02/15%2013:30:00
    
    {
        messageId: "INA20170214000000000",
        notifyDateTime: "2017/02/15 13:30:00",
        errorMessage: ""
    }
    

    削除

    先ほど登録した通知を削除(キャンセル)します。

    https://imouto.azurewebsites.net/api/notification?apikey=XXXX&messageid=INA20170214000000000&operation=cancel
    
    {
        messageId: "INA20170214000000000",
        notifyDateTime: "2017/02/15 13:30:00",
        errorMessage: ""
    }
    

    APIキーの取得

    APIキーはいもうとが教えてくれます。LINE上で以下のように話しかけてください。

    通知キー発行
    

    また、流出してしまった場合などには「通知キー再発行」とお願いすることで新しいキーを教えてくれます。以前のキーは直ちに使用できなくなるのでお気をつけください。

    通知キー再発行