甘噛み最前線

気になる技術の最前線

DMM3DプリントDevelopperAPIで遊んでみたら

DMMの3DプリントのAPIが公開されておりまして、早速Developper登録して試してみました。

Developper登録ページ
http://make.dmm.com/developer/

DMM.com、自社サービスと連携できる3DプリントサービスのAPIを公開
http://pc.watch.impress.co.jp/docs/news/20131204_626229.html

全体の流れ

流れはこんな感じです

  1. Developperの登録する
  2. アプリケーションを登録する
  3. APIリファレンスを見てみる
  4. 接続する

Developperの登録する

ここから登録します。

Developper登録ページ
http://make.dmm.com/developer/

メールアドレスと、パスワードを決めると、
登録完了メールが届くのでメール内のリンクをクリックすれば完了です。

アプリケーションを登録する

アプリ名のみ必須なので、アプリ名を入力すればAPIキーが発行されます。
これで、APIに接続できる!!

APIリファレンスを見てみる

接続の前にリファレンスを確認

APIマニュアル
http://make.dmm.com/developer/reference/

モデルの一覧が取得出来たり、後はAPI経由でモデルの登録もできたりするようです。
体積を元に価格計算できるapiもありますが、これはおもしろそうです。

あと面白いなと思ったのですが、素材という概念があるんですね。
f:id:billyback:20131204194831p:plain
素材毎に値段があったり。APIでも素材が取得できる項目が確認できます。

今までのECにはない感覚ですね。おもしろそうです。
買う側からしたら迷いそうですが。

APIで接続する

APIの接続は簡単です。発行されたキーをパラメーターにつけるだけです。

例えば、
モデルの一覧を取得するなら

<?php
$key = "発行されたキー";
$cnt = file_get_contents("https://api.make.dmm.com/models/list/v1?applicationId=".$key);
echo $cnt

### こんな感じのパラメーターが返ってきます
{"count":10,"models":[{"creatorName":"inon","modelId":13924,"modelName":"ギアスマホケース","modelPriceHigh":1410.00,"modelPriceRow":1410.00,"modelStatusId":"6","modelThumbnailUrl":"https://img.make.dmm.com/images/item/13924/web_MG_1398+_20131204123903860.jpg","orderUrl":"http://make.dmm.com/item/13924","recommendedFlg":"0","skuCount":2},


素材の一覧を取得するなら

<?php
$key = "発行されたキー";
$cnt = file_get_contents("https://api.make.dmm.com/materials/v1?applicationId=".$key);
echo $cnt

### こんな感じ
{"materials":[{"materialIconUrl":"https://img.make.dmm.com/images/item_sku/2/2.jpg","materialId":2,"materialName":"アクリル樹脂","maxVolume":9583000.000,"maxX":185.000,"maxY":280.000,"maxZ":185.000,"minVolume":0},{"materialIconUrl":"https://img.make.dmm.com/images/item_sku/3/3.jpg","materialId":3,"materialName":"アクリル樹脂 レッ

という感じで返ってきます。


気になる、体積の価格計算は
f:id:billyback:20131204194949p:plain
こんな感じで、体積をパラメーターに設定してリクエストを送ります

<?php
$key = "発行されたキー";
$x = 50; // volumeの単位は mm3 なので$x, $y, $z はmm
$y = 50; // 5cmのキューブ
$z = 50;
$volume = "&volume=".$x*$y*$z;
$cnt = file_get_contents("https://api.make.dmm.com/prices/v1?applicationId=".$key.$volume);
echo $cnt;

### 返って来た結果は...
{"prices":[{"materialId":2,"materialName":"アクリル樹脂","materialPrice":28910},{"materialId":3,"materialName":"アクリル樹脂 レッド","materialPrice":30342},{"materialId":4,"materialName":"アクリル樹脂 ピンク","materialPrice":30342}

なるほどなるほど





高っ!!!
高い。5cmのキューブで30,342円は高い。
単位間違ってるのでしょうかね。cm3 でパラメーターを送るのかもしれないです。
$x = $y = $z = 5; にするとそれっぽくなるので。

あとがき

3Dプリンタに興味がわきました。


3Dモデルの作り方
http://make.dmm.com/howtomake/autodesk123ddesign/