SOLD OUT 2 API

本文書は SOLD OUT 2 にて提供している API について記述したものです。

API 利用条件

例外条件

注意事項

改定履歴

API 仕様

全 API 共通

商品定義

{
  商品ID(string): {
    "category": カテゴリー名(string),
    "item_id": 商品ID(number),
    "name": 商品名(string),
    "scale": 数量単位(string),
    "sort": 並び順(number),
    "limit": セット上限数(number)
  },
  ...
}

レシピ商品定義

レシピ商品はレポート・販売品・注文品 API において通常の商品と同等に扱われます。レシピ商品定義の商品 ID と商品定義のそれは重複しません。

{
  商品ID(string): {
    "category": カテゴリー名(string),
    "item_id": 商品ID(number),
    "name": 商品名(string),
    "scale": 数量単位(string),
    "sort": 並び順(number),
    "limit": セット上限数(number)
  },
  ...
}

街定義

{
  街ID(string): {
    "area_id": 街ID(number),
    "desc": [
      街アピールコメント(string),
      ...
    ],
    "height": マップ縦マス数(number),
    "name": 街名(string),
    "pos_x": マップX位置(number),
    "pos_y": マップY位置(number),
    "width": マップ横マス数(number)
  },
  ...
}

レポート

{
  "system": { // 全街住民の購入レポート
    "item": {
      商品ID(string): {
        "count": 総取引件数(number),
        "unit": 総取引数量(number),
        "money": 総取引額(number),
        "price": 取引単価(number)
      },
      ...
    }
  },
  "user": { // 全街業者(店頭)の購入レポート
    "item": {
      商品ID(string): {
        "count": 総取引件数(number),
        "unit": 総取引数量(number),
        "money": 総取引額(number),
        "price": 取引単価(number)
      },
      ...
    }
  },
  "request": { // 全街業者(注文)の購入レポート
    "item": {
      商品ID(string): {
        "count": 総取引件数(number),
        "unit": 総取引数量(number),
        "money": 総取引額(number),
        "price": 取引単価(number)
      },
      ...
    }
  },
  "area": {
    街ID(string): { // 街別レポート
      "system": { // 街別住民の購入レポート
        "item": {
          商品ID(string): {
            "count": 総取引件数(number),
            "unit": 総取引数量(number),
            "money": 総取引額(number),
            "price": 取引単価(number)
          },
          ...
        }
      },
      "user": { // 街別業者(店頭)の購入レポート
        "item": {
          商品ID(string): {
            "count": 総取引件数(number),
            "unit": 総取引数量(number),
            "money": 総取引額(number),
            "price": 取引単価(number)
          },
          ...
        }
      },
      "request": { // 街別業者(注文)の購入レポート
        "item": {
          商品ID(string): {
            "count": 総取引件数(number),
            "unit": 総取引数量(number),
            "money": 総取引額(number),
            "price": 取引単価(number)
          },
          ...
        }
      },
    },
    ...
  }
}

ランキング

ランキング共通部門名リスト

月間全部門トップ 3
{
  部門名(string): [ // 1~3位
    {
      "top_10": デイリーランキングトップ10入賞回数(array), // デイリー1~10位獲得回数(number)
      "top1_total": トップ1獲得回数(number),
      "sort": メダル数(number),
      "user_id": オーナー番号(number),
      "shop_id": ショップ番号(number),
      "shop_name": ショップ名(string),
      "area_id": 街ID(number),
      "comment": キャッチコピー(string)
    },
    ...
  ],
  ...
}
月間部門別トップ 1000
[ // 1~1000位
  {
    "top_10": デイリーランキングトップ10入賞回数(array), // デイリー1~10位獲得回数(number)
    "top1_total": トップ1獲得回数(number),
    "sort": メダル数(number),
    "user_id": オーナー番号(number),
    "shop_id": ショップ番号(number),
    "shop_name": ショップ名(string),
    "area_id": 街ID(number),
    "comment": キャッチコピー(string)
  },
  ...
]
デイリートップ 1000
[ // 1~1000位
  {
    "user_id": オーナー番号(number),
    "shop_name": ショップ名(string),
    "comment": キャッチコピー(string),
    "shop_id": ショップ番号(number),
    "area_id": 街ID(number),
    "pos_x": X座標(number),
    "pos_y": Y座標(number),
    "point": ポイントもしくは売上高メダル数(number)
  },
  ...
]

販売品

[
  {
    "sale_serial": 販売通し番号(number),
    "area_id": 街ID(number),
    "pos_x": X座標(number),
    "pos_y": Y座標(number),
    "user_id": オーナー番号(number),
    "shop_id": ショップ番号(number),
    "shop_name": ショップ名(string),
    "item_id": 商品ID(number),
    "price": 販売単価(number),
    "unit": 販売在庫数(number),
    "bundle_sale": まとめ売り(number) // 0:ばら売り 1:まとめ売り
  },
  ...
]

注文品

[
  {
    "trans_serial": 注文通し番号(number),
    "area_id": 街ID(number), //注文者の街
    "user_id": オーナー番号(number),
    "shop_id": ショップ番号(number),
    "shop_name": ショップ名(string),
    "item_id": 商品ID(number),
    "unit": 買い取り済み数量(number),
    "buy_unit": 買い付け希望数(number),
    "price": 注文単価(number),
    "request_area_id": 街ID(number) // 0:全域対象注文 1~:範囲対象街のID
  },
  ...
]

お店

お店件数

[
  "total": 全店舗数(number),
  "areas": [ // 街別店舗数
    {
      "area_id": 街ID(string),
      "name": 街名(string),
      "count": 店舗数(number)
    },
    ...
  ]
]

全お店リスト

[
  {
    "user_id": オーナー番号(number),
    "shop_id": ショップ番号(number),
    "shop_name": ショップ名(string),
    "comment": キャッチコピー(string),
    "area_id": 街ID(number),
    "pos_x": X座標(number),
    "pos_y": Y座標(number),
    "shop_type": お店種類(string),
    "money": 資金(number),
    "title": 称号(string),
    "point": ポイント(number),
    "foundation_days": 創業日数(number),
    "so1_foundation_days": 元祖創業日数(number) //SO1データ引き継ぎをしていない場合は値自体が存在しません
  },
  ...
]

住民

[ // 全街人口リスト
  {
    "area_id": 街ID(number),
    "unit": 街人口(number),
    "persons": { // 住民別人口
      住民ID(string): {
        "unit": 人口,
        "name": 住民名(string)
      },
      ...
    }
  },
  ...
]

注文レポート

全注文

[
  売却側ショップ番号(number),
  売却側ショップ名(string),
  注文側ショップ番号(number),
  注文側ショップ名(string),
  商品ID(number),
  商品数量(number),
  注文単価(number),
  取引時刻(UNIX時間),
],
...

ショップ別注文

[
  売却側ショップ番号(number),
  売却側ショップ名(string),
  注文側ショップ番号(number),
  注文側ショップ名(string),
  商品ID(number),
  商品数量(number),
  注文単価(number),
  取引時刻(UNIX時間),
],
...

街情報

[
  {
    "area_id": 街ID(number),
    "point": 活気ポイント(number)
  },
  ...
]

特殊フォーマット parse 例

function get_parsed_json(api_response_text) {
  if (api_response_text == "" || api_response_text == null) {
    api_response_text = null;
  } else if (api_response_text.substr(-1, 1) == ",") {
    api_response_text =
      "[" + api_response_text.substr(0, api_response_text.length - 1) + "]";
  }
  return JSON.parse(api_response_text);
}