kintoneの通知をFlowを使って微信(Wechat)に飛ばす

この記事は [kintone Advent Calendar 2017](https://qiita.com/advent-calendar/2017/kintone) の 18日目の記事です。

# 作るもの
１．kintoneレコード追加のWebhookをMicrosoft Flowで受ける。
２．Microsoft Flowから微信（Wechat）にメッセージを送る。

# 微信（Wechat）とは
中国のLINEです。中国ではとってもたくさんの人たちが使っています。
今回使うのは、企業が使うための微信である、企業微信です。

[企業微信の開設はこちらから](http://work.weixin.qq.com)

# kintone側にアプリを作成します。
項目は一つでよいです。フィールドコードは変更しなくてもOK。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/1152f0a8-93ed-87cc-4e12-c49f02340bf4.png)

レコードタイトルに画面上の項目を設定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/a376f9b2-6b46-7a09-cbad-3af0c97733c1.png)

# 企業微信側の設定をします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/1090a0d2-2295-7e79-7d5a-482ac947b8e2.png)　にある、CorpIDという項目を控えておきます。

企業微信でアプリを作成すると、画面上に AgentIid と Secret が表示されますので、それも控えておきます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/4f1852e0-c669-4a99-c19a-043c69c9eccf.png)

微信側のアプリ作成が成功すると、微信の画面に作成されたアプリが出てきます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/773caa7e-332d-50f3-ff01-b57d5161d310.png)

# Microsoft FLow側で新しいフローを作成します
## まずはWebhookの受け口を作ります。
使うコネクタは、要求。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/68ef40f8-32ae-c383-c01d-634ef3cc3dc8.png)

要求本文のJSONスキーマにはおまじないJSONスキーマを挿入

```
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "app": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "recordTitle": {
            "type": "string"
        },
        "url": {
            "type": "string"
        }
    }
}
```
## 微信のAccessTokenを取得
使用するコネクタは HTTP
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/946d39e7-fa22-8e9c-9923-88adbe9616de.png)

下記リファレンスにあわせて、リクエストを投げます。

[企業微信のAccessTokenを取得する方法](http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8)　

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/f6b349eb-aa96-7841-c57d-8ffd2955a055.png)

## 微信にメッセージを送信
使用するコネクタは HTTP
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/ade6e974-54f1-aa3a-d0c8-f4a284a67365.png)

下記リファレンスにあわせて、リクエストを投げます。
[发送接口说明](http://qydev.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E)
[消息类型及数据格式](http://qydev.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E7%B1%BB%E5%9E%8B%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F#text.E6.B6.88.E6.81.AF)

kintoneからのWebhookに含まれる情報と、先ほど取得したAccess Tokenをここで使います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/ece65992-38d7-b93a-2753-9c7bc11ba010.png)

フロー全体のイメージはこんな感じ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/3f2cf924-8a28-dec5-797a-f44c72022f85.png)

## フローを保存して、生成されるURLをkintone側のWebhook先に設定します。

Flow側のこのURLを
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/9a578e98-90f7-dd42-aa5c-eabf7f44fa3b.png)

kintoneのWebhookに設定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/d6782272-19a6-67ec-83ce-df05f4188d67.png)

#動作確認
kintoneでレコード追加
![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/6336049f-cd40-abf7-2606-da550febcd61.png)

微信にメッセージが届きました！
対象アプリ、レコードタイトル、対象レコードのURLがちゃんと出ていますね。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/79724/8dbb26e6-9941-6cf5-7c84-1cd1af429dcf.png)

中国以外では需要のない記事かもしれませんが、微信の活用範囲は割と広いので、今回記事にしてみました。

やったね！