全般
成功時には 2xx を、エラー時には 4xx または 5xx をステータスコードとして返します。
全てのAPIに共通して必要なHTTPヘッダー
| パラメーター | 説明 | 例 |
|---|---|---|
| Content-Type | コンテントタイプ | application/json |
| X-API-KEY | 作成したBrickのAPIキー | Qi9rmEkBKx2AHdJKMwwkTr3wW67Jaxv6Je8yL88d |
ページネーション
各リソースの一覧にページングできるURLが含まれています。
GET /v1/{resources}
{
"data": [
... Endpoint data is here
],
"paging": {
"prev_url": "http://api.binb.bricks.pub/v1/{resources}?before=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9",
"next_url": "http://api.binb.bricks.pub/v1/{resources}?after=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9"
}
}コンテンツ
コンテンツのステータス
| パラメーター | 説明 | 例 | データ形式 | 必須 |
|---|---|---|---|---|
| content_id | コンテンツID | 0229f049-282d-4a49-905c-a0dfbbb244b7 | UUID | ○ |
GET /v1/contents/{content_id}
{
"data": {
"id": "dba314e9-83c4-4059-b2a3-ca307ebeb0d0",
"title": "テストコンテンツ",
"content_type": "reflowable",
"trial_range": "-{でした。}",
"convert_state": "success",
"converted_at": "2019-06-14T01:54:36.858Z"
}
}読むリンク生成
| パラメーター | 説明 | 例 | データ形式 | 必須 |
|---|---|---|---|---|
| reader_id | ユーザーを識別するための任意のID サービスの会員IDなど ビューワーの以下の機能が有効になります
| 1234 | String | |
| content_id | コンテンツID | 0229f049-282d-4a49-905c-a0dfbbb244b7 | UUID | ○ |
| exit_url | 閉じるボタンの遷移先URL | https://www.yondemill.jp/contents/1234 | String | ○ |
| continuation_url | 最終ページのURL | https://www.yondemill.jp/contents/1234 | String | ○ |
| recommended_page_type | 最終ページの形式 redirect, popup ※ 未指定の場合は ポップアップレコメンドページの詳細についてはお問い合わせください。 | リダイレクト ポップアップ | String | |
| adr | ビューワーを任意のページで開く ※ 固定型の場合のみ有効 ※ 表紙が0となります | 10 | String |
POST /v1/contents/tokens
{
"data": {
"presigned_url": "https://staging.binb.bricks.pub/contents/3b177572-1618-4e2c-b005-12a957a747bb/speed_reader?u0=978eef844d124b4d84eaf3152549fbeb",
"expired_at": "2018-08-09T06:04:24.027Z"
}
}試し読みリンク生成
| パラメーター | 説明 | 例 | データ形式 | 必須 |
|---|---|---|---|---|
| reader_id | ユーザーを識別するための任意のID サービスの会員IDなど ビューワーの以下の機能が有効になります
| 1234 | String | |
| content_id | コンテンツID | 0229f049-282d-4a49-905c-a0dfbbb244b7 | UUID | ○ |
| exit_url | 閉じるボタンの遷移先URL | https://www.yondemill.jp/contents/1234 | String | ○ |
| continuation_url | 最終ページのURL | https://www.yondemill.jp/contents/1234 | String | ○ |
| purchase_url | 書籍購入ページのURL 購入ボタンを表示したい場合は指定してください | https://www.yondemill.jp/contents/1234 | String | |
| recommended_page_type | 最終ページの形式 redirect, popup ※ 未指定の場合は ポップアップレコメンドページの詳細についてはお問い合わせください。 | リダイレクト ポップアップ | String | |
| adr | ビューワーを任意のページで開く ※ 固定型の場合のみ有効 ※ 表紙が0となります | 10 | String |
POST /v1/contents/trial_tokens
{
"data": {
"presigned_url": "https://staging.binb.bricks.pub/contents/3b177572-1618-4e2c-b005-12a957a747bb/speed_reader?u0=978eef844d124b4d84eaf3152549fbeb",
"expired_at": "2018-08-09T06:04:24.027Z"
}
}横断検索
コンテンツ横断検索
複数のPDFコンテンツを横断してテキストを検索し、該当するページ情報を取得します。
レスポンスには検索結果の統計情報(ヒット件数)も含まれます。
| パラメーター | 説明 | 例 | データ形式 | 必須 |
|---|---|---|---|---|
| owner_id | コンテンツオーナーのID | 684f9003-8f5d-4ed1-b9de-f2b86fb3c3eb | UUID | ○ |
| keyword | 検索キーワード(3文字以上) | テスト | String | ○ |
| content_ids | 検索対象のコンテンツID配列 | ["47bad771-2698-48e6-b7de-dff71e01197b", "0229f049-282d-4a49-905c-a0dfbbb244b7"] | Array[String] | ○ |
GET /v1/cross_search
{
"data": [
{
"adr": 3,
"texts": [
"目次 第1章 見出し 第2章 テスト 第3章 テキスト 第4章"
],
"content": {
"id": "47bad771-2698-48e6-b7de-dff71e01197b",
"title": "サンプルコンテンツ"
}
},
{
"adr": 36,
"texts": [
"第2章 テスト あのイーハトーヴォのすきとおった風",
"うつくしい森で飾られたテスト市、郊外のぎらぎら"
],
"content": {
"id": "47bad771-2698-48e6-b7de-dff71e01197b",
"title": "サンプルコンテンツ"
}
}
],
"paging": {
"prev_url": "http://api.binb.bricks.pub/v1/cross_search?before=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9",
"next_url": "http://api.binb.bricks.pub/v1/cross_search?after=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9"
},
"stats": {
"total_pages": 2,
"total_contents": 1
}
}コンバート
FLB ROOTにコンテンツを登録すると自動でFLB BinB向けに変換されます。
※ FLB BinBへのコンテンツ利用許可が必要です。
コンバート状況の種類
queued | コンバート待ち |
processing | コンバート中 |
success | コンバート完了 |
failure | コンバートエラー |
system_error | 処理エラー |
コンバート状況一覧取得
| パラメーター | 説明 | 例 | データ形式 | 必須 |
|---|---|---|---|---|
| owner_id | パスパラメータに指定したowner_idが保有するコンテンツを対象とする | 684f9003-8f5d-4ed1-b9de-f2b86fb3c3eb | UUID |
GET /v1/converts
{
"data": [
{
"content_id": "00f98428-e08a-4cfe-baff-fa5e357fb269",
"content_type": "reflowable",
"state": "queued",
"original_file_size": 863809,
"queued_at": "2018-08-05T01:19:41.555Z"
},
{
"content_id": "3a506cce-5008-4576-9d54-683b85edc9fa",
"content_type": "pre_paginated",
"state": "processing",
"original_file_size": 1929241,
"queued_at": "2018-08-04T07:09:53.293Z"
},
{
"content_id": "2e2f0a09-4f79-481e-a6e0-eddffc26552a",
"content_type": "reflowable",
"state": "success",
"original_file_size": 863809,
"queued_at": "2018-08-03T03:09:45.043Z"
},
{
"content_id": "242f5518-15cf-4a3f-b600-956f74d77192",
"content_type": "reflowable",
"state": "failure",
"original_file_size": 78365707,
"queued_at": "2018-08-02T07:59:36.868Z"
},
{
"content_id": "3a506cce-5008-4576-9d54-683b85edc9fa",
"content_type": "pre_paginated",
"state": "system_error",
"original_file_size": 1929241,
"queued_at": "2018-08-01T06:41:59.871Z"
}
],
"paging": {
"prev_url": "http://api.binb.bricks.pub/v1/contents?before=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9",
"next_url": "http://api.binb.bricks.pub/v1/contents?after=eyJsaW1pdCI6NTAsInJlc291cmNlX2lkIjoiZDA1NjE3ZWQtYTdjOC00YmQ1LWExNDAtYjZhNTQ5YzMwYzg0IiwicmVzb3VyY2VfY3JlYXRlZF9hdCI6IjIwMTktMDItMjdUMDA6MzE6MDkuMzcyWiJ9"
}
}Webhook
イベントの種類
- コンバートの準備中 (
convert_queued) - コンバートの開始 (
convert_processing) - コンバートの完了 (
convert_success) - コンバートの失敗 (
convert_failure) - コンバートの失敗(システムエラー) (
convert_system_error)
認証情報
設定できるAuthorization Headerの種類
BasicBearerDigest
リクエスト形式
送信ヘッダ
POSTで送信されますUser-Agent: FLB-BinB-Webhook/xxxxが設定されます
Example delivery headers
{
"Content-Type": "application/json",
"Authorization": "Basic Zmw6MDM5MA==",
"User-Agent": "FLB-BinB-Webhook/e6f89ff"
}送信ペイロード
resourceに更新されたリソースの種類が設定されますeventsにイベントの種類が設定されますdataに更新されたリソースの詳細情報が設定されます
Payload
{
"resource": "contents",
"events": [
"convert_queued"
],
"data": [
{
"id": "fe74a103-73f7-4ac0-bd4f-0a183c686fc3",
"owner_id": "c97835a9-0565-41a1-b8a8-e6943128e1e5",
"convert_state": "queued"
}
]
}レスポンス形式
ステータスコード200を返してください
注意事項
Timeout
Webhookを送信後レスポンスが10秒以内に返ってこない場合、Timeoutとなります。
処理が長くなる場合は、レスポンスを返却後、バックグラウンドで処理することを推奨します。