Make(Integromat)で公式モジュールが用意されていないサービスのAPIと連携する方法
こんにちは!
SRE チームの宮原(@TakashiMiyahara)です 🙋
クラッソーネではノーコードのツールとして、Make(Integromat)を活用しています 💪
今日は、Make で OAuth 2.0 を利用して、外部の API を操作する方法について検証しましたので、共有したいと思います。
1. はじめに
クラッソーネでは一部の請求書発行に Misoca を利用しています。
現時点では経理部のクルーが請求書を一件ずつ発行してくれていますが、効率化を図るため、API を通じて自動化できるかを検討しました。
今回の検証では、Make から Misoca の API を利用して請求書を発行する手順を説明します。Make や OAuth 2.0 の設定方法についても詳しく解説するので、API の接続に不安がある方でも安心して進められます。
2. Misoca API 用のアプリケーションの作成
Misoca API のドキュメントを確認すると、まず「アプリケーションの作成」が必要です。
このアプリケーションは、API を通じて Misoca と通信するために必要な認証情報を提供します。
アプリケーションの作成を行うには、以下の内容を決める必要があるようです。
- 名称:管理しやすい名前を入力
- コールバック URL:https://www.integromat.com/oauth/cb/oauth2 を入力(Make の OAuth 2.0 モジュール用)
アプリケーションが作成されると、「アプリケーション ID」や「シークレット」が発行されます。これらは後の手順で使用するので、忘れずに控えておきましょう。
3. コネクションの作成
次に、Make で Misoca の API と接続するためのコネクションを作成します。
- Make で新しいシナリオを作成し、「Make an OAuth 2.0 request」モジュールを配置します。
- 「Add」から新しいコネクションを作成します。
以下の設定を入力します。
項目 | 値 |
---|---|
Authorize URI | https://app.misoca.jp/oauth2/authorize |
Token URI | https://app.misoca.jp/oauth2/token |
Scope | read もしくは write |
Client ID | Misoca のアプリケーション ID |
Client Secret | Misoca のシークレット |
次に、Show advanced settings を開き、以下の項目を追加設定します。
項目 | key | Value |
---|---|---|
Authorize parameters | client_id | Misoca のアプリケーション ID |
redirect_uri | https://www.integromat.com/oauth/cb/oauth2 | |
Access token parameters | client_id | Misoca のアプリケーション ID |
client_secret | Misoca のシークレット | |
redirect_uri | https://www.integromat.com/oauth/cb/oauth2 | |
Refresh token parameters | client_id | Misoca のアプリケーション ID |
client_secret | Misoca のシークレット |
設定が完了したら、OK を選択します。Misoca の承認画面が開くので、「承認」をクリックすればコネクションの作成は完了です。
4. Misoca の API を呼び出してみる
次に、作成したコネクションを使って Misoca の API を呼び出してみましょう。
請求書一覧を取得できるエンドポイントで試してみましょう。
Connection には先ほど作成したコネクションを選択します。
以下の内容を設定します。
項目 | 値 |
---|---|
URL | https://app.misoca.jp/api/v3/invoices |
Method | GET |
Parse response | Yes |
Parse response を Yes にすると、複数のデータを自動でパースしてくれます。
設定が完了したら、実行してみましょう。ステータスコード 200 で応答が返ってくれば、データが正常に取得できたことになります。
Read の操作は問題ないようですね。次は Write の操作を試してみましょう。
5. 請求書を作成してみる
次は、API を使って実際に請求書を作成してみます。
項目 | 値 |
---|---|
URL | https://app.misoca.jp/api/v3/invoice |
Method | POST |
Parse response | Yes |
Body type | Raw |
Content type | JSON(application/json) |
Request content | 下記参照 |
Parse response | Yes |
Request content の内容は以下のとおりです。
送り先 ID(contact_id)が必須のため、ブラウザからテスト用のデータを作成し、この ID を使用しました。
{
"invoice_number": "19990101-002",
"issue_date": "2024-08-23",
"subject": "宮原のテストの請求書",
"payment_due_on": "2024-08-24",
"contact_id": ******,
"items": [
{
"name": "テストの金額",
"unit_price": 10000.0,
"quantity": 1.0,
"price": 10000,
"unit_name": "",
"tax_type": "STANDARD_TAX_10",
"excluding_withholding_tax": false
}
]
}
この内容で実行してみましょう!請求書が作成されるでしょうか!?
Make にはステータスコード 201 の応答がありました。
ブラウザから Misoca を開いて確認してみましょう。
請求書が作成されていますね!
バクラクで申請された内容を経理部のクルーが承認したら、自動で請求書を作成するなどが実現できそうですね。
6. 終わりに
今回の検証で、Make から Misoca の API を使って請求書を作成できることが確認できました。Make の OAuth 2.0 モジュールを活用することで、比較的簡単に外部 API と接続できるため、同様の手順で他のサービスにも応用できるでしょう。
クラッソーネでは、引き続きプロダクトとチームの双方を改善していくために、共に働くエンジニアを募集しています。興味のある方はぜひご連絡ください!