お客様のデータは暗号化され、分離された環境で処理され、結果ができ次第すぐに削除されます。データを販売したり、誰かと共有したりすることはありません。 データの保護方法

開発者向け

APIドキュメント

銀行明細書をプログラムでアップロード・処理し、Excelでダウンロードするためのリファレンス。

近日公開

APIキー

ダッシュボードでキーを作成し、サーバーから下記のエンドポイントを呼び出します。このページでは、公開時のAPIの動作を紹介しています。

先行利用を申請

認証

すべてのリクエストのAuthorizationヘッダーでAPIキーを送信してください。キーはサーバーに保管し、ブラウザやモバイルアプリには置かないでください。

Authorization: Bearer <your_api_key>

ベースURL

https://api.bayainy.com/api/v1
POST/upload/preview

アップロード前のプレビュー

各ページ (デジタルまたはスキャン) を判別し、正確なページ数を計算します。料金は発生しません。

POST /upload/preview HTTP/1.1
Authorization: Bearer <your_api_key>
Content-Type: multipart/form-data
file: statement.pdf

レスポンス

{
"page_count": 3,
"digital_pages": 2,
"scanned_pages": 1,
"credit_cost": 4,
"pages": [
{ "page": 1, "type": "digital" },
{ "page": 2, "type": "digital" },
{ "page": 3, "type": "scanned" }
]
}
POST/upload

明細書をアップロードする

PDFをアップロードして抽出を開始します。明細書はpendingのステータスで始まり、自動的にprocessingへ進みます。

POST /upload HTTP/1.1
Authorization: Bearer <your_api_key>
Content-Type: multipart/form-data
file: statement.pdf

レスポンス

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"filename": "statement.pdf",
"status": "pending",
"page_count": 3,
"estimated_seconds": 6
}
GET/statements/{id}

明細書とその取引を取得する

処理の完了を確認し、抽出された取引と残高を取得するために使います。

注: ステータスがprocessingからcompleted (またはfailed) に変わるまで、数秒ごとにこのエンドポイントを確認してください。

GET /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
Authorization: Bearer <your_api_key>

レスポンス

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"bank_name": "Al Rajhi Bank",
"transaction_count": 42,
"opening_balance": 12480.00,
"closing_balance": 24755.00,
"available_exports": ["excel", "csv", "qbo", "xml"],
"transactions": [
{
"date": "2026-09-01",
"description": "Card purchase, Panda",
"debit": 184.50,
"credit": 0.00,
"balance": 12295.50,
"category": "grocery",
"reference": "FT26244S1K7Q",
"page_number": 1
}
]
}

取引のフィールド

datestring

取引日 (YYYY-MM-DD)。

descriptionstring

取引の内容。参照番号を除いた説明。

debitnumber

出金額。常に正の値で、ない場合は0。

creditnumber

入金額。常に正の値で、ない場合は0。

balancenumber

その行に印字された残高。当座貸越の場合はマイナス。

categorystring

支出のカテゴリ。例: grocery、transfer、fuel。

referencestring | null

銀行が印字した参照番号 (ある場合)。

page_numberinteger

その行があったPDFのページ。

GET/statements

明細書の一覧を取得する

アカウントに紐づくすべての明細書を、新しい順に返します。

GET /statements HTTP/1.1
Authorization: Bearer <your_api_key>

レスポンス

[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"filename": "statement.pdf",
"status": "completed",
"transaction_count": 42
}
]
GET/download/{id}/{format}

ファイルをダウンロードする

ステータスがcompletedになってから利用できます。プランに含まれる形式はavailable_exportsに記載されています。

excelcsvqboquickbooksxmlodoozohomt940camt053iif
GET /download/550e8400-e29b-41d4-a716-446655440000/excel HTTP/1.1
Authorization: Bearer <your_api_key>

レスポンス

HTTP/1.1 200 OK
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
<binary .xlsx file>
DELETE/statements/{id}

明細書を削除する

明細書とその取引、ファイルを削除します。元に戻すことはできません。

DELETE /statements/550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
Authorization: Bearer <your_api_key>

レスポンス

HTTP/1.1 204 No Content

ステータスの値

ステータス意味
pending

受信済み。まもなく開始します。

queued

空きを待っています。

processing

抽出を実行中です。

completed

取引とファイルの準備ができました。

failed

処理できませんでした。理由はerror_messageに記載されています。

連携についてのご質問は?

お問い合わせ