PrincipleworksJavaScriptがお使いのブラウザで無効になっているようです。このサイトをご覧いただくにはJavaScriptを有効にしていただく必要があります。×カートの中には何もありません。2019の4日目です。APIを使うための準備編ということで、権限や認証情報の設定方法を紹介しました。今回は認証方法別の利用方法について紹介したいと思います。前回のおさらい〜利用できる認証方法〜前回はMagentoのAPIでトークン認証OAuth認証セッション認証の3種類の認証方法が利用できると説明しました。(わからない方は前回の記事に戻って読んでください)認証方法別の利用方法では、認証方法別に解説していきましょう。トークン認証まず最初はトークン認証です。この方式では、予め作成しておいたトークンを用いて認証を行います。トークンの値は、Magentoの管理画面で作成したインテグレーション設定で表示されるキーの上から3番めのものを使用します。簡単にトークン認証を試すには、curlが使える環境の場合であれば、以下のようにします。http://サーバーのIP/rest/V1/orders/注文のIDトークンとサーバーのアドレスが正しければ、Unix環境の場合であれば画面上にJSONデータが表示されます。トークン認証で重要なのは、HTTPヘッダにAuthorizationヘッダを追加するという点です。これを忘れると認証ができません。昨今のプログラム言語であれば、大抵HTTPクライアントライブラリが存在しているので、それらを使うと簡単だと思います。OAuth認証OAuth認証の場合、手順が少し面倒になります。いうのも、OAuth認証の場合は、リクエストトークンの取得アクセストークンの取得の2ステップが利用開始前に必要になるからで、トークン認証よりもHTTPリクエスト数が増えるぶん、処理が煩雑になります。(もちろんこの流れはOAuthの一般的なものなので、Magentoの実装が特別なわけではありません)OAuthによる連携の実装サンプルはDevdocsにPHPでの実装例が掲載されているので、そちらを見ていただくのが良いでしょう。OAuth認証はシステム間連携というより、GUIを持つアプリケーション連携で使用することを目的としていると思ってください。最後はセッション認証です。実はこの方式の場合はAPI呼び出しに関して明確な認証ステップはありません。いうのもセッション認証の場合はMagentoの管理画面あるいはフロントエンドでのログイン状態を利用するからです。要はセッション認証を使うAPIというのは、今ログインしているユーザー(あるいはゲスト)自身に基づくデータを使用することを前提にしたものばかりであるということです。フロントエンドの購入画面では、配送方法の選択や支払い方法の選択、あるいはクーポンやポイントの利用によって合計金額の変動が起きます。Magentoはこれらの操作に連動する合計金額の再計算処理をセッション認証APIで行っています。システム間連携ではどの認証方式を使うべきか結論から言うと、トークン認証です。GUIベースで連携させたいのであれば、OAuth認証を使っても良いと思います。APIを使いたい多くのケースでは、Magento上のデータを他のシステムから取得したいMagento上のデータを他のシステムから更新したいという要望に基づくことが多いと思います。アクセス元や経路が特定できているシステム同士の連携であれば、トークン認証がシンプルかつ簡潔な認証方式でしょう。次回はトークン認証を使いながら、いくつかのAPIの使い方を解説していきたいと思います。