通过该接口获取到shopify平台订单,如果我再次获取还会获取到相同的单子,如何回传订单状态,让已经获取到的单子无法获取到
你如果通过fulfillment接口完成了订单,如果再次获取订单可以筛选出已经完成的订单
https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
看fulfillment_status
你好,请问如何称呼你
我的需求是这样的,我想通过接口获取shopify平台店铺的订单,然后通过我们系统提交出库发货获取面单后回传订单的状态,请问调用接口的具体顺序是什么?
我的理解是这样的:
1、获取草稿订单
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”
},
“invoice_url”: “https://2248023813.myshopify.com/54997123305/invoices/756b15cef05703e287b19d80d931441e”,
“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、回传订单状态 此接口未调通
url:https://8f212ed52efaced7890be4100cef075f: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@2248023813.myshopify.com/admin/api/2021-10/draft_orders/988427682025/complete.json
resp body:
{
“errors”: “Change your plan to allow customers to checkout and to create orders.”
}
针对我目前的需求,请问调用的接口是否正确?
希望得到您的答复,谢谢
我的问题还没有问,方便回复我后面的疑问吗?
-
你看的这块API是处理draft order,也就是定制订单,是商家自己创建的订单,不是客户下单的
-
用的接口没有错,但因为是测试店铺,不是付费店铺,所以会出现这个错误
听起来你对这块业务很了解,感谢你的回复!
我还有个问题,请问这两个接口有何区别。针对我的业务需求,我应该调哪一个接口,谢谢
特别感谢
https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
看到你们在另一个帖子的需求,你们应该用第一个接口:
https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
你们有两个途径可以走:
第一个:
-
获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
-
内部处理完订单去关闭所处理的订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[post]/admin/api/2021-10/orders/{order_id}/close.json
-
再次获取订单的时候已关闭的订单默认不会被拉取到
第二个:
-
获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
-
去发货,给订单添加物流信息:https://shopify.dev/api/admin-rest/2021-10/resources/fulfillment#[post]/admin/api/2021-10/fulfillments.json
-
再次获取订单的时候,要传去fulfillment_status=shipped
我认为您提供的第二种方案符合我们的业务需求
我再简单解释一下
我们先获取到shopify平台店铺已创建的草稿订单。获取完成之后,我们会提交出库发货,会获取到每个订单的追踪号和与之对应的面单。这时,我们需要把订单回传回传到shopify平台店铺,当再次获取时就获取不到已发货的单子,我想问下面这种方案是否满足我的业务需求?这样就不需要调Complete a fulfillment接口了?
-
获取订单:https://shopify.dev/api/admin-rest/2021-10/resources/order#[get]/admin/api/2021-10/orders.json
-
去发货,给订单添加物流信息:https://shopify.dev/api/admin-rest/2021-10/resources/fulfillment#[post]/admin/api/2021-10/fulfillmen…
-
再次获取订单的时候,要传去fulfillment_status=shipped
是的,没错,不需要调Complete a fulfillment接口了
非常感谢,我明白了
周末愉快,有个问题想请教一下您
API文档中提供的header体是不是非必要的:因为我不需要此header体同样也可以调通接口
H “X-Shopify-Access-Token: {access_token}”
你好,现在又遇到了一个新问题
Creates a fulfillment for one or many fulfillment orders 该接口返回:“errors”: “Not Found”
请问是这两个参数传的问题吗?
fulfillment_order_id,id 如果是,我该如何传才正确
下面示例截图中说明了我怎么传的
请帮我看一下,谢谢
下面展示的事请求示例
1、Retrieves a list of draft orders
2、Creates a fulfillment for one or many fulfillment orders
{
“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
}
]
}
]
}
}
你不能给draft order创建fulfillment,要用普通order
你如果要创建测试订单,好像只能用前台手动下单:
https://help.shopify.com/en/manual/checkout-settings/test-orders
你看我理解的是否正确,
1、你所说的前台手动手动下单是指通过按钮在shopify官网实现fulfillment接口的功能。
但是有点说不通,shopify官方对于草稿订单是提供fulfillment接口的
2、但问题来了,如果需要调普通order的接口,是不是意味着要购买套餐
注:我再次描述一下我的需求,客户在shopify创建订单,在我的理解里,创建的应该是草稿订单,也就是没有产生运单号和面单的订单,然后我们第三方海外仓系统获取到shopify平台中的订单,提交发货出库后,获取到面单以及运单号,然后回传到shopify平台,当我们再次拉取时,就拉取不到之前的单子
你的理解不太正确
-
草稿订单是商家创建的订单,一般用于商家创建定制订单,有单独折扣或者是特意派送要求等。一般shopify店铺很少用到草稿订单。
-
我说的到前台下单是指到店铺前台去购买商品,模拟客户正常操作下的单
3.不需要购买套餐,可以下测试订单,请看我上面提供的链接: https://help.shopify.com/en/manual/checkout-settings/test-orders
你们可以完全忽略DraftOrder接口,如果我理解对了你们的需求你们用不到它
请问有没有看我上面的链接?
不要通过api去创建订单,去店铺前台(xxx.myshopify.com)手动下单
我看到这个链接了,但是我不会设置 https://help.shopify.com/en/manual/checkout-settings/test-orders
我没有通过api去创建订单,我是通过图形化界面去下单的,但是需要选择套餐。
您讲的手动下单是不是要有某种设置,就如你上述文档中提的这样。
如果你能帮我设置一下,我将不胜感谢
1、现在创建不了正常订单就没办法调接口获取和回传状态,你帮我看一下如何把设置才能正常图形化界面创建
密码:jiale654321
官方是这样描述的,请看如下文档









