API仕様
公開APIのご利用には、利用規約が適用されます:https://beaglepack.net/terms
公開API
登録せずに、公開トークンでお試しいただけます。
- 箱詰め計算API:
POST https://api.beaglepack.net/api/v1/packing - 箱詰め画像生成API:
POST https://api.beaglepack.net/api/v1/packing/image - 残回数API:
GET https://api.beaglepack.net/api/v1/usage
このほか、ご契約の組織に、代金を初めてお支払いいただいたあとで弊社がお出しするトークンでは、同一複数箱箱詰め計算API(同じ外箱を必要なだけ使って詰める計算)と外箱一覧取得APIもお使いいただけます。トライアル中の組織にはお出ししません。公開トークンでは呼べません。
公開トークン:W0DmKh7OlHGZdUJYLc95QkiJjfpO9nCjcp7LEiif6d072138
このトークンは秘密ではありません。回数の上限と呼び出しの頻度の上限は、試す方全員で分け合います。
回数の上限:1時間あたり100回(残り100回)。
例
計算の応答をファイルに保存し、そのまま箱詰め画像生成APIに送ります。要求の本文(request.json)の形と例は、仕様書にあります。
curl -sS https://api.beaglepack.net/api/v1/packing \
-H "Authorization: Bearer W0DmKh7OlHGZdUJYLc95QkiJjfpO9nCjcp7LEiif6d072138" \
-H "Content-Type: application/json" \
--data-binary @request.json -o result.json
curl -sS https://api.beaglepack.net/api/v1/packing/image \
-H "Authorization: Bearer W0DmKh7OlHGZdUJYLc95QkiJjfpO9nCjcp7LEiif6d072138" \
-H "Content-Type: application/json" \
--data-binary @result.json -o result.png
箱詰め画像生成APIは、描けたときだけPNGを返します。画像を作れなかったときは、PNGの代わりにJSONを返します(HTTP 200で、本文のstatusがERRORの場合もあります)。保存したファイルがPNGかは、応答のContent-Typeで確かめてください。
クエリの数え方
1クエリは、計算エンジンが「外箱1つ」と「荷物の組1つ」を計算して、答えを返した1回です。
- 答えが「入りきりません」でも、計算をしたので1クエリです。
- 外箱を変えても、荷物の組を変えても、送り直すたびに1クエリです。
- 同一複数箱箱詰め計算APIは、1回の要求の中で外箱1個ぶんずつ計算するので、使った外箱の数だけクエリを使います。
1クエリになる単位
計算エンジンへの1回の計算は、外箱1つと荷物の組1つでできています。答えは次の4つのどれかで、どれでも1クエリです。
- 詰められます(
SUCCESS) - 入りきりません(
UNABLE) - 詰め方が見つかりませんでした(
FAILED) - 時間内に詰め方が見つかりませんでした(
TIMEOUT)
括弧の中は、APIの応答のstatusです。
外箱をいくつか試すとき
同じ荷物の組を、外箱を変えて試すと、外箱1つにつき1回計算します。入らなかった外箱の計算も数えます。
箱詰めアプリでは、試すリストに入れた外箱1つにつき1回計算します。同じ寸法の外箱を2行試せば、それぞれ計算して2クエリです。
荷物を変えて試すとき
荷物の組を変えて送り直すと、送るたびに1回計算します。「どの荷物を減らせば入るか」を計算エンジンが探すことはないので、減らし方を変えて試した回数だけクエリを使います。
同じ外箱を必要なだけ使って詰めるとき(同一複数箱箱詰め計算API)
同一複数箱箱詰め計算API(同じ外箱を必要なだけ使って詰める)は、1回の要求の中で、外箱1個ぶんずつ計算を繰り返し、入りきらなかった荷物を次の同じ外箱へ回します。数えるのは計算した回数なので、1回の要求で何クエリ使うかは、詰め切るまで分かりません。
- 外箱N個で詰め切れば、Nクエリです。
- どの向きでも外箱に入らない荷物があると1回目で分かれば、外箱0個でも1クエリです。荷物を1個も置けなかった計算も、1クエリと数えます。
- 外箱の数の上限や、使える回数の上限に達して途中で止まれば、それまでに計算した回数だけ数えます。答えが
ERROR・NOTAUTHORIZED・TIMEOUTでも、それまでの計算は数えます。
数えるもの・数えないもの
数えるもの
- 全部の荷物を詰める詰め方が見つかった計算(
SUCCESS) - 外箱に入らないと分かった計算(
UNABLE) - 試し終えたが、全部を詰める詰め方が見つからなかった計算(
FAILED) - 時間内に詰め方が見つからなかった計算(
TIMEOUT) - 通信が切れて答えを受け取れなかったが、計算は終わっていたもの
数えないもの
- 入力の誤り(形・寸法・IDなど)で、計算の前にエラーを返した要求
- 使える回数の上限や契約の状態で、計算の前に止めた要求(
NOTAUTHORIZED) - 混み合っていて、計算の前にエラーを返した要求
- 計算エンジンの側でエラーになった計算
- 箱詰めアプリで、上限に達したあと送らなかった外箱(「計算しませんでした」と出ます)
- 箱詰め画像生成APIで画像を作る呼び出し
使える回数の上限
- 使える回数には、組織ごとの上限と、トークンごとの上限があります。1クエリは両方に数え、どちらかに達すると、計算できなくなります。
- ログインせずに使うときの上限は同じIPアドレスごとに、公開APIの上限は試す方全員の合計で数えます。
- 使った回数は、決まった期間ごとに0に戻ります。期間の長さは上限ごとに違います。ご自分の期間は、箱詰めアプリの残り回数や、プランの価格表に出ています。
仕様書
要求と応答の形と例は、APIの仕様書(OpenAPI)にあります。トークンなしで読めます。
GET https://api.beaglepack.net/api/v1/openapi.json