Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

スマレジ API のリクエストを簡単に作成するためのAPIテストエクスプローラーを作った

https://github.com/sugimomoto/SmaregiAPP.APIExplorer.Blazor/raw/master/SmaregiAPP.APIExplorer.Blazor/wwwroot/img/smaregi.gif?raw=true

最近ちまちま個人的に作っていた「スマレジ API のリクエストを簡単に作成するためのAPIテストエクスプローラー」を公開してみました!(APIの基本的な使い方はこちらをどうぞ)

以下のURLで公開していますので、スマレジ APIを試してみたいけど、ちょっと敷居が高そう、、、みたいな人は是非試してみてください。(そしてフィードバックをください!)

smaregiapiexplorer.azurewebsites.net

ちなみに、現在はデータ取得部分のみ対応しています。要望が多ければデータ作成・更新部分も対応しようかなと考えています。

使い方は動画や中身を見ればわかるかなーと思いますが、こちらも参照してみてください。公開したばかりで色々とあると思いますが、何かあればIssueまで。

github.com

そもそも、なんでそんなものを作ったの?

スマレジAPI以下の図で示している通りすごく高機能かつクエリの自由度が高いんです! ほとんどのパブリックなAPIってOrderByができなかったり、フィルターが特定の項目だけだったりするんですが、スマレジではほとんどすべての項目に対して柔軟にクエリを行うことができます。

f:id:sugimomoto:20200217233743p:plain

でも、データ取得のリクエスト方法が結構独特のフォーマットで、できることが多い分、若干ツラミがあります。

f:id:sugimomoto:20200217233846p:plain

そこで、そんなデータ取得のリクエストを簡単に作成できるエクスプローラーがあればいいなー、(ついでに今試しているBlazorで作れたら面白そうだなー)と思い、作ってみました。

リクエストを作成した後は、そのままPostmanやプログラムでのリクエストにも貼り付ければ、そのまま利用できます。

f:id:sugimomoto:20200217234313p:plain

もちろん、エクスプローラー上でそのままテストもできます。

技術スタック的な

ASP.NET Core C# Server side Blazor (.NET Core 3.0)ですべて作成しました。

docs.microsoft.com

ホスティング先は Azure Web Apps です。

クライアントロジックがすべてC#で書けるのはやはりいいですね・・・! まだ、触り始めたばかりですが、すごく可能性を感じます。

開発にあたって @jsakamoto さん、@piyo_esq さんには大変ありがたいアドバイスを頂きました。

qiita.com

途中うまくフォームデータを取得しきれない部分があり、JavaScriptで泣く泣く対処していたんですが、最終的には全部ちゃんとC#側にロジックを寄せることができました。大感謝!

その他宣伝的な

あと、私の会社では以下のようなスマレジを便利に使うためのソフトウェアも提供しています。

この時の開発経験がこのエクスプローラーの開発でもかなり役立っています。結構面白いことができるので、トライアル等を是非試してみてください。

CData Smaregi Driver

cdataexcel

スマレジデータをExcel から操作 Product (製品)マスタを一括編集

Tableau Desktop で スマレジ の売上データを可視化

スマレジの商品データと取引データを BigQuery に日次で連携

ノーコードツールでスマレジの会員データを kintone の顧客リストに連携:CData Smaregi Driver & ArcESB