見出し画像

Shopify構築日記 #127 年明けからAPIの大型アップデート

 いつもお読みいただき誠に有難うございます。年始早々に大きなAPIアップデートのニュースが飛び込んできましたね!

Recent changelog
開発者の変更記録と直訳する通りShopify Platformの変更=アップデートを記したサイトです。ここを見れば、何がどう変わったか?どう変わるのか?が見れます。

 パートナー側とマーチャント側では、見るべきポイントが違ったり、思う感ずるところがズレていたりと双方の感想を聞いてみると面白いかもです。
 パートナー側:テックスタックがこれで解消する。出来なかったことが出来る!などなど制限があるがゆえにボトルネックが解消されて先に進めるようになると思います。

 逆にマーチャント側ですが、なかなか想像できる人が少ないのではと思います。いま密にしている方の知識量は半端ないです。知らないアプリがバンバン出てきて、それを追っかけるだけでも大変(笑)肌感で言うと国内ではトップレベルではないかと思います。
 そんなところでご一緒できるので本当にありがたいです。

まずはこちら。
Custmoer Praivacy API

顧客プライバシー API
カスタマー プライバシー API は、ブラウザー ベースの JavaScript API であり、開発者は購入者の追跡同意に関連する Cookie を読み書きできます。API はグローバルwindow.Shopifyオブジェクトのプロパティとして実装され、すべての Shopify オンライン ストアからアクセスできます。
この API を使用して、一般データ保護規則 (GDPR) に準拠するためのバナーなどの同意収集メカニズムを構築できます。マーケティングおよび分析のユースケースでは、ストアフロントの訪問者に関するデータを追跡またはエクスポートするときに API を使用して、GDPR コンプライアンスとカリフォルニア州消費者プライバシー法 (CCPA) への準拠の両方をカバーできます。

https://shopify.dev/api/consent-tracking より転載

 Twitter上でもこのCustomer Praivacy APIの反応は高く、沢山の方が興味を示していることが伺えました。年々厳しくなっていくプライバー廻り。ここを指摘できるパートナー、リクエスト出来るマーチャントになってほしいです。

それ以外のアップデートは、Shopifyメカニックの加藤さんが詳しく取りまとめて頂いていますので、こちらを参照してください。

[GraphQL Admin API]
これまでREST API経由のみだったFulfillment Eventsの作成がGraphQL mutation fulfillmentEventCreateで可能に。
[GraphQL Admin API ]
支払いのリマインダーをGraphQL経由で送信するmutation 「paymentReminderSend」が利用可能に
[GraphQL Admin API ]
「PaymentSchedule」オブジェクトを読み込む際、「PaymentTerms」も同時に取得できるように。 (従来PaymentTermsからだけだった取得が相互に可能)
[GraphQL Admin API]
複数ロケーションからのデリバリー/ローカルピックアップ設定が拡張。
[GraphQL Admin API]
「locationDeactivate」mutationにおいて「INVALID」エラーコードを削除。
[GraphQL Admin API]
B2B向け「Company」と「CompanyLocation」にMetafieldが追加。また、mutationsはBulkOperationに対応。
[GraphQL Admin API]
SMSテンプレートが翻訳可能リソースから削除。
[GraphQL Admin API]
shippingPackageUpdate mutationにてshippingPackage(重さ、サイズ、名前などの組み合わせ)をセット可能に。
[GraphQL Admin API]
店舗受け取り可能になった商品として設定するための「FulfillmentOrderLineItemsPreparedForPickup」mutationが追加。
[GraphQL Admin API]
ストアフロントで追加のアクションが必要な場合にマーチャントに知らせるShop Resource Feedbackが追加 (shopResourceFeedbackCreate mutation)
[GraphQL Admin API]
複数のfulfillmentOrdersHoldsを一回で解除する「fulfillmentOrdersReleaseHolds Mutation」が追加
[GraphQL Admin API]
「Shop.fulfillmentOrders」が「QueryRoot.fulfillmentOrders」に移動
[GraphQL Admin API]
商品情報の複製、削除のため以下のmutationsが追加 - productDuplicateAsync - productDeleteAsync 処理する商品点数が多い場合用に非同期で処理される。
[Admin API]
2022年のUNITEで正式に発表されたカスタムのデータモデルを作成可能なContent Platform向けに「Metaobjects」がAdmin APIに追加。アプリやマーチャント、ストアフロントからアクセス可能。
[Admin API ]
「reserved」や「on_hand」といったステータスごとの在庫の変更・管理がAPIを通じて可能に。
[Admin API ]
App Metafieldにaccessタイプが設定可能に。
- PRIVATE:アプリ以外アクセスできず
- MERCHANT_READ: 管理画面で閲覧可能
- MERCHANT_READ_WRITE: 管理画面で編集可能
[Admin API]
webhookにPAYMENT_SCHEDULES_DUE が追加。(PaymentSchedule.due_at dateに到達した場合に通知)
[Admin API]
ショップのポリシー(法務)に"Contact Information"が追加
[Admin API]
metafieldのクエリの方法がシンプルに。 「namespace.key」で指定できるようになった。
[Admin API]
「payment_details」のプロパティにカード情報(名前、ウォレット、有効期限など)が追加
[Admin API]
Fulfillment Orderのwebhookが新規追加/アップデート
[Admin API]
CheckoutProfineオブジェクトに「EditedAt(更新日時)」が追加(UpdatedAtは非推奨になる予定)
[Functions API]
上記バージョンのFunctions APIにてB2Bチェックアウトをカスタマイズするために必要な「会社名」が利用可能に。
[REST API]
B2Bに合わせた注文のインポートが可能に
「Shop.billingAddress」
にて従来の「MailingAddress」型から、「ShopAddress」型に切り替え。
fulfillment orderの保留(holds)に外部のIDでタグ付けが可能に(なぜ保留になっているのかを追跡可能にするため)
FulfillmentOrderLineItem.lineItem フィールドが非推奨に。
*対応必要
顧客のセグメンテーションクエリの実行が一部非同期に(フィルタの拡張が目的。)通常5秒以内に返ってくるが、1〜2分かかるケースもあるのでエラーコードのレスポンスのハンドリングの実装が必要。
*対応必要
[REST / GraphQL] 「fulfillment_orders_opt_in」に関連した作成・変更にてエラーが返却されるように。
*対応必要
スターター、ベーシックプランでのCarrier Service APIの利用が廃止。

 これだけの内容となります。こちらはDeep LとShopifyメカニックの加藤さんのツイートをもとにリストアップしたうえで種類をそろえてみました。

 マーチャントとして一つ一つ理解できなくても良いと思っています。分からなければ、お付き合いしているパートナーさんに聞けば良いだけです。答えに窮するパートナーさんでも調べて回答できるならオッケー、回答なければ今後少し対応を見ながら進めていくと良いかもです。
 かといって、テストみたいなことをして余計な時間を消耗させるマーチャントも考え物なので、雑談ベース=アイスブレイクの時に今回のアップデートでどんなことが出来るようになったの??くらいの軽い感じで聞いてみるのが良いかもですね。

 皆さんのサイトがより良くなるように!!

廻らない鮨を食べたいなぁ😅