Yokinsoft.Rakuten.RMS.Api.Python 3.0.0-prerelease

This is a prerelease version of Yokinsoft.Rakuten.RMS.Api.Python.
dotnet add package Yokinsoft.Rakuten.RMS.Api.Python --version 3.0.0-prerelease
                    
NuGet\Install-Package Yokinsoft.Rakuten.RMS.Api.Python -Version 3.0.0-prerelease
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Yokinsoft.Rakuten.RMS.Api.Python" Version="3.0.0-prerelease" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Yokinsoft.Rakuten.RMS.Api.Python" Version="3.0.0-prerelease" />
                    
Directory.Packages.props
<PackageReference Include="Yokinsoft.Rakuten.RMS.Api.Python" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Yokinsoft.Rakuten.RMS.Api.Python --version 3.0.0-prerelease
                    
#r "nuget: Yokinsoft.Rakuten.RMS.Api.Python, 3.0.0-prerelease"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Yokinsoft.Rakuten.RMS.Api.Python@3.0.0-prerelease
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Yokinsoft.Rakuten.RMS.Api.Python&version=3.0.0-prerelease&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Yokinsoft.Rakuten.RMS.Api.Python&version=3.0.0-prerelease&prerelease
                    
Install as a Cake Tool

Rakuten RMS WEB API .NET client library

楽天RMS WEB API へ接続するための .NET クライアントライブラリです。

楽天RMSは楽天出店者が商品や注文の管理を行うウェブプラットフォームです。RMSでは出店者用にWEB APIが公開されており APIを通じて商品、注文、在庫などほとんどの管理を行うことができます。

本ライブラリは、このRMS WEB APIへ接続をサポートする .NET Standard 2.0 クライアントライブラリです。 .NET Framework 4.6.1以降、.NET Core 2.0以降、.NET 5以降で利用可能です。Python.NET を使用すると Python からも API を利用できます。

煩雑な通信部分、メッセージの読み書き部分を内蔵しているため、プログラマーは用途に合ったロジックの構築に集中できます。


本ライブラリは楽天RMS APIへ接続する社内受注管理システムの開発、評価のために作られました。

サーバーサイドAPIと、その仕様、関連するドキュメントは楽天が所有するものであり、それらの詳細については楽天RMS で参照してください。なお楽天RMS APIの利用について、楽天と正式な契約関係のある開発者を支援することを前提としています。

本ライブラリは楽天とは一切関係がありません。動作の安定性、整合性など、楽天の認証や監修を受けたものではありません。このライブラリについて楽天へ問い合わせ等は遠慮ください。

また、RMS APIの仕様、動作などに関する当方へのお問合せもご遠慮ください。

本ライブラリについての議論、未完成部分の実装、バグの報告・修正など、外部からのコミット(pull request等)は常に歓迎します。

履歴

  • 2025-12-29 .NET Standard 2.0 プロジェクトへ変更(SDK形式のcsprojに移行)
  • 2025-06-07 あす楽関連プロパティ削除。ItemAPI20 Item のValidation実装。クラス配置変更。その他の不具合修正。
  • 2024-01-07 システムイベント系DLL分離とバグ修正
  • 2023-11-10 全メソッドの実装
  • 2023-11-01 ドキュメント類追加
  • 2023-09-30 最初のコミット

Copyright (c) 2023-2026 Jake Yoshimura, Yokinsoft. Released under MIT license.

https://opensource.org/license/mit/

動作環境

Rakuten.RMS.Api(メインライブラリ)

  • .NET Standard 2.0
    • .NET Framework 4.6.1 以上
    • .NET Core 2.0 以上
    • .NET 5 以上
    • Mono 5.4 以上
  • Newtonsoft.Json 13.0.4 以上
  • System.ComponentModel.Annotations 5.0.0 以上

Rakuten.RMS.Api.Python(Python連携用)

  • 上記に加えて pythonnet 3.0.5

Rakuten.RMS.Api.SystemEventNotification(ASP.NET用イベントハンドラ)

  • .NET Framework 4.8 専用
  • ASP.NET Web Forms または ASP.NET MVC

インストール

API

ServiceProvider クラスがクライアントの認証情報とカテゴリ別のAPIへアクセスするクラスへのアクセスを提供します。

var provider = new ServiceProvider( serviceSecret, licenseKey );

serviceSecret と licenseKey はRMSのAPI設定から取得できる認証用の文字列です。

各カテゴリ別のAPI群へのアクセスは ServiceProvider のメソッドからオブジェクトを取得します。APIの分類別にアクセスするためのクラスが対応します。

RMS WEB API カテゴリ ServiceProvider メソッド 対応クラス
商品API<br/> 商品API 2.0(ItemAPI 2.0) GetItemAPI20() ItemAPI20.ItemAPI20
カテゴリAPI<br/> カテゴリAPI 2.0(CategoryAPI 2.0) GetCategoryAPI20() CategoryAPI20.CategoryAPI20
在庫API 在庫API 2.1(InventoryAPI 2.1) GetInventoryAPI21() InventoryAPI21.RakutenInventoryServiceV21
在庫API 2.0(InventoryAPI 2.0) GetInventoryAPI20() InventoryAPI20.RakutenInventoryServiceV2
ナビゲーションAPI ジャンル・商品属性情報検索API(NavigationAPI 2.0) GetNavigationAPI20() NavigationAPI20.NavigationAPI20
組み合わせ販売API(ItemBundleAPI) GetItemBundleAPI() ItemBundleAPI.ItemBundleAPI
R-CabinetAPI(CabinetAPI) GetCabinetAPI() CabinetAPI.CabinetAPI
製品API(ProductAPI) GetProductAPI() ProductAPI.ProductAPI
楽天ペイ受注API(RakutenPayOrderAPI) GetRakutenPayOrderAPI() RakutenPayOrderAPI.RakutenPayOrderService
購入商品API(PurchaseItemAPI) GetPurchaseItemAPI() PurchaseItemAPI.PurchaseItemAPI
購入申込API(ReserveAPI) GetReserveAPI() ReserveAPI.ReserveAPI
問い合わせ管理API(InquiryManagementAPI) GetInquiryManagementAPI() InquiryManagementAPI.InquiryManagementAPI
店舗情報API(ShopAPI) GetShopAPI() ShopAPI.ShopAPI
店舗ページAPI(ShopPageAPI) GetShopPageAPI() ShopPageAPI.ShopPageAPI
クーポンAPI(CouponAPI) GetCouponAPI() CouponAPI.CouponAPI
ライセンス管理API(LicenseManagementAPI) GetLicenseManagementAPI() LicenseManagementAPI.LicenseManagementAPI

API呼び出しメソッドは、基本的にサービスのエンドポイントで定義されている名前を尊重し、C# 形式、また [動詞][目的語] (GetItemなど)の順になるように定義しなおしています。

コードサンプル

特定の注文番号を指定して注文データを取得する例

using Rakuten.RMS.Api;

var provider = new ServiceProvider( "SPxxxxxxxxxxxxxxxxx","SLxxxxxxxxxxxxxx" );
var orderApi = provider.GetRakutenPayOrderAPI();
var orderList = orderApi.GetOrder( new [] { "123456-12341234-1234567890" } );

Python から利用する方法

Python.NET を使用して Python からAPIにアクセスることができます。

Python.NET を使用して Python から使用するための環境の構築と使用方法の詳細

Python から使用では、list や パラメータのクラスオブジェクトの指定が簡単になります。

注文データの取得の例

sp = ServiceProvider('SPxxxxxxxxxxxxxxxxx','SLxxxxxxxxxxxxxx')
api = sp.GetRakutenPayOrderAPI()

orders = api.GetOrder( ["123456-12341234-1234567890"])

システム通知イベント

楽天からのシステム通知(注文通知、商品編集完了通知など)を受信するための専用ライブラリは、別パッケージとして提供されています。

パッケージ: Yokinsoft.Rakuten.RMS.Api.SystemEventNotification
要件: .NET Framework 4.8、ASP.NET Web Forms または ASP.NET MVC

⚠️ 注意: このパッケージは ASP.NET Framework 専用です。.NET Core / .NET 5+ では使用できません。

実装状況

現在、すべてのAPIとメソッドが実装されているわけではありません。 当面は最新バージョンのAPIのみの実装を目標とします。 SOAP形式など旧来のAPIや廃止されたAPIの実装は省略します。

商品・画像管理

API メソッド 実装
商品API 商品API 2.0(ItemAPI 2.0) items.get
items.upsert
items.patch
items.delete
items.search
items.inventory-related-settings.get
items.inventory-related-settings.update
カテゴリAPI カテゴリAPI 2.0(CategoryAPI 2.0) category.shop-categories.get
category.shop-categories.insert
category.shop-categories.update
category.item-mappings.get
category.item-mappings.upsert
category.item-mappings.delete
category.category-trees.get
category.category-trees.upsert
category.category-set-lists.get
在庫API 在庫API 2.1(InventoryAPI 2.1) inventories.variants.get
inventories.variants.upsert
inventories.variants.delete
inventories.bulk.get.range
inventories.bulk.get
inventories.bulk.upsert
在庫API 2.0(InventoryAPI 2.0) inventories.variants.get
inventories.variants.upsert
inventories.variants.delete
inventories.bulk.get.range
inventories.bulk.get
inventories.bulk.upsert
ナビゲーションAPI ジャンル・商品属性情報検索API(NavigationAPI 2.0)) version.get
genres.get
genres.attributes.get
genres.attributes.dictionaryValues.get
組み合わせ販売API(ItemBundleAPI)) ItemBundle.create
ItemBundle.delete
ItemBundle.getBundleList
ItemBundle.update
R-CabinetAPI(CabinetAPI) cabinet.usage.get
cabinet.folders.get
cabinet.folder.files.get
cabinet.files.search
cabinet.file.delete
cabinet.trashbox.files.get
cabinet.trashbox.files.revert
cabinet.file.insert
cabinet.file.update
cabinet.folder.insert
製品API(ProductAPI) product.search

受注・問い合わせ管理

API メソッド 実装
楽天ペイ受注API(RakutenPayOrderAPI) searchOrder
getOrder
confirmOrder
updateOrdershipping
updateOrderShippingAsync
getResultUpdateOrderShippingAsync
getSubStatusList
updateOrderSubStatus
updateOrderMemo
updateOrderRemarks
updateOrderSender
updateOrderSenderAfterShipping
cancelOrder
cancelOrderAfterShipping
updateOrderOrderer
updateOrderDelivery
simulateCouponAmount
getPayment
購入商品API(PurchaseItemAPI) searchOrderItem
getOrderItem
購入申込API(ReserveAPI) reserve.infoList.get
reserve.earlyCommit.update
問い合わせ管理API(InquiryManagementAPI) inquirymngapi.counts.get
inquirymngapi.inquiries.get
inquirymngapi.inquiry.get
inquirymngapi.reply.post
inquirymngapi.attachment.post
inquirymngapi.attachment.get
inquirymngapi.inquiries.patch.read
inquirymngapi.inquiries.patch.complete/incomplete

店舗情報

API メソッド 実装
店舗情報API(ShopAPI) shop.topDisplay.get
shop.topDisplay.edit
shop.shopLayoutImage.get
shop.shopLayoutImage.edit
shop.shopLayoutCommon.get
shop.shopLayoutCommon.edit
shop.naviButtonInfo.get
shop.naviButtonInfo.edit
shop.naviButton.get
shop.naviButton.edit
shop.layoutTextSmall.get
shop.layoutLossLeader.get
shop.layoutItemMap.get
shop.layoutCategoryMap.get
shop.shopCalendar.get
shop.delvdateMaster.get
shop.deliverySetInfo.get
shop.soryoKbn.get
shop.shopAreaSoryo.get
shop.shopAreaSoryo.edit
shop.delvAreaMaster.get
shop.layoutTextLarge.get
shop.layoutTextLarge.edit
shop.goldTop.get
shop.goldTop.edit
shop.shopMaster.get
shop.shopCalendarAndDesign.get
shop.shopCalendarAndDesign.edit
shop.shopHoliday.get
shop.shopHoliday.edit
shop.spBigBanner.get
shop.spBigBanner.edit
shop.spCategoryPage.get
shop.spCategoryPage.edit
shop.spItemPage.get
shop.spItemPage.edit
shop.spMedamaCategory.get
shop.spMedamaCategory.edit
shop.spMedamaItem.get
shop.spMedamaItem.edit
shop.spSmallBanner.get
shop.spSmallBanner.edit
shop.spTopPage.get
shop.spTopPage.edit
shop.spTopPageDisplay.get
shop.shopStatus.get
shop.shopStatus.edit
shop.operationLeadTime.get
shop.shipFrom.get
shop.signboard.get
shop.signboard.edit
店舗ページAPI(ShopPageAPI)
ShopPage.navigations.insert
ShopPage.navigations.list
ShopPage.navigations.get
ShopPage.navigations.update
ShopPage.widgets.insert
ShopPage.widgets.list
ShopPage.widgets.get
ShopPage.widgets.update
ShopPage.widgets.delete
ShopPage.layouts.insert
ShopPage.layouts.list
ShopPage.layouts.published.list
ShopPage.layouts.get
ShopPage.layouts.replace
ShopPage.layouts.update
ShopPage.layouts.delete
クーポンAPI(CouponAPI) coupon.issue
coupon.update
coupon.delete
coupon.get
coupon.search
thankscoupon.issue
thankscoupon.update
thankscoupon.stop
thankscoupon.get
thankscoupon.search
ライセンス管理API(LicenseManagementAPI) license.expiryDate.get

その他

API メソッド 実装
システムイベント通知サービス(System Event Notification Service) HandleOrderNoify
HandleSystemInfoNotify

TODO

  • 実装はかなり進みましたが、動作検証がかなり手抜きです。
  • 実装途中のプロジェクトのため、メソッドの引数、戻り値など、破壊的な変更が起こりえます。
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0-prerelease 101 1/15/2026
2.0.2 330 6/9/2025

.NET Standard 2.0 プロジェクト変更