プロダクトAPI群



プロダクトAPIは、アプリ内課金で利用する有料・無料の商品(プロダクト)を管理するAPI群です。

  • プロダクトグループ
    •  複数のプロダクトが属するフォルダのような概念です。プロダクトは複数のプロダクトグループに属することが可能です。
    • すべてのプロダクトはプロダクトグループに属しています。何も指定しない場合、デフォルトのグループに属します。

  • プロダクト(一覧)
    •  ダウンロード提供する商品データ、及びそのメタデータを検索できます。

  • プロダクト(一件)
    •  ダウンロードする商品データを1件だけ取得します。レスポンスの仕様は検索と同一です。

  • 売り上げランキング
    • 毎朝5時に集計した売り上げランキングをAPIで取得可能です。


-プロダクトグループ(ID無指定でデフォルトグループの取得)



プロダクトグループの一覧および、そのグループに紐づくプロダクトを取得します。プロダクトAPIにもプロダクトグループを指定するAPIはありますが、レスポンスの量が異なります。プロダクトグループAPIでは基本情報のみ返却しますので、通信及びJSONの読み込みを高速に行うことが可能です。

リクエストURL

https://dodaii.com/api/v3/productGroup/<TOKEN> (/<GROUP ID>)

 例)グループ指定有り(1)

 https://dodaii.com/api/v3/productGroup/decdc5444c24142895238ec9a0ce3778/1

 例)デフォルトグループ

 https://dodaii.com/api/v3/productGroup/decdc5444c24142895238ec9a0ce3778

リクエストメソッド

GET


リクエストパラメータ

項目意味必須値の例
TOKENアプリケーションを一意に特定するトークン必須6427d3ccb8f01fafca85c2303c057bbe
GROUP IDプロダクトグループID任意1


レスポンスパラメータ

項目名意味値の例
applicationIdグループがひも付くApplicationのIDです。dodaiiの内部IDになります。50
idグループID5
    localizationプロダクトグループの各言語ごとに登録した情報(配列)です。{"displayedName":"","locale":"en_AU"},(以下略)
displayName言語ごとに管理パネルで登録した表示名です。DISPLAY_NAME(Japanese)
locale該当の省略言語情報です。ja
memoメモテスト
nameプロダクトグループ名無料アイテムグループ名
productListプロダクトグループに紐づいたプロダクトの情報一覧(配列){"createdAt":1282881029000,"deleteFlag":false,"disabled":false,
"freeItemFlag":true,"id":62,"identifier":"freefreefree",
"modifiedAt":1283421950000,"name":"無料プロダクト"}(以下略)
createdAtプロダクトが作成された日付(ミリ秒)1282881029000
deleteFlag削除フラグfalse
freeItemFlag無料フラグfalse
idプロダクトのID132
identifierプロダクトのAppStoreで使用するIDです"Test Item"
modifiedAtプロダクトが更新された日付(ミリ秒)1282881029000
nameプロダクト名テスト無料プロダクト

サンプルレスポンス

[
    {
        "applicationId": 151,
        "id": 1,
        "localization": [
            {
                "displayedName": "言語:Australian English",
                "locale": "en_AU"
            },
       ・・・ 略 ・・・            {
                "displayedName": "言語:Japanese",
                "locale": "ja"
            },

       ・・・ 略 ・・・

            {
                "displayedName": "言語:Swedish",
                "locale": "se"
            }
        ],
        "memo": "テストデータ確認用のデータ",
        "name": "テストグループ",
        "productList": [
            {
                "createdAt": 1288189227000,
                "deleteFlag": false,
                "disabled": false,
                "freeItemFlag": false,
                "id": 595,
                "identifier": "testtsetProduct20101027",
                "modifiedAt": 1297909107000,
                "name": "テストプロダクト001"
            }
        ]
    }
]


エラーケース

  • 返却すべきランキング数が0件の場合
  • Tokenに紐づくアプリケーションが存在しないとき
  • その他不正な検索条件が加味されていた場合
  • 共通エラーもご確認ください
  • ご不明な点は「APIドキュメントのプロダクトグループについて」とsupport[a]dodaii.com


-プロダクト(一覧)


プロダクトAPIは、様々な条件でプロダクト情報を取得するために利用します。一覧APIを利用し、さまざまな条件で取得可能です

  • プロダクトの全件取得
  • 特定のプロダクトグループに属するプロダクト一覧※
  • 取得結果のフィルタリング(言語情報)
  • メタデータを利用したlike検索
  • パラメータを指定した並べ替え
※プロダクトグループAPIとの違いは、言語も含んだプロダクトの全情報をレスポンス返却する点です。プロダクトの数が多い場合、JSONの読み込みに負荷がかかりますのでご注意ください。


●リクエストURL


プロダクト一覧:※下記のパラメータで絞り込みおよびソートが可能です

https://dodaii.com/api/v3/product/<TOKEN>


特定のグループに紐づくプロダクト一覧(非推奨。ソートや検索条件指定はできません。プロダクトグループAPIとの違いはレスポンスデータの内容が詳細である点です。)

https://dodaii.com/api/v3/product/<TOKEN>/<GROUP ID>


●リクエストメソッド


GET


●リクエストURL仕様

項目意味必須値の例
TOKENアプリケーションを一意に特定するトークン必須6427d3ccb8f01fafca85c2303c057bbe
GROUP IDグループを一意に特定するID。
省略した場合は、グループを指定せず全てのプロダクト情報を取得する。
0を指定した場合は、グループに属していないプロダクトの情報を取得する。
任意2


●リクエストクエリパラメータ仕様

※API URLにて/<GROUP ID>/を指定した場合は利用できません。

検索に関する仕様

項目意味必須値の例
attnarrow(非推奨)下記attnarrowkwパラメータと連動してlike検索を行う。
「attnarrow」はATT1~ATT5までの指定パラメータ
任意ATT1
attnarrowkw(非推奨)上記attnarrowパラメータと連動してlike検索を行う。
「attnarrowkw」はlike検索のキーワード
任意abcdefg123
productGroupId特定のプロダクトグループに属するプロダクトのみ抽出します任意2
localelocaleの指定。
この指定により、返却される言語を限定し、レスポンスのデータ量を削減することが可能です。
※Sortは省略されないためattributeとの併用の場合はlanguageIdを指定しなければなりません。
任意ja
keyword管理パネルの付属情報FreeColumn1~5、DISPLAYED_NAME、プロダクト名の全てのカラムを横断しキーワードで絞り込みます。
keywordの中に「スペース」がある場合AND検索を実施します。
 (※全角スペースでも半角として認識されます)
 (※ただし、2つ目のスペース移行に関しては無視します)
例)「ああ いい うう ええ おお」
「ああ」AND「いい」までは検索キーワードとして認識、以降はないものとして扱われスキップします。
任意TestKeyword
andKey1~3付属情報FreeColumn1~5(ATT1~5)の情報いずれかに対して、like検索を行います。対象となるカラムと、検索キーワードの組み合わせは3つまで組み合わせることができ、それぞれAND検索になります。
例)FreeColumn1に電子書籍のタイトル、FreeColumn2に著者名が入っている場合
andKey1=ATT1&andValue=SampleBook&andKey=ATT2&andValue=jessica
任意ATT1
andValue1~3任意TestKeyword
languageIdSortなどATT1~5を指定するとき用いる。値となる数値はプロダクト情報の言語情報の順番を表わす。 
Australian English:0
Brazilian Portuguese:1
Canadian English:2
Canadian French:3 ・・・ Japanese:9 
※localeを指定した後languageIdが無指定の場合,[Australian English]となる。
任意9

ソート、ページングに関する仕様

項目意味必須値の例
attribute取得結果をソートする際の基準を決定します。ATT1~5を指定すると、管理パネルにおけるFree Column1~5の内容でソートを行います。 manual と指定すると、プロダクト登録画面にある「表示順」でソートを行います。何も指定しない場合、管理パネルで登録した順となります。
任意ATT1
sortsortの順序。デフォルトはasc任意asc
lmt取得できるリミット(デフォルトおよび0指定は50件)任意20
offst 取得を開始する位置(0始まり)  


●サンプルリクエスト


例)グループID 1 に属し、ATT1のデータを基準に降順に並べ替え。レスポンスは日本語情報のみにフィルタを行う

https://dodaii.com/api/v3/product/6427d3ccb8f01fafca85c2303c057bbe/?attribute=ATT1&sort=desc&productGroupId=1&locale=ja

例)すべてのカラムに対し、「55555」でlike検索を行う(処理に時間がかかる場合があります)

https://dodaii.com/api/v3/product/6427d3ccb8f01fafca85c2303c057bbe/?keyword=55555


例)FreeColumn1対し「yamada」、FreeColumn2に対し「TRUE」でlike検索を行う

https://dodaii.com/api/v3/product/decdc5444c24142895238ec9a0ce3778?andKey1=ATT1&andValue1=yamada&andKey2=ATT2&andValue2=TRUE

    ※検索対象はdodaii WebPanelのプロダクトにあるFree Column 1~5(「ATT1」~「ATT5」)にあたります。


●レスポンス仕様

項目名意味値の例
applicationIdグループがひも付くApplicationのIDです。dodaiiの内部IDになります。50
applicationProductionグループがひも付くApplicationの販売状況です。false
idプロダクトの固有IDです。15
identifierプロダクトのAppStoreで使用するIDです"jp.co.feynman.sampleapp.sampleproduct"
localization各言語ごとに登録した情報(配列)です[{"attachments":[ {"fileId":118,"fileName":"1",
"id":1,"md5":"a0397369e076cecbbc82dee12cab740f", 以下略
modifiedAtプロダクトが更新された日付(ミリ秒)。1297909107000
nameプロダクト名。テストプロダクト

■localization配列内のオブジェクトは以下の通りです
-----------------------------------------------------------------

項目名意味値の例
attachments関連情報添付ファイル(配列)です
■attachments配列内のオブジェクトは以下の通りです
項目名意味値の例
fileIdファイルのファイルIDです1515
fileNameファイルの名前です。FileName001
idプロダクトID45
md5ファイルのハッシュ値ca45cd7a66f789adcf5769809
sizeファイルのサイズ56321
urlファイルのURLhttp://static.dodaii.com/<app token>/<product id>/<file id>
contents課金コンテンツです。
■contents配列内のオブジェクトは以下の通りです
fileIdファイルのファイルIDです1515
fileNameファイルの名前です。FileName001
idプロダクトID45
md5ファイルのハッシュ値ca45cd7a66f789adcf5769809
sizeファイルのサイズ56321
urlファイルのURL不使用            
displayedName言語ごとに管理パネルで登録した表示名ですDISPLAY_NAME(Japanese)
freeColumn1~5汎用的に使用できる情報ですFree Comment
locale該当の省略言語情報ですja

●サンプルレスポンス

[
   {"applicationId":151,
        "applicationProduction":false,
        "attachments":null,
        "freeItemFlag":false,
        "id":595,
        "identifier":"testtsetProduct20101027",
"localization":[
{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"en_AU"},

//( ・ ・ ・  その他情報を登録していない言語情報 略  ・ ・ ・ )

{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"it"},
{"attachments":[
{"fileId":2109,"fileName":"付属情報 1\t","id":1,"md5":"94df93ca93ef0315e36c84ef140d4dc9",
                                "modifiedAt":null,"size":147882,"url":"http://static.dodaii.com/decdc5444c24142895238ec9a0ce3778/595/2109"},
{"fileId":2110,"fileName":"付属情報 2","id":2,"md5":"94df93ca93ef0315e36c84ef140d4dc9",
                                "modifiedAt":null,"size":147882,"url":"http://static.dodaii.com/decdc5444c24142895238ec9a0ce3778/595/2110"}
                    ],
                    "contents":[
{"fileId":2561,"fileName":"contentFile.dat","id":1,"md5":"null\r\n","modifiedAt":null,"size":7556061,"url":""},
{"fileId":2107,"fileName":"test_test.zip","id":2,"md5":"42faa4885f0270f4c34ba007fadc8c9e","modifiedAt":null,"size":2946878,"url":""},
{"fileId":2108,"fileName":"070521spacewarp02.jpg","id":3,"md5":"a02cabe7adbabd6e6524c65241816dc4","modifiedAt":null,"size":166374,"url":""}
                    ],
                    "displayedName":"contentFile.dat",
                    "freeColumn1":"ああああああああ",
                    "freeColumn2":"いいいいいいいいい",
                    "freeColumn3":"うううううう",
                    "freeColumn4":"えええええええええ",
                    "freeColumn5":"おおおおおおおおおおお",
                    "locale":"ja"
                },

//( ・ ・ ・  その他情報を登録していない言語情報 略  ・ ・ ・ )

{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"se"}
],
"modifiedAt":1297909107000,
"name":"テストプロダクト"
}, // プロダクト1件目終わり
    {"applicationId":151,
        "applicationProduction":false,
        "attachments":null,
        "freeItemFlag":true,
        "id":597,
        "identifier":"testtsetProduct20101027_222222222",
"localization":[
{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"en_AU"},
{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"en_CA"},
{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"fr_CA"},
{"attachments":[],"contents":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"nl"},
( ・・・ 以下プロダクトの数だけ繰り返し ・・・)
]


●エラーケース

  • 返却すべきプロダクト数が0件の場合 
  • Tokenに紐づくアプリケーションが存在しないとき
  • その他不正な検索条件が加味されていた場合
  • ご不明な点は「APIドキュメントのプロダクトについて」とsupport[a]dodaii.com までお問い合わせください。

-プロダクト(一件)


プロダクトAPIにProductのIDを指定すると、1件だけ情報を取得することができます。プロダクトグループAPIから詳細画面に遷移する場合は、戻るなどでViewオブジェクトのメモリが解放されて再読込が必要な場合にご利用ください。

●リクエストURL


プロダクト一覧:※下記のパラメータで絞り込みおよびソートが可能です

https://dodaii.com/api/v3/product/<TOKEN>/<GROUP ID>/<PRODUCT ID>

●リクエスト仕様


項目意味必須値の例
TOKENアプリケーションを一意に特定するトークン必須6427d3ccb8f01fafca85c2303c057bbe
GROUP IDグループを一意に特定するID。
省略した場合は、グループを指定せず全てのプロダクト情報を取得する。
0を指定した場合は、グループに属していないプロダクトの情報を取得する。
任意2
PRODUCT IDプロダクトを一意に指定するID任意2

尚、レスポンス仕様は一覧と同じです。

●エラーケース

  • 返却すべきプロダクトが存在しない場合
  • プロダクトとグループの組み合わせが一致しない場合 
  • Tokenに紐づくアプリケーションが存在しないとき
  • その他不正な検索条件が加味されていた場合
  • ご不明な点は「APIドキュメントのプロダクトについて」とsupport[a]dodaii.com までお問い合わせください。

-売上ランキング


販売中のranking_listをアプリケーションごとに取得します。

●リクエストURL

本番用:

https://dodaii.com/api/v3/transaction/rankingList/<TOKEN>

開発用:

https://dodaii.com/api/v3/transaction/rankingList/sandbox/<TOKEN>

無料アイテムDL数:

https://dodaii.com/api/v3/transaction/rankingList/free/<TOKEN>

※無料アイテムに開発中と本番用の区別はありません。

●リクエストパラメータ

項目意味必須値の例
TOKENアプリケーションを一意に特定するトークン必須6427d3ccb8f01fafca85c2603c057bbe
lmt取得できるリミット(デフォルトおよび0指定は50件)任意1
offst取得できるランキングの基準(デフォルトは0)任意10

●レスポンス仕様

項目名意味値の例
applicationIdグループがひも付くApplicationのIDです。dodaiiの内部IDになります。50
createdAtトランザクションが発行された日付(ミリ秒)1285550808000
isSandBox開発中のデータに基づくランキングかどうかfalse
quantity個数1
productIdプロダクトを一意に特定するID99
productNameプロダクトの名前testProduct123
localization各言語ごとに登録した情報(配列)です【省略】 詳しくは、上記プロダクトAPI(一覧)を御覧ください

●サンプルレスポンス

[{"applicationId":0000,
        "attachments":null,
        "createdAt":1285372192000,
        "id":40,
        "identifier":"com.dodaii.sampleapp.sampleitem",
        "isSandBox":false,

        "localization":[
                {"attachments":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"en_AU"},
                // 利用しない言語情報省略
                {"attachments":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"it"},
                {"attachments":[],"displayedName":"TestTest","freeColumn1":"TestTest","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"ja"},
                {"attachments":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"es_MX"},
                // 利用しない言語情報省略
                {"attachments":[],"displayedName":"","freeColumn1":"","freeColumn2":"","freeColumn3":"","freeColumn4":"","freeColumn5":"","locale":"se"}
        ],
        "productId":"99999",
        "productName":"TestTest",
        "quantity":"31"},
   {"applicationId":0000,
    // 以下2件目以降くりかえし
]


●エラーケース

  • 返却すべきランキング数が0件の場合
  • Tokenに紐づくアプリケーションが存在しないとき

Comments