FROM CACHE - jp_header

Order APIでの注文履歴移行時の発送日の指定

解決済

Order APIでの注文履歴移行時の発送日の指定

keikiller
Shopify Partner
2 0 0

他プラットフォーム(自社カスタムEC)からOrder APIを利用して顧客の注文履歴を移行しています。APIドキュメントには発送日を指定する項目が見当たらず、顧客のアカウント画面から確認できる発送日が、すべて移行した日になってしまいます。APIで登録した過去注文の発送日はどうすれば指定可能でしょうか。

1 件の受理された解決策

junichiokamura
Community Manager
1201 280 509

成功

発送日はそもそも Shopify Adminからも指定できないので、(発送した日が自動設定)APIでもできないと思います。APIで移行する時はRESTであれば、発送済みの状態で登録、GraphQLであれば、APIでfullfilmentを作成、というようになりますが、いずれにせよその発送状態がつくられた日時が発送日時になるので、個別指定はできないと思います。

 

個人的には発送日は移行という目的では割り切っていい項目だと思います。

Senior Partner Solutions Engineer

元の投稿で解決策を見る

11件の返信11

junichiokamura
Community Manager
1201 280 509

成功

発送日はそもそも Shopify Adminからも指定できないので、(発送した日が自動設定)APIでもできないと思います。APIで移行する時はRESTであれば、発送済みの状態で登録、GraphQLであれば、APIでfullfilmentを作成、というようになりますが、いずれにせよその発送状態がつくられた日時が発送日時になるので、個別指定はできないと思います。

 

個人的には発送日は移行という目的では割り切っていい項目だと思います。

Senior Partner Solutions Engineer
keikiller
Shopify Partner
2 0 0

@junichiokamura 発送日は指定できない旨、理解できました。ご回答ありがとうございました。

FSYS
新規メンバー
5 0 0

関連して1点ご質問させていただけますでしょうか。

 

APIを利用してフルフィルメントしていますが、
注文データの発送日が、フルフィルメントの実施日(API実行日)ではなく、
注文データの作成日(注文日)になっています。

 

手動でのフルフィルメントやアプリを利用したcsvフルフィルメント時には、
フルフィルメントの実施日が発送日になりますが、
APIを利用したフルフィルメント時には、注文作成日が発送日になります。

 

APIを利用したフルフィルメント時に、
フルフィルメント実施日を発送日にする方法があればご教授いただけますでしょうか。

junichiokamura
Community Manager
1201 280 509

アプリも内部で使っているものは、同じAPIですので、原則的にはアプリでできていることはAPIでもでできる、ということなります。

APIでの注文とフルフィルメントは作り方にいくつか方法があるのですが、こちらのAPIなどは参考になりますでしょうか?
https://shopify.dev/apps/fulfillment/fulfillment-service-apps

https://www.shopify.com/jp/blog/partner-shopify-fulfillment-orders-api



APIを利用してフルフィルメントしていますが、


もしよろしければ、お使いのAPIとその使い方を教えていただけますか?


Senior Partner Solutions Engineer
FSYS
新規メンバー
5 0 0

ご回答いただき、ありがとうございます。

 

>お使いのAPIとその使い方を教えていただけますか?

 

https://shopify.dev/api/admin-rest/2022-04/resources/fulfillment#post-orders-order-id-fulfillments-f...

のAPIを利用しています。

 

注文が作成されたら注文データをShopifyから基幹システムにAPI連携し、

Shopify側のフルフィルメントステータスを「未発送」から「進行中」に更新しています。

 

出荷完了後、「fulfillment」の「created_at」を基幹システムに注文データが登録された日時として、「updated_at」を出荷完了日時(フルフィルメントAPIの実行日時)として、フルフィルメントAPIを実行しております。

 

恐れ入りますが、ご確認いただけますでしょうか。

junichiokamura
Community Manager
1201 280 509

ありがとうございます。

Orderをまず作って、そのあとでCreateFullfilment をよんだ場合いかがでしょうか?
https://shopify.dev/api/admin-rest/2022-04/resources/fulfillment#post-orders-order-id-fulfillments

こちらの方が管理画面からの操作に近いかと思います。

 

また、可能であれば、GraphQLの利用を推奨いたします。

 

Senior Partner Solutions Engineer
FSYS
新規メンバー
5 0 0

ご返信ありがとうございます。

 

>Orderをまず作って、そのあとでCreateFullfilment をよんだ場合いかがでしょうか?

APIを利用したフルフィルメント処理を、「Complete a fulfillment」ではなく「Create a new Fulfillment」で実施すると、解決できる可能性あるとの理解で合ってますでしょうか?

その場合、「Complete a fulfillment」と「Create a new Fulfillment」はどういう違いがありますでしゅおか?

 

ちなみに、「fulfillment」の「created_at」は「発送日」ではないでしょうか?

 

恐れ入りますが、ご確認いただければ幸いです。

junichiokamura
Community Manager
1201 280 509

Completeは元々ある保留中のFulfilmentを完了させるものですが、お使いのAPIバージョンがすでにサポート外になっていますので、以下の情報を参考にバージョンをあげて再度実行してみるのはいかがでしょうか?

https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments#create-a-fulfillment

https://shopify.dev/api/admin-rest/2023-01/resources/fulfillment#post-fulfillments


 

Senior Partner Solutions Engineer
FSYS
新規メンバー
5 0 0

ありがとうございます!「Create a new Fulfillment」で試してみます。

ちなみに、「Create a new Fulfillment」にも「created_at」項目がありますが、こちらの値が管理画面に表示される「発送日」になることではないでしょうか?

junichiokamura
Community Manager
1201 280 509

おそらくそうだと思いますが、実際にAPIで作成して後で管理画面で確認いただければと思います。

Senior Partner Solutions Engineer
FSYS
新規メンバー
5 0 0

度々申し訳ございませんが、「Create a new Fulfillment」をお試しする前に1点だけご質問させていただけますでしょうか。

 

現在、注文データを弊社基幹システムに連携する際に、注文のフルフィルメント状況を未発送から準備中に変更しており、「Complete a fulfillment」を利用して1件のfulfillment情報を作成しています。

その後、出荷完了連携時に「Create a new Fulfillment」を利用すると、結果的に1件の注文に対してfulfillment情報が2件できてしまうことではないかと思いますが、問題ないでしょうか?

 

>おそらくそうだと思いますが、実際にAPIで作成して後で管理画面で確認いただければと思います。

ありがとうございます!承知致しました。