こんにちは。CData Software Japan リードエンジニアの杉本です。
本記事ではスマレジのAPIを使うために必要となる設定とアクセストークンの取得方法について解説します。
スマレジ APIとは?
スマレジ APIは外部のアプリケーションやサービスからスマレジの機能を呼び出したり、スマレジの更新データを外部へ連携する時に使うプログラム用のインターフェースになります。
外部のプログラムからスマレジの機能を呼び出す、データを参照したり、更新したりする場合は「受信API」を利用し
外部のプログラムにデータを渡す・キックする場合(WehHookと呼ばれる仕組み)を利用する場合は「送信API」を利用します。
なお、本記事では「受信API」の部分について解説しています。
受信API を利用するために必要なこと
受信APIを利用するためには「契約ID(ContactId)」と「アクセストークン」の取得と共に
「受信APIの有効化」と「受信APIが利用できる機能の権限設定」を行う必要があります。
API設定画面へ移動
スマレジの管理画面から「設定」→「システム連携」→「スマレジAPI設定」でスマレジのAPI設定の画面に移動できます。
契約IDの確認
契約IDは以下の場所から取得できます。
アクセストークンの発行
アクセストークンは「アクセストークンの発行」ボタンをクリックすることで生成されます。
以下の様な文字列が生成されるので、これを使用してください。
(注意:上記で生成されているキーはすでに削除済みです。各自の環境での取得をお願いします。)
受信APIの有効化と権限設定
取得した契約IDとアクセストークンだけでは、まだAPIを利用することはできません。
以下の「受信機能を利用する」のボタンを「利用する」に変更し
使用したいAPIの機能の権限をそれぞれ付与します。必要な権限についてはAPI機能設定画面からダウンロード可能なPDFを参照してみてください。
最後に「更新」ボタンをクリックすることで、設定が反映され、APIが利用できるようになります。
スマレジ APIの使い方
それでは実際にAPIを使ってみましょう。
受信APIに Postman からアクセスする
取得した契約IDとアクセストークンを利用して、商品データを取得してみましょう。以下のようなHTTPリクエストをPostmanで設定することでアクセスできます。
POST /access/ HTTP/1.1 Host: webapi.smaregi.jp Content-Type: application/x-www-form-urlencoded Accept: application/json X-contract-id: XXXXX X-access-token: XXXXXX proc_name=product_ref¶ms={"limit":100,"page":1,"table_name":"Product"}
ヘッダーの「X-contract-id」と「X-access-token」にそれぞれ取得した契約IDとアクセストークンを指定すればOKです。
リクエストボディは以下のように「application/x-www-form-urlencoded」とJSONを組み合わせたものをリクエストします。
あとは「Send」をクリックすれば、商品データを取得できます。
CData Driver での設定方法(ODBCやExcel Addinの場合)
http://www.cdata.com/jp/drivers/smaregi/odbc/
CData Driver(ODBCやExcel Addin)の場合は、以下のようにContactIdとAccessTokenの項目に必要な情報を入力します。
CData Driver での設定方法(接続文字列の場合)
http://www.cdata.com/jp/drivers/smaregi/jdbc/
JDBCなどの場合は、以下のような接続文字列を作成し、指定します。
- ContractId=XXXXX;AccessToken=XXXXXX;