FROM CACHE - jp_header

特定の商品が入った注文が作成されたとき、フルフィルメントを自動にする方法

tatsuki_ttt
Shopify Partner
13 0 0

お世話になります。

フルフィルメントの自動化について知っていらっしゃる方がおられましたら教えてください。

 

★shopifyflowを利用予定です。

特定の商品Aが入った注文が作成されたとき、「アイテムをフルフィルメント」を自動で行いたいと考えております。

※支払い方法はクレジットカードのみ

※お客様への通知は不要

 

shopify flowで実装できないかと調査しておりますが、なかなかうまくいかずの状態です・・・。

わかる方がいらっしゃいましたら、何卒ご協力いただけますと幸いです。

よろしくお願いいたします。

1件の返信1

Qcoltd
Shopify Partner
1051 429 413

@tatsuki_ttt 様

 

Order Createdをトリガーとした場合、シンプルに「発送済み」にするアクションが見当たらなかったので、

調査してみたところ、下記の投稿を見つけました。

 

https://community.shopify.com/c/shopify-flow-app/how-can-i-use-flow-to-automatically-fulfil-one-prod...

 

しかし、こちらの投稿の方法で本当にうまくいくのか確信がなかったので、

開発ストアで試してみました。

 

結論、下記の方法でうまく行きました。

screenshot_20240307_02.png

 

(1)トリガー: Order Created

(2) 分岐: 支払方法(Order.paymentGatewayNames)が "shopify_payments"の時

(3) ShopifyのAPI実行

 

※クレジットカード支払いを、Shopify Paymentによる支払いとして考えています。

 

API実行は下記のようにします。

screenshot_20240307_03.png

 

HTTP method: POST

URL:  https://{{shop.myshopifyDomain}}/admin/api/2024-01/fulfillments.json

Body:

 

{%- assign fulfillment_order_id = 0 -%}
{%- for fulfillmentOrders_item in order.fulfillmentOrders -%}
  {%- assign fulfillment_order_id = fulfillmentOrders_item.id | remove: "gid://shopify/FulfillmentOrder/" -%}
{%- endfor -%}
{
    "fulfillment": {
        "line_items_by_fulfillment_order": [
            {
                "fulfillment_order_id": {{  fulfillment_order_id }}
            }
        ],
        "tracking_info": {
            "number": "MS1562678",
            "url": "https://www.my-shipping-company.com?tracking_number=MS1562678"
        }
    }
}

 

 

上記のtacking_infoは、

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

こちらのサンプルの値をそのまま利用しています。

不要であれば、指定しなくても大丈夫ですので、下記にご変更ください。

 

{%- assign fulfillment_order_id = 0 -%}
{%- for fulfillmentOrders_item in order.fulfillmentOrders -%}
  {%- assign fulfillment_order_id = fulfillmentOrders_item.id | remove: "gid://shopify/FulfillmentOrder/" -%}
{%- endfor -%}
{
    "fulfillment": {
        "line_items_by_fulfillment_order": [
            {
                "fulfillment_order_id": {{  fulfillment_order_id }}
            }
        ]
    }
}

 

 

X-Shopify-Access-Tokenについてです。

こちらは下記の方法で、カスタムアプリを作成して発行したトークンを指定します。

https://help.shopify.com/ja/manual/apps/app-types/custom-apps#enable-custom-app-development

 

APIスコープは、正確にはどれが必要か分かっていませんが、私は下記を指定して実際の動作を確認しました。

(設定しなくても問題ないスコープもありそうです。)

screenshot_20240307_04.png

 

 

特定の商品Aが入った注文が作成されたとき

 

こちらについては、

(2) 分岐: 支払方法(Order.paymentGatewayNames)が "shopify_payments"の時

の、後に、商品情報による分岐を作成すれば良いはずです。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/