本文へスキップ

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