2023年4月27日木曜日

Storecove社のデジタルインボイスAPIを呼び出してみる

 Storecove社が提供しているデジタルインボイスAPIを、Oracle APEXから呼び出してみます。

Storecove社のサイトは以下です。

https://www.storecove.com/

Storecove社は、デジタル庁が推進しているPeppolのネットワークにアクセスするサービスおよびRESTful APIを提供しています。

APIの呼び出しを試すには、サンドボックス環境を取得する必要があります。サンドボックス環境は無料で取得できます。詳しくは上記のStorecove社のサイトを参照してください。

開発者アカウントを作成しログインすると、SettingsタプよりAPIキーの生成と取得ができます。


デジタルインボイスの送受信を行うには、受送信を行うLegal Entityを作成する必要があります。Legal Entityを作成する際にPeppol IDが必要であり、このIDは「法人番号」と「適格請求書発行事業者登録番号」のどちらか、「インボイス制度」における「適格請求書」を送るためには「適格請求書発行事業者登録番号」が必要になります。(Storecove社のFAQ: Peppol IDとは?を参照)

これらの情報を準備できなかったため、以下の作業のみを実施しました。

Storecove API Documentation

Storecove APIを呼び出すにあたって、APIキーの保存の仕方とパッケージAPEX_WEB_SERVICEの使い方を以下より紹介します。

デジタルインボイスの作成(StorecoveのAPIではインボイスはJSONオブジェクトとして作成します)や、送受信のAPI呼び出しは含みません。


Web資格証明の作成



StorecoveのAPIは以下の形式のAuthorizationヘッダーにより、認証を行います。(1.1.3 Make your first API callのcurlのサンプルより)

Authorization: Bearer API_KEY_HERE

この形式の認証は、認証タイプHTTPヘッダーであるWeb資格証明として作成できます。

ワークスペース・ユーティリティWeb資格証明を開きます。


作成するWeb資格証明に、以下の値を設定します。

名前は任意です。今回はStorecove API Keyとしました。静的識別子はAPI呼び出しの際に指定する文字列になります。今回はSTORECOVE_API_KEYとしています。

認証タイプとしてHTTPヘッダーを選択します。資格証明名はヘッダー名であるAuthorizationを指定します。資格証明シークレットとして、Bearerで始め、空白で区切り、StorecoveのSettingsAPI Keysの画面で生成したAPIキーの値を続けて設定します。

Bearer API_KEY_HERE

URLに対して有効に、APIのベースURLである以下を設定します。

https://api.storecove.com/api/v2/


Web資格証明が作成できたので、SQLコマンドよりAPIの呼び出しを行います。


APIの呼び出し



最初のAPIとして、Discover Network Participantが呼び出されています。

https://app.storecove.com/en/docs#_receiving_documents

リクエストの本体であるJSONドキュメントはDiscoverableParticipantです。

以下のPL/SQLコードを実行します。

SQLワークショップSQLコマンドより実行します。(記事の先頭のスクリーンショット)

応答としてDiscoveredParticipantが返されます。

今回の実行では、以下の応答が返されます。

{"code":"OK","email":false}

以上で、Oracle APEXからStorecove APIを呼び出せることが確認できました。

ドキュメントの送信(3.2.2 Sending a document)、インボイス(5.2.32 Invoice)、送信証明の取得(3.3.5 Sending Evidence)、ドキュメントの受信(3.4.2. Received Document Webhook)といったAPIも何かの機会があれば、試してみたいと思います。

Oracle APEXによるアプリケーション作成の参考になれば幸いです。