サブスクリプションAPIのについて

yamamoto
観光客
7 1 1

以下のドキュメントを参考にサブスクリプションアプリを作成しています。

2点質問があります。

1. SellingPlanとcontractを紐づけるmutationは見当たらないのですが、それぞれのbillingPolicyは別物と考えて良いでしょうか?

 

2. 購入後のサブスクリプションの更新を自動化させるためにはクーロンのような機能を使って定期的にapiへリクエストするという認識で良いでしょうか?

https://shopify.dev/tutorials/shopify-subscriptions-overview

0 件の「いいね!」
junichiokamura
Community Manager
Community Manager
1025 234 383

1については、以下の情報を挿しておられるかと思いますが、

https://shopify.dev/docs/admin-api/graphql/reference/orders/subscriptiondraftinput

https://shopify.dev/docs/admin-api/graphql/reference/products-and-collections/sellingplan

あとで変更できる余地を残すために別々になっているかと思います。

2については、そのようになります。

Technical Partner Manager, Japan
0 件の「いいね!」

定期購買アプリを開発・運用してる開発者です。


岡村さんが回答されている通りなのですが、

> 1. SellingPlanとcontractを紐づけるmutationは見当たらないのですが、それぞれのbillingPolicyは別物と考えて良いでしょうか?

別物になります。
Contract が作成された後、SellingPlan が変更・削除されても Contract に影響が出ないための設計だと思われます。


2. 購入後のサブスクリプションの更新を自動化させるためにはクーロンのような機能を使って定期的にapiへリクエストするという認識で良いでしょうか?

その通りになります。

SubscriptionContract オブジェクト内に nextBillingDate フィールドがあるので、それに合わせて SubscriptionBillingAttempt オブジェクトを作成しています。
ただこの nextBillingDate ですが、最初に作成される SubscriptionContract  オブジェクト内の値はストア毎のタイムゾーンの影響を受けた値になっている (東京なら +9時間、オタワなら -5時間) + タイムゾーンの値がどのストアでも "Z" と表記されるので、初期値を使わない or ストアのタイムゾーン設定を確認して調整する必要がありました。(現在は修正されている可能性があります)