Skip to content

カラーミーショップAPI Rubyクライアント

Notifications You must be signed in to change notification settings

pepabo/colormeshop-ruby

Repository files navigation

color_me_shop

ColorMeShop - the Ruby gem for the カラーミーショップ API

カラーミーショップ 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

Installation

Build a gem

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'

Install from Git

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

Include the Ruby code directly using -I as follows:

ruby -Ilib script.rb

Getting Started

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

Documentation for API Endpoints

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 在庫情報の取得

Documentation for Models

Documentation for Authorization

OAuth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://api.shop-pro.jp/oauth/authorize
  • Scopes:
    • read_products: 商品データを参照
    • write_products: 在庫データを更新
    • read_sales: 受注・顧客データを参照
    • write_sales: 受注データを更新