eas API Documentation (0.5)

Download OpenAPI specification:Download

eas API ドキュメント

このドキュメントではeas APIを使ってできることの紹介やAPIリファレンスを提供します。

📋 目次

  1. 概要
  2. 利用の流れ
  3. 留意事項
  4. Webhook
  5. エラー・コード一覧
  6. 更新履歴

eas APIはeasテナント(またはその提携先)向けに提供されるWeb APIインターフェースです。

主な用途:

  • 自社システムにeas APIを組み込み、自動入稿によるデータ入力業務の効率化
  • 中・長期的に発生し続けるデータ入力業務の自動化

v1 エンドポイントの特徴

eas APIは2025年現在/v1エンドポイントを提供します。

🔑 認証・セキュリティ

  • IP制限とAPIキーによる認証
    • easテナントにはIP制限が適用されます
    • APIコンシューマー側でもリクエスト元のIPをNATなどで限定する必要があります
    • OAuthではなくAPIキー認証により完全な権限が与えられます

📤 入稿方式(3種類)

eas APIは以下の3つの入稿方式をサポートします:

  1. Base64形式入稿

    • 少量の画像を1帳票としてデータ化
    • 1画像でも利用可能
    • JSON形式でPOST
  2. ZIP形式入稿

    • 大量の画像を1帳票としてデータ化
    • 1画像でも利用可能
    • マルチパート形式でPOST
  3. PDF形式入稿

    • 複数ページのPDFを1帳票としてデータ化
    • 1ページでも利用可能
    • ページ単位処理希望時は事前分割が必要

📦 納品方式

  • Webhookによる納品
    • 完成データの受け渡しはeas側の外部連携設定でWebhookを設定
    • 詳しくはWebhook - 完成データ通知を参照
    • 納品データ取得APIも提供(Webhook失敗時の回避策)

⚠️ 制限事項

  • easの「ユーザー」や「仕様」などのリソースをREST形式で提供するものではありません
  • アドホックなAPI接続希望の場合は弊社担当者にご相談ください

利用の流れ

新たにeas APIをご利用頂く場合、以下の手順で設定を行います:

1. APIキーの発行

  • システムからの払い出しは行っておりません
  • 利用者側で任意の文字列をご用意ください

2. IP制限の設定

  • リクエストを許可するIPアドレス範囲をご共有ください

3. 開発・検証用の帳票の作成

  • 開発用環境のご用意はありません
  • 提供しているテナント内で開発・検証用の帳票を作成いただく必要があります

4. API設定

  1. eas管理画面より、APIを利用したい仕様を選択し詳細ページに移動
  2. 詳細ページの中部の「外部連携」タブを開く
  3. 「コマンド登録」からコマンド「WebAPIを有効化」を選択
  4. 手順1で発行したAPIキーを設定

5. Webhook設定(推奨)

⚠️ 重要: APIとWebhookは基本的にセットで設定することを推奨します。

設定理由:

  • 完成データの自動受け取りが可能になります
  • エラー発生時(ページ数制限違反、画像処理エラーなど)の通知を受け取れます
  • データ処理の結果をリアルタイムで把握できます

設定手順:

  1. 手順4のAPI設定完了後、同じ「外部連携」タブでWebhook設定を行う
  2. 「完成データ通知」のWebhookを設定(エラー通知は自動的に有効になります)
  3. コールバックURLとHMAC署名用のシークレットを設定

Webhook設定の詳細についてはWebhookセクションをご参照ください。

留意事項

eas APIのご利用にあたっては以下につきご留意いただきますようお願い致します。

🚀 高頻度なリクエスト

  • レートリミットなどは設定しておりませんが、超高頻度でのリクエストはお控えください

🔧 機能停止を伴うメンテナンス

  • 事前告知を行った上でAPIの全機能の停止を伴うメンテナンスを実施する可能性があります
  • APIコンシューマー側でのユーザー体験を損なわないために、メンテナンス実施時に連携機能の一時停止ができるよう実装をご検討ください

📝 その他

  • 特に断りがない限り、このAPIが返す金額の通貨単位は日本円、日付・時刻は日本標準時(JST)です
  • このAPIは試験提供段階のものです
  • 破壊的な変更については原則的にAPIコンシューマーに告知・猶予期間を設けて実施しますが、セキュリティ上の危機がある場合はこの限りではありません
  • このドキュメントの内容は予告なく変更される可能性があります

Webhook

eas APIではWebhookの購読/購読解除をするAPIリソースやオプションを提供していませんが、eas本体側から対象となる仕様に対してオートメーションの設定することで、APIコンシューマー側への完成データの受け渡しを行うことができます。

📋 Webhookの基本情報

  • メソッド: HTTP POST
  • フォーマット: JSON形式

⚠️ 重要: APIから入稿されたもののみがWebhookで通知されるわけではありません(eas本体側から入稿されたデータも通知されます)

: eas APIとeas本体からの入稿がされる仕様で、WebhookではAPI経由で入稿されたものを扱いたい場合は、リクエスト・パラメーターのkeyなどから判別する必要があります。

📝 識別キーについて:

  • Webhookレスポンスのkeyzip_keyフィールドには、入稿時に指定したkeyパラメータの値がそのまま返却されます
  • これにより、入稿リクエストとWebhookレスポンスを紐付けることができます

🔐 HMAC署名

Webhookはeasテナントの構成上、原則的にNATを通して固定されたIPアドレスから送信されます。

推奨される認証方式:

  • X-WEBHOOK-SIGNATUREヘッダーに付与されるデジタル署名の検証
  • デジタル署名はHMACでハッシュ関数はSHA-256を使用

署名検証の手順:

  1. eas側でWebhook設定時に登録するHMAC署名用のシークレットとペイロード(リクエスト・ボディ)からHMACのハッシュ値を生成
  2. コールバックURLがWebhookのリクエストを受ける時に、このハッシュ値を生成
  3. X-WEBHOOK-SIGNATUREから与えられるハッシュ値と同じであるかを確認
  4. 一致することで、リクエスト元がeasであることが保証されます

🔄 リトライ

  • Webhookを受け取る側からHTTPステータス・コードの200系または300系が返却されることで通知が正常に受け付けられたと判断
  • ステータス・コードが400系500系を返却した場合、最大5回までリトライ

エラー・コード一覧

エラー発生時にレスポンス・パラメーターのcodeはそれぞれ以下の値を返します。

HTTPステータス・コード code message 説明
500 0001 unexpected error APIエンドポイント側で予期せぬエラーが起きていることを表します
401 0002 unauthorized APIキーが無効であることなどを表します
405 0003 method not allowed 許可されていないメソッドであることを表します
400 0004 invalid parameter リクエスト・パラメーターに不備があることなどを表します
400 0005 The maximum file size for one submission is 20MB ペイロードのサイズが20MBを上回ったことを表します
400 0006 too many pages リクエストされたファイルの中に51ページ以上のPDFが含まれていることを表します(2025年7月22日以降廃止予定)
400 1000 invalid defined_paper_id 指定された仕様IDが存在しない、または入稿できない状態であることを表します
400 1001 base64 decode error BASE64形式の文字列のデコードに失敗したことを表します
400 1002 invalid zip_upload_history_id 指定された入稿履歴IDが存在しないことを表します

注意事項:

  • codemessageはエンベロープ(レスポンスのメタ情報)という位置づけではなくエラー・オブジェクトのフィールドです
  • リクエスト成功時はレスポンス・パラメーターにcodemessageが含まれることはありません
  • JSON形式のレスポンス・パラメーターを返さないエラーが発生する可能性もあります。その場合はHTTPステータス・コードからおおまかな状況を判別してください

📞 お問い合わせ 更新履歴に関するご質問や、今後の機能追加についてのご要望がございましたら、弊社担当者までお気軽にお問い合わせください。


更新履歴

eas APIの更新履歴を記載しています。破壊的な変更や重要な機能追加については、事前にAPIコンシューマーに告知いたします。

バージョン 仕様変更日 ドキュメント更新日 変更内容
v0.5 2025年7月22日 2025年6月19日 PDF形式入稿APIの改善:リクエスト時のページ数チェックを廃止し、51ページ以上のPDFは入稿後にエラー通知Webhookで処理結果を通知するように変更
v0.4 - 2025年6月18日 ドキュメントデザイン変更・説明文修正

📤 単一帳票入稿API(分割なし)

複数の画像を含む単一の帳票データを入稿するためのインターフェース

特徴:

  • 提供される画像は1つの帳票として処理され、画像の分割は行われません
  • 「画像の範囲指定」オプションが「しない」と設定されている対象仕様でのみ利用可能
  • 画像は複数枚入稿でき、入稿された枚数に関わらず、すべての画像は単一帳票として一括処理されます

対応形式:

  • Base64形式(少量の画像向け)
  • ZIP形式(大量の画像向け)
  • PDF形式(複数ページ向け)

📄 Base64形式入稿

Base64エンコーディングされた画像をJSON形式でPOSTする方法

用途:

  • 1枚または少量の画像が送信される場合に最適
  • PNG/JPG形式の画像に対応

特徴:

  • JSON形式でリクエストを送信
  • 画像はBase64エンコードして文字列化
  • 少量の画像処理に適している
path Parameters
id
required
integer

仕様ID

header Parameters
X-API-KEY
required
string

APIキー

Request Body schema: application/json
key
required
string

入稿識別キー 兼 帳票識別キー(UUIDなどユニークな文字列推奨)

required
Array of objects
Array of objects

easでのデータチェックを目的とする場合に利用可能なチェック対象の入力データ(JSON文字列)

Responses

Request samples

Content type
application/json
{
  • "key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "images": [
    ],
  • "input": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1234
}

📦 ZIP形式入稿

ZIPアーカイブをマルチパートでPOSTする方式

用途:

  • 大量の画像が送信される場合に最適
  • 複数の画像をまとめて処理したい場合

特徴:

  • マルチパート形式でリクエストを送信
  • ZIPファイルとして画像をアーカイブ
  • 大量の画像処理に適している
path Parameters
id
required
integer

仕様ID

header Parameters
X-API-KEY
required
string

APIキー

Request Body schema: multipart/form-data
key
required
string

入稿識別キー 兼 帳票識別キー(UUIDなどユニークな文字列推奨)

file
required
string <binary>

ZIPファイル

Array of objects

easでのデータチェックを目的とする場合に利用可能なチェック対象の入力データ(JSON文字列)

Responses

Response samples

Content type
application/json
{
  • "id": 1234
}

📋 PDF形式入稿

PDFファイルをマルチパートでPOSTする方式

用途:

  • 複数ページのPDFを1帳票としてデータ化
  • 1ページでも利用可能

特徴:

  • マルチパート形式でリクエストを送信
  • 入稿されたPDFのページ数に関わらず、単一帳票として一括処理
  • ページ単位での処理を希望される場合は、事前にページごとに分割してからリクエストを行ってください

注意点(2025年7月22日以降):

  • PDFファイルのページ数チェックなどは入稿後の別プロセスで行われます
  • 51ページ以上のPDFが検出された場合は、エラー通知Webhookにて結果が送信されます

制限事項:

  • PDFの縦横幅は32,768ピクセル(32K)を超えることはできません
  • 32K×32Kを超えるPDFが検出された場合は、エラー通知Webhookにて結果が送信されます
path Parameters
id
required
integer

仕様ID

header Parameters
X-API-KEY
required
string

APIキー

Request Body schema: multipart/form-data
key
required
string

入稿識別キー 兼 帳票識別キー(UUIDなどユニークな文字列推奨)

file
required
string <binary>

PDFファイル

Array of objects

easでのデータチェックを目的とする場合に利用可能なチェック対象の入力データ(JSON文字列)

Responses

Response samples

Content type
application/json
{
  • "id": 1234
}

📦 完成データ納品

Webhook通知を介して完成したデータを受け取る機能

用途:

  • 1帳票分のデータが完成したタイミングで通知
  • 完成データの自動受け取り

代替手段:

  • Webhookの送受信が失敗した場合の代替策として、納品データ取得用のAPIもご用意

📦 納品Webhook(帳票単位) Webhook

1帳票分のデータが完成したタイミングで通知

通知内容:

  • 完成した帳票データの詳細情報
  • データ化結果とステータス

⚠️ タイムアウトについて:

  • 性能上の都合から帳票単位でのWebhook通知はタイムアウト(3,000ms)を設定
  • レスポンスに既定値以上の時間がかかる場合は失敗扱いとなりリトライにキューイングされます
header Parameters
X-WEBHOOK-API-KEY
string

APIキー

X-WEBHOOK-SIGNATURE
string

HMAC署名

詳しくはWebhookをご参照下さい。

Request Body schema: application/json
id
integer

帳票ID

upload_id
integer

入稿ID

key
string

帳票識別キー(UUIDなどユニークな文字列推奨)

入稿時のkeyパラメータで指定した値がそのまま返却されます

zip_key
string

入稿識別キー(UUIDなどユニークな文字列推奨)

入稿時のkeyパラメータで指定した値がそのまま返却されます

defined_paper_id
integer

仕様ID

status
string

ステータス

データ化完了時には"success"のみを返却します

Array of objects (chip)
filenames
array

入稿ファイル名

message
string

メッセージ

データ化成功時には"Finished to process"で返却します

Responses

Request samples

Content type
application/json
{
  • "id": 1234,
  • "upload_id": 1234,
  • "key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "zip_key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "defined_paper_id": 123,
  • "status": "success",
  • "chips": [
    ],
  • "filenames": [
    ],
  • "message": "Finished to process"
}

⚠️ エラー通知

入稿後のデータ変換失敗時の通知機能

通知タイミング:

  • 入稿後に何らかの理由でデータの変換が失敗した場合
  • 完成データの納品通知を設定している場合、これは自動的に設定されます

⚠️ エラー通知Webhook Webhook

APIでの入稿後のデータ化処理で発生したエラーを通知

現在の対応範囲:

  • API入稿後の画像処理時にエラーが発生した場合
  • 例:
    • 入稿された画像が不正な形式である場合
    • 入稿されたPDFが51ページ以上である場合
    • 入稿されたPDFの縦横幅が32K×32Kを超える場合

今後の予定:

  • その他のフロー上でエラーが発生した場合にもエラー通知Webhookが送信される予定
header Parameters
X-WEBHOOK-API-KEY
string

APIキー

X-WEBHOOK-SIGNATURE
string

HMAC署名

詳しくはWebhookをご参照下さい。

Request Body schema: application/json
id
integer

処理に失敗した場合はnullを返却します

upload_id
integer

入稿ID

key
string

帳票識別キー(UUIDなどユニークな文字列推奨)

入稿時のkeyパラメータで指定した値がそのまま返却されます

zip_key
string

入稿識別キー(UUIDなどユニークな文字列推奨)

入稿時のkeyパラメータで指定した値がそのまま返却されます

defined_paper_id
integer

仕様ID

status
string

ステータス

処理失敗時には"failed"のみを返却します

chips
array

処理に失敗した場合は空配列を返却します

filenames
array

処理に失敗した場合は空配列を返却します

message
string

エラーメッセージ

現状は"Failed to process uploaded files"のみを返却します

Responses

Request samples

Content type
application/json
{
  • "id": null,
  • "upload_id": 1234,
  • "key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "zip_key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "defined_paper_id": 123,
  • "status": "failed",
  • "chips": [ ],
  • "filenames": [ ],
  • "message": "Failed to process uploaded files"
}

🔍 完成データ取得API

Webhook失敗時の代替データ取得機能

用途:

  • Webhookの送受信が失敗した場合の完成データ取得
  • 大量のリクエスト処理は想定されておりません、あくまでもWebhookの補助手段としてのみご利用ください

🔍 納品データ取得(入稿単位)

納品データを入稿単位で取得可能なAPI

用途:

  • Webhookでの結果通知が遅い場合の代替手段
  • 何らかの理由で納品が失敗した場合のデータ化結果取得

注意事項:

  • Webhookとレスポンスの形式が異なります
  • 大量のリクエストを捌くことは想定されておりません
  • あくまでもWebhookの補助としてご利用ください
path Parameters
id
required
integer

仕様ID

zipUploadHistoryID
required
integer

入稿ID

API入稿時に返却されるID、管理画面の入稿一覧からもご確認いただけます

header Parameters
X-API-KEY
required
string

APIキー

Responses

Response samples

Content type
application/json
{
  • "id": 1234,
  • "upload_id": 1234,
  • "key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "zip_key": "bf98dc96-5a57-401a-aba3-b7106e08d39c",
  • "defined_paper_id": 123,
  • "status": "processed",
  • "papers": [
    ]
}