Shopify のデータで Updategram を使用する
この記事では、CData BizTalk Adapter for Shopify で実行できる Updategram を作成します。スキーマを設計し、それをテンプレートとして挿入、更新、削除の Updategram を生成します。
Shopify 用アダプターをプロジェクトに追加する
Add Adapter ウィザードを使用して、Visual Studio の BizTalk Server プロジェクトにアダプターを追加します。アダプターを使用して、変更したいテーブルに関するメタデータを Shopify に問い合わせます。
- Solution Explorer でプロジェクトを右クリックし、Add -> Add Generated Items をクリックします。
- 表示されるダイアログボックスで Add Adapter Metadata を選択します。
- 表示される Add Adapter Wizard で、リストビューから CData BizTalk Adapter for Shopify を選択します。
- Port メニューでは、選択を空白のままにします。または、アダプターを使用するよう構成された Receive Location か Send Port を選択します。
- Next をクリックすると、Schema Wizard が表示されます。
Updategram 用のスキーマを生成する
以下の手順で、Visual Studio の BizTalk Server プロジェクトでスキーマを作成します。
- まだ行っていない場合は、Shopify アダプターをプロジェクトに追加します。
- Add Adapter ウィザードの Connection String ページで、Send Port または Receive Location で構成されていない場合は、認証情報やその他の接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
AppId=MyAppId;Password=MyPassword;ShopUrl=https://yourshopname.myshopify.com;
それでは、Shopify への接続・認証について説明していきましょう。Shopify では、アクセストークンとOAuth の2つの接続方法をサポートしています。
アクセストークンによる接続
アクセストークン経由の接続には、以下の2つのステップが必要です。
- Shopify の管理画面でアクセストークンを作成
- アクセストークンを使用して認証
アクセストークンの作成
まず、アプリを登録してアクセストークンを取得してみましょう。手順は以下のとおりです。
- 管理画面からShopify にログインし、Apps → Apps and sales channels に進みます
- Develop apps をクリックしてCreate an app を選択します
- Overview タブのConfiguration で、Admin API integration をクリックし、アプリに許可するストアのアクセス権を選択してください。CData製品が必要とするAdmin API 権限については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」セクションをご確認ください
- Save をクリックします
- Overview タブのConfiguration で、Storefront API integration をクリックし、アプリに許可するストアのアクセス権を選択します。CData製品が必要とするStorefront API 権限は以下のとおりです:
- unauthenticated_read_content
- Save をクリックします
- API Credentials を選択します
- "Access tokens" の下でInstall app をクリックします。これでアクセストークンが作成されます
- Admin API Access token のアクセストークンをコピーします。注意:トークンの公開およびコピーは1回のみ可能ですので、必ず保存してください
アクセストークンによる認証
続いて、アクセストークンで認証するには、以下のプロパティを設定してください。
- AuthScheme:AccessToken に設定
- AccessToken:カスタムアプリからコピーしたアクセストークンの値に設定
OAuth 認証を介した接続については、ヘルプドキュメントの「OAuth 認証の使用」をご確認ください。
必要な接続プロパティの詳細については、ヘルプドキュメントの "BizTalk Configuration" の章を参照してください。
- Schema Information ページで、General Options セクションの Send Port をクリックします。CommandType メニューから Updategram を選択します。Solicit-Response Send Port でアダプターを使用している場合は、One-Way オプションを無効にします。
次のページ(Statement Information)で、Updategram のタイプ(Insert、Update、Delete)を選択します。テーブル名とスキーマに含めるカラムを選択します。Update または Delete を行う場合は、Id カラムが必要です。
注:Updategram を作成する際、スキーマに含めたカラムのみを変更できます。
- Next をクリックしてスキーマのサマリーを表示し、ウィザードを終了してスキーマを作成します。生成された .xsd ファイルがプロジェクトに追加されます。
Insert、Update、Delete のインスタンスメッセージを生成する
Updategram スキーマを作成したら、.xsd ファイルを使用して Updategram を生成できます。Solution Explorer で .xsd ファイルを右クリックし、Generate Instance を選択します。このファイルをテンプレートとして、手動で Updategram を作成することもできます。以下は、Insert、Update、Delete 用に生成された Updategram インスタンスの例です:
Insert
INSERT の例を以下に示します。このインスタンスでは、データがどのように変更されるかを指定する after ブロックのみがあります。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ShopifyProvider">
<ns0:sync>
<ns0:before></ns0:before>
<ns0:after>
<ns0:Customers FirstName="FirstName_0" Id="Id_1" />
</ns0:after>
</ns0:sync>
</ns0:parameters>
Update
UPDATE の例を以下に示します。このインスタンスでは、before ブロック(テーブルの現在のデータ)と after ブロック(データがどのように変更されるか)の両方があります。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ShopifyProvider">
<ns0:sync>
<ns0:before>
<ns0:Customers Id=001d000000YBRseAAH></ns0:Customers>
</ns0:before>
<ns0:after>
<ns0:Customers FirstName="FirstName_0" Id="Id_1" ></ns0:Customers>
</ns0:after>
</ns0:sync>
</ns0:parameters>
Delete
DELETE の例を以下に示します。after ブロックは空になり、アイテムが削除されることを示します。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ShopifyProvider">
<ns0:sync>
<ns0:before>
<ns0:Customers Id=001d000000YBRseAAH></ns0:Customers>
</ns0:before>
<ns0:after></ns0:after>
</ns0:sync>
</ns0:parameters>
スキーマの処理
Updategram を使用して Shopify レコードの挿入、更新、削除を行う方法については、チュートリアルを参照してください。