データエクスポートAPIのリクエストとレスポンスの例
これらの例について
- これらの例では、プレースホルダーのAPIキーとプリンターIDが使用されています。これらを適用する際は、ご自身の環境に合わせて値を置き換えてください。
- 例では、米国と日本のホスト名を使用しています。アカウントがヨーロッパでホストされている場合は、代わりに
rpi-data-export.app-ricohsoftware.euをご利用ください。 - 日付および時刻の値は、リクエストで指定されたタイムゾーンに基づく現地時刻として、
YYYY-MM-DDTHH:MM:SS.sssの形式で表示されます。 - すべての時間はミリ秒単位です。インクおよびフラッシング液の容量はすべて立方センチメートル(cc)で表示されています。
- 例はあくまで参考です。インク使用量、ページ数、稼働時間などの数値は、特定のプリンターからの測定値ではなく、あり得る運用データを表しています。
GET /printers
指定されたAPIキーで利用可能なプリンターを取得します。このエンドポイントには引数は必要ありません。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/printers x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerName": "VC60000_Line1",
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engines": 2,
"manufacturer": "Ricoh",
"model": "RICOH Pro VC60000",
"printerMode": "duplex",
"printerType": "continuous_feed",
"serialNumber": "Printer 1: 10-11111 and Printer 2: 10-22222",
"connectionStatus": "connected"
},
{
"printerName": "VC80_2",
"printerId": "0bc6b7b3-8df9-4293-cdd4-5ae3162c4d4c",
"engines": 2,
"manufacturer": "Ricoh",
"model": "RICOH Pro VC80000",
"printerMode": "duplex",
"printerType": "continuous_feed",
"serialNumber": "Printer 1: 10-33333 and Printer 2: 10-33334",
"connectionStatus": "not_connected"
},
{
"printerName": "IP 5000",
"printerId": "0f8726da-8a37-4c3b-8710-065d7c265122",
"engines": 1,
"manufacturer": "InfoPrint",
"model": "InfoPrint 5000 GP v3.17.129",
"printerMode": "simplex",
"printerType": "continuous_feed",
"serialNumber": "10-1111111",
"connectionStatus": "connected"
}
]
GET /jobs
指定された期間内に、1台以上のプリンターで処理されたジョブを取得します。この例では、America/Denverの現地時間における8時間の時間帯について、1台のプリンターを対象とし、印刷が正常に完了したジョブに限定してリクエストを行っています。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/jobs
?printerId=f7932e31-6545-4bff-8971-f84ef5f5b3dc
&timezone=America/Denver
&startDateTime=2026-03-15T08:00:00
&endDateTime=2026-03-15T16:00:00
&jobState=printed
x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"jobId": "5ae3162c4d4c-1771233448485-Cust_MH_Arena.pdf-13925",
"jobName": "Cust_MH_Arena.pdf",
"jobPrintingSide": "duplex",
"jobAction": "printed",
"jobStartTime": "2026-03-15T08:14:22.000",
"jobEndTime": "2026-03-15T08:47:51.000",
"jobDuration": 2009000,
"printedCopies": 1,
"printedPages": 4800,
"printedImpressions": 4800,
"printedSheets": 2400,
"printedRollFeet": 1640.5,
"printedRollMeters": 500.02,
"inkC": 184.6,
"inkM": 172.3,
"inkY": 198.1,
"inkK": 245.7,
"flushingC": 2.4,
"flushingM": 2.4,
"flushingY": 2.4,
"flushingK": 2.4
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"jobId": "5ae3162c4d4c-1771237012003-DM_Spring_Promo.pdf-13926",
"jobName": "DM_Spring_Promo.pdf",
"jobPrintingSide": "duplex",
"jobAction": "printed",
"jobStartTime": "2026-03-15T09:22:10.000",
"jobEndTime": "2026-03-15T11:05:44.000",
"jobDuration": 6214000,
"printedCopies": 25000,
"printedPages": 50000,
"printedImpressions": 50000,
"printedSheets": 25000,
"printedRollFeet": 17082.0,
"printedRollMeters": 5206.9,
"inkC": 1923.4,
"inkM": 1810.7,
"inkY": 2055.2,
"inkK": 2540.8,
"flushingC": 12.6,
"flushingM": 12.6,
"flushingY": 12.6,
"flushingK": 12.6
}
]
空の配列 ([]) は有効な応答であり、リクエストに一致したジョブがないことを意味します。
GET /printer-states(集計された履歴)
デフォルトの応答モードでは、エンジンごとに状態区間ごとに1行が返され、全期間および履歴のフィールドが含まれます。この例では、1台のプリンターに対して4時間の時間枠をリクエストしています。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/printer-states
?printerId=f7932e31-6545-4bff-8971-f84ef5f5b3dc
&timezone=America/Denver
&startDateTime=2026-03-15T08:00:00
&endDateTime=2026-03-15T12:00:00
x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "idle",
"printerState": "ready",
"printerStateDuration": 854000,
"historyStartTime": "2026-03-15T08:00:00.000",
"historyEndTime": "2026-03-15T08:14:14.000"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "up",
"printerState": "printing",
"printerStateDuration": 2017000,
"historyStartTime": "2026-03-15T08:14:14.000",
"historyEndTime": "2026-03-15T08:47:51.000"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "down",
"printerState": "maintenance",
"printerStateDuration": 1980000,
"historyStartTime": "2026-03-15T08:47:51.000",
"historyEndTime": "2026-03-15T09:20:51.000"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_2",
"stateCategory": "idle",
"printerState": "sleeping",
"printerStateDuration": 14400000,
"historyStartTime": "2026-03-15T08:00:00.000",
"historyEndTime": "2026-03-15T12:00:00.000"
}
]
GET /printer-states(現在の状態のみ)
currentState=true に設定すると、レスポンスにはエンジンごとに現在の状態が記載された行が 1 行ずつ含まれます。期間および履歴の欄は省略されています。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/printer-states
?printerId=f7932e31-6545-4bff-8971-f84ef5f5b3dc
&timezone=America/Denver
¤tState=true
x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "up",
"printerState": "printing"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_2",
"stateCategory": "idle",
"printerState": "ready"
}
]
GET /printer-states(状態カテゴリのみ)
stateCategoryOnly=true に設定すると、レスポンスから生のprinterStateフィールドが省略され、上位カテゴリのみが報告されます。期間および履歴のフィールドは保持されます。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/printer-states
?printerId=f7932e31-6545-4bff-8971-f84ef5f5b3dc
&timezone=America/Denver
&startDateTime=2026-03-15T08:00:00
&endDateTime=2026-03-15T12:00:00
&stateCategoryOnly=true
x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "idle",
"printerStateDuration": 854000,
"historyStartTime": "2026-03-15T08:00:00.000",
"historyEndTime": "2026-03-15T08:14:14.000"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"engine": "engine_1",
"stateCategory": "up",
"printerStateDuration": 2017000,
"historyStartTime": "2026-03-15T08:14:14.000",
"historyEndTime": "2026-03-15T08:47:51.000"
}
]
GET /printer-interventions
指定された期間内に、1台以上のプリンターで発生した介入イベントを取得します。この例では、1台のプリンターについて4時間の時間枠を指定し、イベントの説明を英語で表示するよう要求しています。この例のプリンタは連続給紙型であるため、interventionCodeの値には連続給紙形式が使用されています。
要求:
GET https://rpi-data-export.app-ricohsoftware.com/api/v1/printer-interventions
?printerId=f7932e31-6545-4bff-8971-f84ef5f5b3dc
&timezone=America/Denver
&startDateTime=2026-03-15T08:00:00
&endDateTime=2026-03-15T12:00:00
&language=en
x-api-key: YOUR_API_KEY
応答 (200 OK):
[
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"interventionStartDate": "2026-03-15T08:47:51.000",
"interventionEndDate": "2026-03-15T09:20:51.000",
"duration": 1980000,
"description": "Media empty",
"engine": "engine_1",
"jobName": "",
"interventionCode": "CA00"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"interventionStartDate": "2026-03-15T09:05:33.000",
"interventionEndDate": "2026-03-15T09:41:12.000",
"duration": 2139000,
"description": "Media empty",
"engine": "engine_2",
"jobName": "",
"interventionCode": "CA00"
},
{
"printerId": "f7932e31-6545-4bff-8971-f84ef5f5b3dc",
"interventionStartDate": "2026-03-15T10:12:04.000",
"interventionEndDate": "2026-03-15T10:19:47.000",
"duration": 463000,
"description": "Paper jam",
"engine": "engine_1",
"jobName": "DM_Spring_Promo.pdf",
"interventionCode": "40000006"
}
]
最初の2つのエントリでは、jobNameが空になっています。これは、そのイベントにジョブが関与していなかったことを意味します。3番目のエントリはジョブの印刷中に発生したため、ジョブ名が報告されています。
エラー応答の例
すべてのエラー応答は、code、message、および数値のstatusCodeを含むJSONオブジェクトという、同じ構成を採用しています。前述の通り、一部のエラーコードには追加のフィールドが含まれています。
400 不正な要求—タイムゾーンが無効です:
{
"code": "ERR_INVALID_TIMEZONE",
"message": "The supplied timezone is not a valid IANA timezone identifier.",
"statusCode": 400
}
400 不正な要求 — 必須パラメータが欠落しています:
{
"code": "ERR_MISSING_PRINTER_ID",
"message": "At least one printerId value is required.",
"statusCode": 400
}
400 不正な要求—日付範囲が許容上限を超えています:
{
"code": "ERR_DATE_RANGE_EXCEEDED",
"message": "The requested date range exceeds the maximum allowed range.",
"statusCode": 400
}
400 不正な要求—無効な言語:
{
"code": "ERR_INVALID_LANGUAGE",
"message": "The supplied language is not a supported language code.",
"statusCode": 400
}
401 アクセス権限なし — 無効な APIキー:
{
"code": "ERR_INVALID_APIKEY",
"message": "Failed to validate API key.",
"statusCode": 401
}
403 アクセス拒否—リクエストに含まれるプリンターに、APIキーではアクセスできません:
{
"code": "ERR_UNAUTHORIZED_PRINTERS",
"message": "Unauthorized printers.",
"statusCode": 403
}
413 ペイロードが大きすぎます—応答がサイズ制限を超えます:
{
"code": "ERR_RESPONSE_LIMIT_EXCEEDED",
"message": "The response would exceed the maximum allowed size. Narrow the date range or request fewer printers.",
"statusCode": 413,
"maxJobs": 8000
}
500 サーバー内部エラー:
{
"code": "ERR_INTERNAL_SERVER_ERROR",
"message": "An internal server error occurred.",
"statusCode": 500
}