Header image

クラッソーネの開発者がエンジニアリングに関することもそうでないことも綴っています!

Make(Integromat)で公式モジュールが用意されていないサービスのAPIと連携する方法

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 と通信するために必要な認証情報を提供します。
https://doc.misoca.jp/

アプリケーションの作成を行うには、以下の内容を決める必要があるようです。

アプリケーションが作成されると、「アプリケーション ID」や「シークレット」が発行されます。これらは後の手順で使用するので、忘れずに控えておきましょう。

3. コネクションの作成

次に、Make で Misoca の API と接続するためのコネクションを作成します。


  1. Make で新しいシナリオを作成し、「Make an OAuth 2.0 request」モジュールを配置します。
  2. 「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 を呼び出してみましょう。
https://doc.misoca.jp/v3/document.html

請求書一覧を取得できるエンドポイントで試してみましょう。

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 と接続できるため、同様の手順で他のサービスにも応用できるでしょう。

クラッソーネでは、引き続きプロダクトとチームの双方を改善していくために、共に働くエンジニアを募集しています。興味のある方はぜひご連絡ください!

https://www.crassone.co.jp/recruit/engineer/


RubyやTerraformが好きで、メンバーが楽になる仕組みを考えるのが好きなエンジニア