hello-world
webエンジニアのメモ。とりあえずやってみる。

DMM 3Dプリント API を使ってみた

公開日時

先日、DMM 3Dプリント APIが公開されました。

公式ドキュメントはこちら

APIキーを取得方法と使ってみた感想をまとめておきます。

APIキーの取得

3d1

  • アプリ情報を入力

3d2

今回は解析結果通知等は試していないのでURLは入力していません。

  • アプリ作成後、作成したアプリの詳細情報を確認。アプリIDをメモしておきます。

3d3

APIにアクセスしてみる

curlコマンドを使ってAPIにアクセスしてみます。

jqコマンドで結果のjsonを整形しています。

applicationIdの部分は取得したアプリケーションIDに置き換えてください。

  • API情報参照

GETでアクセス

curl https://api.make.dmm.com/api/v1?applicationId={アプリケーションID} | jq "."

結果

{
  "resultMessage": "OK",
  "resultCode": 200
}
  • 素材一覧参照

GETでアクセス

curl https://api.make.dmm.com/materials/v1?applicationId={アプリケーションID} | jq "."

結果

{
  "resultMessage": "OK",
  "resultCode": 200,
  "materials": [
    {
      "minVolume": 0,
      "maxZ": 185,
      "maxY": 280,
      "maxX": 185,
      "maxVolume": 9583000,
      "materialName": "アクリル樹脂",
      "materialId": 2,
      "materialIconUrl": "https://img.make.dmm.com/images/item_sku/2/2.jpg"
    },

素材情報が返ってきます。

  • マイモデル一覧参照

GETでアクセス

curl https://api.make.dmm.com/models/my/v1?applicationId={アプリケーションID} | jq "."

結果

{
  "totalCount": 0,
  "resultMessage": "OK",
  "resultCode": 200,
  "offset": 0,
  "models": [],
  "count": 0
}

まだ何もアップロードしていないのでモデルは0件になっています。

  • モデル一覧参照

GETでアクセス

curl https://api.make.dmm.com/models/list/v1?applicationId={アプリケーションID} | jq "."

結果

{
  "totalCount": 555,
  "resultMessage": "OK",
  "resultCode": 200,
  "offset": 0,
  "models": [
    {
      "skuCount": 16,
      "recommendedFlg": "0",
      "creatorName": "m-baby",
      "modelId": 16072,
      "modelName": "heart_ring_dual9.stl",
      "modelPriceHigh": 6000,
      "modelPriceRow": 1107,
      "modelStatusId": "2",
      "modelThumbnailUrl": "https://img.make.dmm.com/images/item/16072/heart_ring_9号_dual_image_20131215230526619.jpg",
      "orderUrl": "http://make.dmm.com/item/16072"
    },

公開中のモデル情報が一覧で返ってきます。

  • モデル登録

POSTでアクセス

curl https://api.make.dmm.com/models/upload/v1 -X POST -F "[email protected]" -F "applicationId={アプリケーションID}"

結果

{"modelId":モデルID,"resultCode":200,"resultMessage":"OK"}

作品のアップロードに成功すると、モデルIDが返ってきます。

このモデルIDを使って、作品の詳細情報や設定を変更することができます。

  • モデル情報取得

GETでアクセス

curl "https://api.make.dmm.com/models/v1?applicationId={アプリケーションID}&modelId={モデルID}" |jq "."

モデルの詳細情報が返ってきます。

creatorはnullになっています。

  • モデル設定変更

GETでアクセス

 curl https://api.make.dmm.com/models/update/v1 -X POST -F "modelId={モデルID}" -F "applicationId={アプリケーションID}" -F "restrictPassword=sample" -F "modelName=test"

作品名をtestに変更し、パスワードsampleで限定公開に設定しています。

設定可能パラメータは 公式ドキュメントを参照

  • 価格計算

GETでアクセス

curl https://api.make.dmm.com/prices/v1?applicationId={アプリケーションID}&volume=10 | jq "."

上記の例では10mm3の作品を作成した場合の価格が返ってきます。

感想

APIを使ってみての感想としては、個人で作品を公開している人には便利なAPIだろうなと思いました。

クリエイターAPIの名の通り、個人のギャラリーサイトやポートフォリオサイト上で、自分の作った3D作品を見せたり、販売したりしたい場合に利用するのが適しているかと思われます。

今後、FacebookAPIやTwitterAPIのようにOAuth認証に対応してくれれば、個々のユーザがログインして作品をアップロードしたり出品したりするのが可能になると思うので、そうなったら色々使い道が広がるなぁと思いました。