ColorMeShop - the Ruby gem for the カラーミーショップ API
カラーミーショップ APIでは、受注の検索や商品情報の更新を行うことができます。
はじめに、カラーミーデベロッパーアカウントを用意します。デベロッパー登録ページから登録してください。
次に、登録ページからアプリケーション登録を行ってください。
スマートフォンのWebViewを利用する場合は、リダイレクトURLにurn:ietf:wg:oauth:2.0:oob
を入力してください。
その後、カラーミーショップアカウントの認証ページを開きます。認証ページのURLは、https://api.shop-pro.jp/oauth/authorize
に必要なパラメータをつけたものです。
パラメータ名 | 値 |
---|---|
client_id |
アプリケーション詳細画面で確認できるクライアントID |
response_type |
"code"という文字列 |
scope |
別表参照 |
redirect_url |
アプリケーション登録時に入力したリダイレクトURL |
scope
は、以下のうち、アプリケーションが利用したい機能をスペース区切りで指定してください。
スコープ | 機能 |
---|---|
read_products |
商品データの参照 |
write_products |
在庫データの更新 |
read_sales |
受注・顧客データの参照 |
write_sales |
受注データの更新 |
以下のようなURLとなります。
https://api.shop-pro.jp/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&response_type=code&scope=read_products%20write_products
初めてこのページを訪れる場合は、カラーミーショップアカウントのIDとパスワードの入力を求められます。 承認ボタンを押すと、このアプリケーションがショップのデータにアクセスすることが許可され、リダイレクトURLへリダイレクトされます。
承認された場合は、code
というクエリパラメータに認可コードが付与されます。承認がキャンセルされた、またはエラーが起きた場合は、
error
パラメータにエラーの内容を表す文字列が与えられます。
アプリケーション登録時のリダイレクトURLにurn:ietf:wg:oauth:2.0:oob
を指定した場合は、以下のようなURLにリダイレクトされます。
末尾のパスが認可コードになっています。
https://api.shop-pro.jp/oauth/authorize/AUTH_CODE
認可コードの有効期限は発行から10分間です。
最後に、認可コードとアクセストークンを交換します。以下のパラメータを付けて、https://api.shop-pro.jp/oauth/token
へリクエストを送ります。
パラメータ名 | 値 |
---|---|
client_id |
アプリケーション詳細画面に表示されているクライアントID |
client_secret |
アプリケーション詳細画面に表示されているクライアントシークレット |
code |
取得した認可コード |
grant_type |
"authorization_code"という文字列 |
redirect_uri |
アプリケーション登録時に入力したリダイレクトURL |
# curl での例
$ curl -X POST \\
-d'client_id=CLIENT_ID' \\
-d'client_secret=CLIENT_SECRET' \\
-d'code=CODE' \\
-d'grant_type=authorization_code' \\
-d'redirect_uri=REDIRECT_URI' \\
'https://api.shop-pro.jp/oauth/token'
リクエストが成功すると、以下のようなJSONが返ってきます。
{
\"access_token\": \"d461ab8XXXXXXXXXXXXXXXXXXXXXXXXX\",
\"token_type\": \"bearer\",
\"scope\": \"read_products write_products\"
}
アクセストークンに有効期限はありませんが、許可済みアプリケーション一覧画面から失効させることができます。なお、同じ認可コードをアクセストークンに交換できるのは1度だけです。
取得したアクセストークンは、Authorizationヘッダに入れて使用します。以下にショップ情報を取得する際の例を示します。
# curlの例
$ curl -H 'Authorization: Bearer d461ab8XXXXXXXXXXXXXXXXXXXXXXXXX' https://api.shop-pro.jp/v1/shop.json
カラーミーショップAPI v1では
- エラーコード
- エラーメッセージ
- ステータスコード
の配列でエラーを表現します。以下に例を示します。
{
\"errors\": [
{
\"code\": 404100,
\"message\": \"レコードが見つかりませんでした。\",
\"status\": 404
}
]
}
This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 1.1.0
- Build package: org.openapitools.codegen.languages.RubyClientCodegen For more information, please visit https://shop-pro.jp/?mode=inq
To build the Ruby code into a gem:
gem build color_me_shop.gemspec
Then either install the gem locally:
gem install ./color_me_shop-1.1.0.gem
(for development, run gem install --dev ./color_me_shop-1.1.0.gem
to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'color_me_shop', '~> 1.1.0'
If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
gem 'color_me_shop', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
Include the Ruby code directly using -I
as follows:
ruby -Ilib script.rb
Please follow the installation procedure and then run the following code:
# Load the gem
require 'color_me_shop'
# Setup authorization
ColorMeShop.configure do |config|
# Configure OAuth2 access token for authorization: OAuth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = ColorMeShop::CategoryApi.new
begin
#商品カテゴリー一覧を取得
result = api_instance.get_product_categories
p result
rescue ColorMeShop::ApiError => e
puts "Exception when calling CategoryApi->get_product_categories: #{e}"
end
All URIs are relative to https://api.shop-pro.jp
Class | Method | HTTP request | Description |
---|---|---|---|
ColorMeShop::CategoryApi | get_product_categories | GET /v1/categories.json | 商品カテゴリー一覧を取得 |
ColorMeShop::ChargeApi | activate_application_charge | POST /v1/application_charges/{applicationChargeId}/activate.json | スポット課金データをアクティベートする |
ColorMeShop::ChargeApi | activate_recurring_application_charge | POST /v1/recurring_application_charges/{recurringApplicationChargeId}/activate.json | 月額課金データをアクティベートする |
ColorMeShop::ChargeApi | cancel_recurring_application_charge | POST /v1/recurring_application_charges/{recurringApplicationChargeId}/cancel.json | 月額課金データをキャンセルする |
ColorMeShop::ChargeApi | get_application_charge | GET /v1/application_charges/{applicationChargeId}.json | スポット課金データの取得 |
ColorMeShop::ChargeApi | get_application_charges | GET /v1/application_charges.json | スポット課金一覧の取得 |
ColorMeShop::ChargeApi | get_recurring_application_charge | GET /v1/recurring_application_charges/{recurringApplicationChargeId}.json | 月額課金データの取得 |
ColorMeShop::ChargeApi | get_recurring_application_charges | GET /v1/recurring_application_charges.json | 月額課金一覧の取得 |
ColorMeShop::ChargeApi | post_application_charge | POST /v1/application_charges.json | スポット課金データの作成 |
ColorMeShop::ChargeApi | post_recurring_application_charge | POST /v1/recurring_application_charges.json | 月額課金データの作成 |
ColorMeShop::CustomerApi | get_customer | GET /v1/customers/{customerId}.json | 顧客データの取得 |
ColorMeShop::CustomerApi | get_customers | GET /v1/customers.json | 顧客データのリストを取得 |
ColorMeShop::CustomerApi | post_customers | POST /v1/customers.json | 顧客データを追加 |
ColorMeShop::DeliveryApi | get_deliveries | GET /v1/deliveries.json | 配送方法一覧を取得 |
ColorMeShop::DeliveryApi | get_delivery_date_setting | GET /v1/deliveries/date.json | 配送日時設定を取得 |
ColorMeShop::EtcApi | delete_device_token | DELETE /v1/device_tokens/{token}.json | デバイストークンの削除 |
ColorMeShop::GiftApi | get_gift | GET /v1/gift.json | ギフト設定を取得 |
ColorMeShop::GroupApi | get_product_groups | GET /v1/groups.json | 商品グループ一覧を取得 |
ColorMeShop::PaymentApi | get_payments | GET /v1/payments.json | 決済設定の一覧を取得 |
ColorMeShop::ProductApi | delete_product_pickup | DELETE /v1/products/{productId}/pickups/{pickupType}.json | おすすめ商品情報の削除 |
ColorMeShop::ProductApi | get_product | GET /v1/products/{productId}.json | 商品データの取得 |
ColorMeShop::ProductApi | get_products | GET /v1/products.json | 商品一覧の取得 |
ColorMeShop::ProductApi | post_product_pickup | POST /v1/products/{productId}/pickups.json | おすすめ商品情報の追加 |
ColorMeShop::ProductApi | update_product | PUT /v1/products/{productId}.json | 商品データの更新 |
ColorMeShop::SaleApi | cancel_sale | PUT /v1/sales/{saleId}/cancel.json | 受注のキャンセル |
ColorMeShop::SaleApi | get_sale | GET /v1/sales/{saleId}.json | 受注データの取得 |
ColorMeShop::SaleApi | get_sales | GET /v1/sales.json | 受注データのリストを取得 |
ColorMeShop::SaleApi | send_sales_mail | POST /v1/sales/{saleId}/mails.json | メールの送信 |
ColorMeShop::SaleApi | stat_sale | GET /v1/sales/stat.json | 売上集計の取得 |
ColorMeShop::SaleApi | update_sale | PUT /v1/sales/{saleId}.json | 受注データの更新 |
ColorMeShop::ScriptApi | create_script_tag | POST /v1/script_tags.json | スクリプトタグの作成 |
ColorMeShop::ScriptApi | delete_script_tag | DELETE /v1/script_tags/{scriptTagId}.json | スクリプトタグの削除 |
ColorMeShop::ScriptApi | get_script_tag | GET /v1/script_tags/{scriptTagId}.json | スクリプトタグの取得 |
ColorMeShop::ScriptApi | get_script_tags | GET /v1/script_tags.json | スクリプトタグの取得 |
ColorMeShop::ScriptApi | update_script_tag | PUT /v1/script_tags/{scriptTagId}.json | スクリプトタグの更新 |
ColorMeShop::ShopApi | get_shop | GET /v1/shop.json | ショップ情報の取得 |
ColorMeShop::StockApi | get_stocks | GET /v1/stocks.json | 在庫情報の取得 |
- ColorMeShop::ApplicationCharge
- ColorMeShop::ApplicationChargeCreateResponse
- ColorMeShop::Customer
- ColorMeShop::Delivery
- ColorMeShop::DeliveryChargeByPrefecture
- ColorMeShop::DeliveryDateSetting
- ColorMeShop::Meta
- ColorMeShop::Payment
- ColorMeShop::Product
- ColorMeShop::ProductCategory
- ColorMeShop::ProductGroup
- ColorMeShop::ProductOption
- ColorMeShop::ProductPickup
- ColorMeShop::ProductUpdateRequest
- ColorMeShop::ProductVariant
- ColorMeShop::RecurringApplicationCharge
- ColorMeShop::RecurringApplicationChargeCreateResponse
- ColorMeShop::Sale
- ColorMeShop::SaleDelivery
- ColorMeShop::SaleDetail
- ColorMeShop::ScriptTag
- ColorMeShop::Shop
- ColorMeShop::Stock
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://api.shop-pro.jp/oauth/authorize
- Scopes:
- read_products: 商品データを参照
- write_products: 在庫データを更新
- read_sales: 受注・顧客データを参照
- write_sales: 受注データを更新