Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pepabo/colormeshop-ruby
カラーミーショップAPI Rubyクライアント
https://github.com/pepabo/colormeshop-ruby
Last synced: about 1 month ago
JSON representation
カラーミーショップAPI Rubyクライアント
- Host: GitHub
- URL: https://github.com/pepabo/colormeshop-ruby
- Owner: pepabo
- Created: 2018-05-22T06:49:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-01T10:16:47.000Z (about 1 year ago)
- Last Synced: 2024-11-16T09:19:45.880Z (about 2 months ago)
- Language: Ruby
- Homepage:
- Size: 343 KB
- Stars: 6
- Watchers: 89
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# color_me_shop
ColorMeShop - the Ruby gem for the カラーミーショップ API
# カラーミーショップ API
[カラーミーショップ](https://shop-pro.jp) APIでは、受注の検索や商品情報の更新を行うことができます。
## 利用手順
はじめに、カラーミーデベロッパーアカウントを用意します。[デベロッパー登録ページ](https://api.shop-pro.jp/developers/sign_up)から登録してください。
次に、[登録ページ](https://api.shop-pro.jp/oauth/applications/new)からアプリケーション登録を行ってください。
スマートフォンの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|```console
# 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が返ってきます。
```json
{
\"access_token\": \"d461ab8XXXXXXXXXXXXXXXXXXXXXXXXX\",
\"token_type\": \"bearer\",
\"scope\": \"read_products write_products\"
}
```アクセストークンに有効期限はありませんが、許可済みアプリケーション一覧画面から失効させることができます。なお、同じ認可コードをアクセストークンに交換できるのは1度だけです。
取得したアクセストークンは、Authorizationヘッダに入れて使用します。以下にショップ情報を取得する際の例を示します。
```console
# curlの例$ curl -H 'Authorization: Bearer d461ab8XXXXXXXXXXXXXXXXXXXXXXXXX' https://api.shop-pro.jp/v1/shop.json
```## エラー
カラーミーショップAPI v1では
- エラーコード
- エラーメッセージ
- ステータスコードの配列でエラーを表現します。以下に例を示します。
```json
{
\"errors\": [
{
\"code\": 404100,
\"message\": \"レコードが見つかりませんでした。\",
\"status\": 404
}
]
}
```This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) 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](https://shop-pro.jp/?mode=inq)## Installation
### Build a gem
To build the Ruby code into a gem:
```shell
gem build color_me_shop.gemspec
```Then either install the gem locally:
```shell
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](https://rubygems.org/).
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:
```shell
ruby -Ilib script.rb
```## Getting Started
Please follow the [installation](#installation) procedure and then run the following code:
```ruby
# 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'
endapi_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**](docs/CategoryApi.md#get_product_categories) | **GET** /v1/categories.json | 商品カテゴリー一覧を取得
*ColorMeShop::ChargeApi* | [**activate_application_charge**](docs/ChargeApi.md#activate_application_charge) | **POST** /v1/application_charges/{applicationChargeId}/activate.json | スポット課金データをアクティベートする
*ColorMeShop::ChargeApi* | [**activate_recurring_application_charge**](docs/ChargeApi.md#activate_recurring_application_charge) | **POST** /v1/recurring_application_charges/{recurringApplicationChargeId}/activate.json | 月額課金データをアクティベートする
*ColorMeShop::ChargeApi* | [**cancel_recurring_application_charge**](docs/ChargeApi.md#cancel_recurring_application_charge) | **POST** /v1/recurring_application_charges/{recurringApplicationChargeId}/cancel.json | 月額課金データをキャンセルする
*ColorMeShop::ChargeApi* | [**get_application_charge**](docs/ChargeApi.md#get_application_charge) | **GET** /v1/application_charges/{applicationChargeId}.json | スポット課金データの取得
*ColorMeShop::ChargeApi* | [**get_application_charges**](docs/ChargeApi.md#get_application_charges) | **GET** /v1/application_charges.json | スポット課金一覧の取得
*ColorMeShop::ChargeApi* | [**get_recurring_application_charge**](docs/ChargeApi.md#get_recurring_application_charge) | **GET** /v1/recurring_application_charges/{recurringApplicationChargeId}.json | 月額課金データの取得
*ColorMeShop::ChargeApi* | [**get_recurring_application_charges**](docs/ChargeApi.md#get_recurring_application_charges) | **GET** /v1/recurring_application_charges.json | 月額課金一覧の取得
*ColorMeShop::ChargeApi* | [**post_application_charge**](docs/ChargeApi.md#post_application_charge) | **POST** /v1/application_charges.json | スポット課金データの作成
*ColorMeShop::ChargeApi* | [**post_recurring_application_charge**](docs/ChargeApi.md#post_recurring_application_charge) | **POST** /v1/recurring_application_charges.json | 月額課金データの作成
*ColorMeShop::CustomerApi* | [**get_customer**](docs/CustomerApi.md#get_customer) | **GET** /v1/customers/{customerId}.json | 顧客データの取得
*ColorMeShop::CustomerApi* | [**get_customers**](docs/CustomerApi.md#get_customers) | **GET** /v1/customers.json | 顧客データのリストを取得
*ColorMeShop::CustomerApi* | [**post_customers**](docs/CustomerApi.md#post_customers) | **POST** /v1/customers.json | 顧客データを追加
*ColorMeShop::DeliveryApi* | [**get_deliveries**](docs/DeliveryApi.md#get_deliveries) | **GET** /v1/deliveries.json | 配送方法一覧を取得
*ColorMeShop::DeliveryApi* | [**get_delivery_date_setting**](docs/DeliveryApi.md#get_delivery_date_setting) | **GET** /v1/deliveries/date.json | 配送日時設定を取得
*ColorMeShop::EtcApi* | [**delete_device_token**](docs/EtcApi.md#delete_device_token) | **DELETE** /v1/device_tokens/{token}.json | デバイストークンの削除
*ColorMeShop::GiftApi* | [**get_gift**](docs/GiftApi.md#get_gift) | **GET** /v1/gift.json | ギフト設定を取得
*ColorMeShop::GroupApi* | [**get_product_groups**](docs/GroupApi.md#get_product_groups) | **GET** /v1/groups.json | 商品グループ一覧を取得
*ColorMeShop::PaymentApi* | [**get_payments**](docs/PaymentApi.md#get_payments) | **GET** /v1/payments.json | 決済設定の一覧を取得
*ColorMeShop::ProductApi* | [**delete_product_pickup**](docs/ProductApi.md#delete_product_pickup) | **DELETE** /v1/products/{productId}/pickups/{pickupType}.json | おすすめ商品情報の削除
*ColorMeShop::ProductApi* | [**get_product**](docs/ProductApi.md#get_product) | **GET** /v1/products/{productId}.json | 商品データの取得
*ColorMeShop::ProductApi* | [**get_products**](docs/ProductApi.md#get_products) | **GET** /v1/products.json | 商品一覧の取得
*ColorMeShop::ProductApi* | [**post_product_pickup**](docs/ProductApi.md#post_product_pickup) | **POST** /v1/products/{productId}/pickups.json | おすすめ商品情報の追加
*ColorMeShop::ProductApi* | [**update_product**](docs/ProductApi.md#update_product) | **PUT** /v1/products/{productId}.json | 商品データの更新
*ColorMeShop::SaleApi* | [**cancel_sale**](docs/SaleApi.md#cancel_sale) | **PUT** /v1/sales/{saleId}/cancel.json | 受注のキャンセル
*ColorMeShop::SaleApi* | [**get_sale**](docs/SaleApi.md#get_sale) | **GET** /v1/sales/{saleId}.json | 受注データの取得
*ColorMeShop::SaleApi* | [**get_sales**](docs/SaleApi.md#get_sales) | **GET** /v1/sales.json | 受注データのリストを取得
*ColorMeShop::SaleApi* | [**send_sales_mail**](docs/SaleApi.md#send_sales_mail) | **POST** /v1/sales/{saleId}/mails.json | メールの送信
*ColorMeShop::SaleApi* | [**stat_sale**](docs/SaleApi.md#stat_sale) | **GET** /v1/sales/stat.json | 売上集計の取得
*ColorMeShop::SaleApi* | [**update_sale**](docs/SaleApi.md#update_sale) | **PUT** /v1/sales/{saleId}.json | 受注データの更新
*ColorMeShop::ScriptApi* | [**create_script_tag**](docs/ScriptApi.md#create_script_tag) | **POST** /v1/script_tags.json | スクリプトタグの作成
*ColorMeShop::ScriptApi* | [**delete_script_tag**](docs/ScriptApi.md#delete_script_tag) | **DELETE** /v1/script_tags/{scriptTagId}.json | スクリプトタグの削除
*ColorMeShop::ScriptApi* | [**get_script_tag**](docs/ScriptApi.md#get_script_tag) | **GET** /v1/script_tags/{scriptTagId}.json | スクリプトタグの取得
*ColorMeShop::ScriptApi* | [**get_script_tags**](docs/ScriptApi.md#get_script_tags) | **GET** /v1/script_tags.json | スクリプトタグの取得
*ColorMeShop::ScriptApi* | [**update_script_tag**](docs/ScriptApi.md#update_script_tag) | **PUT** /v1/script_tags/{scriptTagId}.json | スクリプトタグの更新
*ColorMeShop::ShopApi* | [**get_shop**](docs/ShopApi.md#get_shop) | **GET** /v1/shop.json | ショップ情報の取得
*ColorMeShop::StockApi* | [**get_stocks**](docs/StockApi.md#get_stocks) | **GET** /v1/stocks.json | 在庫情報の取得## Documentation for Models
- [ColorMeShop::ApplicationCharge](docs/ApplicationCharge.md)
- [ColorMeShop::ApplicationChargeCreateResponse](docs/ApplicationChargeCreateResponse.md)
- [ColorMeShop::Customer](docs/Customer.md)
- [ColorMeShop::Delivery](docs/Delivery.md)
- [ColorMeShop::DeliveryChargeByPrefecture](docs/DeliveryChargeByPrefecture.md)
- [ColorMeShop::DeliveryDateSetting](docs/DeliveryDateSetting.md)
- [ColorMeShop::Meta](docs/Meta.md)
- [ColorMeShop::Payment](docs/Payment.md)
- [ColorMeShop::Product](docs/Product.md)
- [ColorMeShop::ProductCategory](docs/ProductCategory.md)
- [ColorMeShop::ProductGroup](docs/ProductGroup.md)
- [ColorMeShop::ProductOption](docs/ProductOption.md)
- [ColorMeShop::ProductPickup](docs/ProductPickup.md)
- [ColorMeShop::ProductUpdateRequest](docs/ProductUpdateRequest.md)
- [ColorMeShop::ProductVariant](docs/ProductVariant.md)
- [ColorMeShop::RecurringApplicationCharge](docs/RecurringApplicationCharge.md)
- [ColorMeShop::RecurringApplicationChargeCreateResponse](docs/RecurringApplicationChargeCreateResponse.md)
- [ColorMeShop::Sale](docs/Sale.md)
- [ColorMeShop::SaleDelivery](docs/SaleDelivery.md)
- [ColorMeShop::SaleDetail](docs/SaleDetail.md)
- [ColorMeShop::ScriptTag](docs/ScriptTag.md)
- [ColorMeShop::Shop](docs/Shop.md)
- [ColorMeShop::Stock](docs/Stock.md)## 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: 受注データを更新