FROM CACHE - zh-cn_header

shopify回传订单

已解决
ljl
新成员
31 0 0

通过该接口获取到shopify平台订单,如果我再次获取还会获取到相同的单子,如何回传订单状态,让已经获取到的单子无法获取到

1 个已接受解答

已接受的解答
Tim_Mak
探路者
103 12 18
解决方案

你如果通过fulfillment接口完成了订单,如果再次获取订单可以筛选出已经完成的订单

https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json

fulfillment_status

在原帖中查看解决方案

47 条回复47
Tim_Mak
探路者
103 12 18
解决方案

你如果通过fulfillment接口完成了订单,如果再次获取订单可以筛选出已经完成的订单

https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json

fulfillment_status

ljl
新成员
31 0 0

你好,请问如何称呼你

我的需求是这样的,我想通过接口获取shopify平台店铺的订单,然后通过我们系统提交出库发货获取面单后回传订单的状态,请问调用接口的具体顺序是什么?

我的理解是这样的:

ljl_0-1633914356663.png

 

1、获取草稿订单

url:https://8f212ed52efaced7890be4100cef075f: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@2248023813.myshopify...

resp body

{
    "draft_orders": [
        {
            "id"988427682025,
            "note""shopify测试",
            "email""2248023813@qq.com",
            "taxes_included"false,
            "currency""USD",
            "invoice_sent_at"null,
            "created_at""2021-10-08T10:39:08+08:00",
            "updated_at""2021-10-08T10:39:08+08:00",
            "tax_exempt"true,
            "completed_at"null,
            "name""#D3",
            "status""open",
            "line_items": [
                {
                    "id"57711735996649,
                    "variant_id"39466176053481,
                    "product_id"6635917770985,
                    "title""SHIRT",
                    "variant_title""10",
                    "sku""SHIRT",
                    "vendor""2248023813",
                    "quantity"1,
                    "requires_shipping"true,
                    "taxable"true,
                    "gift_card"false,
                    "fulfillment_service""manual",
                    "grams"454,
                    "tax_lines": [],
                    "applied_discount"null,
                    "name""SHIRT - 10",
                    "properties": [],
                    "custom"false,
                    "price""0.00",
                    "admin_graphql_api_id""gid://shopify/DraftOrderLineItem/57711735996649"
                }
            ],
            "shipping_address": {
                "first_name""hat",
                "address1""32801 Ecorse Road",
                "phone""+11234567890",
                "city""Romulus",
                "zip""48174",
                "province""Michigan",
                "country""United States",
                "last_name""liu",
                "address2""",
                "company""hat",
                "latitude"42.2505224,
                "longitude"-83.3622427,
                "name""hat liu",
                "country_code""US",
                "province_code""MI"
            },
            "billing_address": {
                "first_name""hat",
                "address1""32801 Ecorse Road",
                "phone""+11234567890",
                "city""Romulus",
                "zip""48174",
                "province""Michigan",
                "country""United States",
                "last_name""liu",
                "address2""",
                "company""hat",
                "latitude"42.2505224,
                "longitude"-83.3622427,
                "name""hat liu",
                "country_code""US",
                "province_code""MI"
            },
            "applied_discount"null,
            "order_id"null,
            "shipping_line"null,
            "tax_lines": [],
            "tags""紧急",
            "note_attributes": [],
            "total_price""0.00",
            "subtotal_price""0.00",
            "total_tax""0.00",
            "admin_graphql_api_id""gid://shopify/DraftOrder/988427682025",
            "customer": {
                "id"5244566962409,
                "email""2248023813@qq.com",
                "accepts_marketing"true,
                "created_at""2021-09-28T09:07:44+08:00",
                "updated_at""2021-09-28T09:07:44+08:00",
                "first_name""hat",
                "last_name""liu",
                "orders_count"0,
                "state""disabled",
                "total_spent""0.00",
                "last_order_id"null,
                "note"null,
                "verified_email"true,
                "multipass_identifier"null,
                "tax_exempt"true,
                "phone"null,
                "tags""",
                "last_order_name"null,
                "currency""USD",
                "accepts_marketing_updated_at""2021-09-28T09:07:44+08:00",
                "marketing_opt_in_level""single_opt_in",
                "tax_exemptions": [],
                "admin_graphql_api_id""gid://shopify/Customer/5244566962409",
                "default_address": {
                    "id"6433503346921,
                    "customer_id"5244566962409,
                    "first_name""hat",
                    "last_name""liu",
                    "company""hat",
                    "address1""32801 Ecorse Road",
                    "address2""",
                    "city""Romulus",
                    "province""Michigan",
                    "country""United States",
                    "zip""48174",
                    "phone""+11234567890",
                    "name""hat liu",
                    "province_code""MI",
                    "country_code""US",
                    "country_name""United States",
                    "default"true
                }
            }
        }
    ]
}
2、回传订单状态 此接口未调通
resp body:
{
    "errors""Change your plan to allow customers to checkout and to create orders."
}
 
 针对我目前的需求,请问调用的接口是否正确?
希望得到您的答复,谢谢

 

 

ljl
新成员
31 0 0

我的问题还没有问,方便回复我后面的疑问吗?

Tim_Mak
探路者
103 12 18

1. 你看的这块API是处理draft order,也就是定制订单,是商家自己创建的订单,不是客户下单的

2. 用的接口没有错,但因为是测试店铺,不是付费店铺,所以会出现这个错误

 

ljl
新成员
31 0 0

听起来你对这块业务很了解,感谢你的回复!

我还有个问题,请问这两个接口有何区别。针对我的业务需求,我应该调哪一个接口,谢谢

特别感谢

https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json

 

https://3ae227a45e2e8f939fac5e52c1a49eb0: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@3092237819.myshopify...

Tim_Mak
探路者
103 12 18

看到你们在另一个帖子的需求,你们应该用第一个接口:

https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json

你们有两个途径可以走:

第一个:

1. 获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json 

2. 内部处理完订单去关闭所处理的订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[post]/admin/api/2021-10/orders/{order_id... 

3. 再次获取订单的时候已关闭的订单默认不会被拉取到

第二个:

1. 获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json 

2. 去发货,给订单添加物流信息:https://shopify.dev/api/admin-rest/2021-10/resources/fulfillment#[post]/admin/api/2021-10/fulfillmen... 

3. 再次获取订单的时候,要传去fulfillment_status=shipped

 

ljl
新成员
31 0 0

我认为您提供的第二种方案符合我们的业务需求

我再简单解释一下

我们先获取到shopify平台店铺已创建的草稿订单。获取完成之后,我们会提交出库发货,会获取到每个订单的追踪号和与之对应的面单。这时,我们需要把订单回传回传到shopify平台店铺,当再次获取时就获取不到已发货的单子,我想问下面这种方案是否满足我的业务需求?这样就不需要调Complete a fulfillment接口了?

 

1. 获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json 

2. 去发货,给订单添加物流信息:https://shopify.dev/api/admin-rest/2021-10/resources/fulfillment#[post]/admin/api/2021-10/fulfillmen... 

3. 再次获取订单的时候,要传去fulfillment_status=shipped

Tim_Mak
探路者
103 12 18

是的,没错,不需要Complete a fulfillment接口了

ljl
新成员
31 0 0

非常感谢,我明白了

ljl
新成员
31 0 0

周末愉快,有个问题想请教一下您

API文档中提供的header体是不是非必要的:因为我不需要此header体同样也可以调通接口

H "X-Shopify-Access-Token: {access_token}"

1.png

ljl
新成员
31 0 0

你好,现在又遇到了一个新问题

Creates a fulfillment for one or many fulfillment orders   该接口返回:"errors""Not Found"

请问是这两个参数传的问题吗?

fulfillment_order_id,id   如果是,我该如何传才正确
下面示例截图中说明了我怎么传的
请帮我看一下,谢谢
 
 

 

下面展示的事请求示例

1、Retrieves a list of draft orders

https://3ae227a45e2e8f939fac5e52c1a49eb0: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@3092237819.myshopify...

1.png

2、Creates a fulfillment for one or many fulfillment orders

https://3ae227a45e2e8f939fac5e52c1a49eb0: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@3092237819.myshopify...

{

    "fulfillment":{
        "message":"The package was shipped this morning.",
        "notify_customer":false,
        "tracking_info":{
            "number":993913503987,
            "url":"https:\/\/www.my-shipping-company.com",
            "company":"my-shipping-company"
        },
        "line_items_by_fulfillment_order":[
            {
                "fulfillment_order_id":993913503987,
                "fulfillment_order_line_items":[
                    {
                        "id":57717325005043,
                        "quantity":1
                    }
                ]
            }
        ]
    }
}

2.png

 

Tim_Mak
探路者
103 12 18

你不能给draft order创建fulfillment,要用普通order

你如果要创建测试订单,好像只能用前台手动下单:

https://help.shopify.com/en/manual/checkout-settings/test-orders

ljl
新成员
31 0 0

你看我理解的是否正确,

1、你所说的前台手动手动下单是指通过按钮在shopify官网实现fulfillment接口的功能。

但是有点说不通,shopify官方对于草稿订单是提供fulfillment接口的

2、但问题来了,如果需要调普通order的接口,是不是意味着要购买套餐

 

注:我再次描述一下我的需求,客户在shopify创建订单,在我的理解里,创建的应该是草稿订单,也就是没有产生运单号和面单的订单,然后我们第三方海外仓系统获取到shopify平台中的订单,提交发货出库后,获取到面单以及运单号,然后回传到shopify平台,当我们再次拉取时,就拉取不到之前的单子

 

 

 

ljl_0-1634519003756.png

 

Tim_Mak
探路者
103 12 18

你的理解不太正确

1. 草稿订单是商家创建的订单,一般用于商家创建定制订单,有单独折扣或者是特意派送要求等。一般shopify店铺很少用到草稿订单。

2. 我说的到前台下单是指到店铺前台去购买商品,模拟客户正常操作下的单

3.不需要购买套餐,可以下测试订单,请看我上面提供的链接: https://help.shopify.com/en/manual/checkout-settings/test-orders

你们可以完全忽略DraftOrder接口,如果我理解对了你们的需求你们用不到它

 

ljl
新成员
31 0 0

请问这样设置就可以了吗?请看我如图所示,但是我在创建正常订单时也需要购买套餐

3.png

 

1.png

 

 

 

Tim_Mak
探路者
103 12 18

请问有没有看我上面的链接?

不要通过api去创建订单,去店铺前台(xxx.myshopify.com)手动下单

ljl
新成员
31 0 0

 

我看到这个链接了,但是我不会设置 https://help.shopify.com/en/manual/checkout-settings/test-orders

我没有通过api去创建订单,我是通过图形化界面去下单的,但是需要选择套餐。

您讲的手动下单是不是要有某种设置,就如你上述文档中提的这样。

如果你能帮我设置一下,我将不胜感谢

 

1、现在创建不了正常订单就没办法调接口获取和回传状态,你帮我看一下如何把设置才能正常图形化界面创建

账号:3092237819@qq.com

密码:jiale654321

官方是这样描述的,请看如下文档

Tim_Mak
探路者
103 12 18

给你们添加了虚拟网关,但前台还是不让我结账。查看了下英文帖子,有可能现在shopify做了些限制,建议联系shopify客户打开结账功能

Tim_Mak_0-1634648979387.png

 

ljl
新成员
31 0 0

再次感谢您对我的提问做出来建设性的回答

以下是shopify官方客户为我做出的解答,那请问我的需求属于开发商店吗?我觉得应该不是

对于客户人员的这句话我不是很理解"除非,您是使用开发商店"

那现在我只有两种方案了

其一:购买套餐

其二:使用开发商店

你认为我能用第二种方案吗?

请问您对于第二种方案有了解吗,方便告诉我吗?

 

ljl_1-1634720600150.png

 

 

ljl_0-1634720593175.png