快工助手跨境电商知识与商机助手

[important] Implement PENDING as a new order status in Open API

Shopee 官方资料 · Shopee Open Platform 变更通知(Announcements) · 适合开发者

stable本次发布有变化全部展示

来自 Shopee 官方资料快照 ·

打开官方原文 ↗
  1. 当前资料结构化阅读页
  2. 固定快照已留存,可追溯
  3. 官方原文可核对
查看技术与溯源信息
平台 / profile
Shopee / profile.shopee.announcements
语言
en
发布版本
cn-20260909-2
标签
zhuge/sourceplatform/shopeeaudience/developercategory/announcementtopic/apitopic/api-ordertopic/changelogtopic/developertopic/openapi-updates

资料正文

§1 [important] Implement PENDING as a new order status in Open API

Dear Developers,

In order to optimize the user experience and solve the pain point of some orders, although with the order status "READY_TO_SHIP" but cannot be shipped by calling ship_order API, we have introduced a new order status--"PENDING".

The specific updates are as follows:

1.The order_status flow:

1.1 Old flow:

UNPAID -> (Original)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

1.2 New flow:

UNPAID -> (New)PENDING-> (Updated)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

2.Scenarios that trigger PENDING status:

NoOrder Pending ScenariosDescriptionAction can take while pending
13PL allocatingIt’s a 3PL masking order and at this point, the order has not matched with a suitable fulfillment channelWait until the order got shipping_carrier from v2.order.get_order_detail
2Fraud checkThe order is being detected for fraud by ShopeeWait until the system finished the fraud check, will take up to 4 hours
3TW CB KYC Pre-authorisationThe order needs buyer to do the TW Pre-authorisation only apply for Taiwan cross -border ordersRemind buyers to complete Pre-authorisation

3.The specific updates for Open APIs:

3.1.1 For v2.order.get_order_detail and v2.order.get_order_list add a new compatible field"request_order_status_pending" for request parameter.

NoScenariosorder_status enum value
1request_order_status_pending send as trueeUNPAID (New)PEDNING READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN
2request_order_status_pending send as false or not sendUNPAID READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN

3.1.2.The deprecation plan of the field "request_order_status_pending"

PhaseTimePerformance
1June 15 - Sep 15Decide whether to return an order in pending status by passing in the value of the compatible field request_order_status_pending
2Sep 16 and afterthe compatible field request_order_status_pending will be deprecated and removed, directly follow the new order_status logic

3.2.for v2.order.get_order_detail add a new response field "pending_terms" to indicate which type the current pending belongs to.

No"pending_term" enum valueOrder Pending Scenarios
1SYSTEM_PENDING1.3PL allocating 2.Fraud check
2KYC_PENDINGTW CB KYC Pre-authorisation

Sample1: pending_terms= SYSTEM_PENDING,the response from

v2.order.get_order_detail:

{

"error":"",

"message":"",

"request_id":"dbb07ea9fea183f413ebacb9bf13de20",

"response":{

"order_list":[

{

…………

"order_sn":"230605JQD3HUHJ",

"order_status":"PENDING",

"pending_terms":[

"SYSTEM_PENDING"

],

"region":"ID",

"reverse_shipping_fee":0,

"ship_by_date":0,

"update_time":1685944418

}

]

}

Sample2: pending_terms=KYC_PENDING,the response from v2.order.get_order_detail:

{

"error": "",

"message": "",

"request_id": "6d80e40c11f8f854b6687b3996b27c20",

"response": {

"order_list": [

{

…………

"order_sn": "230606MU6CG0QU",

"order_status": "PENDING",

"pending_terms":[

"KYC_PENDING"

],

"region":"TW",

"shipping_carrier": "蝦皮海外 - OK MART(海運)",

"update_time": 1686017238

}

]

}

Related APIs:

v2.order.get_order_detail

v2.order.get_order_list

4.FAQs

Q1. How does order_status_push behave now?

A: There will be no push message when the order status is updated to pending, regardless of whether the API request has switched to the new logic.

We're planning to support pushing the push message when the order status is updated to pending, and the specific online time will be subject to the subsequent platform announcement time.

Q2. Can both SYSTEM_PENDING and KYC_PENDING be returned in the "pending_terms" field?

A: No, only one of the two pending types will appear in one order at the same time.

Effective Date on Live: Lived

尊敬的开发者,

您好,为优化用户体验,解决部分状态为"READY_TO_SHIP"的订单,调用发货接口无法发货的问题,引入了新的订单状态---"PENDING"。

具体更新如下:

1.订单状态流转

1.1 Old flow:

UNPAID -> (Original)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

1.2 New flow:

UNPAID -> (New)PENDING-> (Updated)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

2.触发订单状态为PENDING的场景:

No场景描述可采取的行动
3PL allocating属于3PL masking 订单,该订单未匹配到履约渠道等待 直到调用v2.order.get_order_detail,shipping_carrier字段有值
Fraud check订单正在进行欺诈检测等待 最长4小时
TW CB KYC Pre-authorisation订单需要买家进行预先委任 仅适用于台湾的跨境订单提醒买家尽快完成预先委任

3.Open API接口更新:

3.1.对 v2.order.get_order_detail 和 v2.order.get_order_list 请求参数新增兼容性字段"request_order_status_pending".

No场景order_status枚举值
1request_order_status_pending 传为trueUNPAID (新增)PEDNING READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN
2request_order_status_pending 传为false或不传该字段UNPAID READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN

3.1.2.兼容性字段request_order_status_pending下线计划

阶段时间表现
16月 15日 - 9月 15日通过传入兼容字段request_order_status_pending的值来决定是否返回处于pending状态的订单
29月16日及以后兼容字段request_order_status_pending将被废弃并删除,无论是否传入该字段,都遵循新的order_status flow

3.2.对 v2.order.get_order_detail 新增响应字段 "pending_terms" 用于说明当前pending所属的类型,具体如下:

Nopending_terms 枚举值订单Pending 场景
1SYSTEM_PENDING1.3PL allocating 2.Fraud check
2KYC_PENDINGTW CB KYC Pre-authorisation

Sample1: pending_terms为SYSTEM_PENDING,v2.order.get_order_detail接口响应:

{

"error":"",

"message":"",

"request_id":"dbb07ea9fea183f413ebacb9bf13de20",

"response":{

"order_list":[

{

…………

"order_sn":"230605JQD3HUHJ",

"order_status":"PENDING",

"pending_terms":[

"SYSTEM_PENDING"

],

"region":"ID",

"reverse_shipping_fee":0,

"ship_by_date":0,

"update_time":1685944418

}

]

}

Sample2: pending_terms为KYC_PENDING,v2.order.get_order_detail接口响应:

{

"error": "",

"message": "",

"request_id": "6d80e40c11f8f854b6687b3996b27c20",

"response": {

"order_list": [

{

…………

"order_sn": "230606MU6CG0QU",

"order_status": "PENDING",

"pending_terms":[

"KYC_PENDING"

],

"region":"TW",

"shipping_carrier": "蝦皮海外 - OK MART(海運)",

"update_time": 1686017238

}

]

}

影响接口:

v2.order.get_order_detail

v2.order.get_order_list

4.FAQs

Q1.order_status_push的表现是?

A: 当订单状态更新为PENDING时不会有push消息的推送。

平台有计划支持当订单状态更新为pending时推送push消息,具体上线时间以后续平台公告时间为准。

Q2.SYSTEM_PENDING和KYC_PENDING 可同时在"pending_terms" 字段返回吗?

A: 不可以,目前一个订单如果处于pending状态,则一定是两种pending 类型的其中之一。

上线时间:已上线

Olá desenvolvedores,

Com o propósito de melhorar a experiência e resolver alguns problemas relacionados ao status da order “READY_TO_SHIP” e mesmo assim não sendo possível que a order fosse organizada ao chamar a API ship_order, criamos um novo status de order “PENDING”.

Seguem fluxos afetados:

1.Fluxo de status das orders:

1.1 Fluxo antigo:

UNPAID -> (Antigo)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

1.2 Novo Fluxos:

UNPAID -> (Novo)PENDING -> (Atualizado)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

  1. Cenários que passariam pelo novo status PENDING:
NoPossíveis CenáriosDescriçãoAções que podem ser tomadas enquanto no status PENDING
Alocação do Parceiro Logístico(não se aplica ao BR)Pedido ainda sem um fulfillment channel corretoEsperar até o retorno do shipping_carrier pela API v2.order.get_order_detail
Fraud checkA order está sendo verificada por possível FRAUD.Esperar até o sistema de validação terminar, que pode demorar no máximo 4 horas.
TW CB KYC Pre-authorisation(não se aplica ao BR)O pedido precisa do vendedor para realizar o TW Pre-authorisation Só se aplica para Taiwan CrossBorderAvisar o Buyer para completar a Pre-authorisation
  1. Atualizações nas APIs:

3.1.1 Para API v2.order.get_order_detail e v2.order.get_order_list foi adicionado um novo parâmetro "request_order_status_pending" para ser usado durante o processo de migração apenas nas chamadas de request,

NoCenáriosorder_status enum value
1request_order_status_pending enviado como “true”UNPAID (New)PEDNING READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN
2request_order_status_pending enviado como “false” ou não enviadoUNPAID READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN

3.1.2. Plano de depreciação do parâmetro "request_order_status_pending"

PhaseDataPerformance
115 de Junho - 15 de SetembroSerá possível escolher se quer filtrar por esse novo status usando o parâmetro request_order_status_pending
216 de Setembro em dianteO parâmetro request_order_status_pending será removido e o novo status seguirá estará disponível como os outros

3.2. Para API v2.order.get_order_detail será adicionada um novo response “pending_terms” para indicar a que tipo de pendência se refere.

Nopending_terms enum valueOrder Pending Scenarios
1SYSTEM_PENDING1.3PL allocating 2.Fraud check
2KYC_PENDINGTW CB KYC Pre-authorisation

Exemplo 1: pending_terms= SYSTEM_PENDING,response da API

v2.order.get_order_detail:

{

"error":"",

"message":"",

"request_id":"dbb07ea9fea183f413ebacb9bf13de20",

"response":{

"order_list":[

{

…………

"order_sn":"230605JQD3HUHJ",

"order_status":"PENDING",

"pending_terms":[

"SYSTEM_PENDING"

],

"region":"ID",

"reverse_shipping_fee":0,

"ship_by_date":0,

"update_time":1685944418

}

]

}

Examplo 2: pending_terms=KYC_PENDING,response da API v2.order.get_order_detail:

{

"error": "",

"message": "",

"request_id": "6d80e40c11f8f854b6687b3996b27c20",

"response": {

"order_list": [

{

…………

"order_sn": "230606MU6CG0QU",

"order_status": "PENDING",

"pending_terms":[

"KYC_PENDING"

],

"region":"TW",

"shipping_carrier": "蝦皮海外 - OK MART(海運)",

"update_time": 1686017238 }

]

}

APIs afetadas:

v2.order.get_order_detail

v2.order.get_order_list

4.FAQs

Q1. Como o order_status_push vai se comportar?

A: Não haverá nenhuma Push Message quando a order mudar para o status de PENDING. Mas planejamos realizar esse ajuste no futuro, assim que tivermos detalhes vocês serão informados.

Q2. Tanto o SYSTEM_PENDING quanto o KYC_PENDING poderão ser retornados no parâmetro "pending_terms" ?

A: Não, apenas um dos dois tupos irá aparecer para cada order.Quando estará em

LIVE: Já disponíveis no ambiente LIVE.

사용자 경험을 최적화하고 일부 오더 관련 문제를 해결하기 위해, "READY_TO_SHIP" 상태이지만 ship_order API를 호출하여 발송할 수 없는 주문건에 대해 "PENDING"이라는 새로운 주문 상태값이 추가되었습니다.

구체적인 업데이트는 다음과 같습니다:

  1. order_status 흐름

1.1 Old flow:

UNPAID -> (Original)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

1.2 New flow:

UNPAID -> (New)PENDING-> (Updated)READY_TO_SHIP -> PROCESSED -> SHIPPED->TO CONFIRM RECEIVE -> COMPLETED

  1. PENDING 상태를 유발하는 시나리오
No주문 PENDING 시나리오설명PENDING 상태에서 취할 수 있는 액션
13PL 할당3PL 마스킹 주문건이며 아직 적합한 풀필먼트 채널에 매칭이 되지 않은 상태v2.order.get_order_detail에서 shipping_carrier를 받을 때까지 대기합니다.
2사기 확인Shopee에 의해 주문이 사기 케이스로 감지된 경우시스템이 사기 확인을 완료할 때까지 대기합니다. 최대 4시간 소요될 수 있습니다.
3TW CB KYC 사전 승인주문에 대해 구매자가 대만 사전 승인 (TW Pre-authorisation)을 진행해야 합니다.이는 대만 마켓 크로스보더 (CB) 주문건에만 적용됩니다.구매자에게 사전 승인을 완료하도록 알립니다.
  1. Open API에 대한 구체적인 업데이트:

3.1.1. v2.order.get_order_detail 와 v2.order.get_order_list에 대해, request parameter (요청 매개변수)의 마이그레이션 기간 동안 "request_order_status_pending"이라는 새로운 호환 필드가 추가됩니다.

NoScenariosorder_status enum value
1request_order_status_pending send as trueUNPAID (New)PEDNING READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN
2request_order_status_pending send as false or not sendUNPAID READY_TO_SHIP PROCESSED SHIPPED TO CONFIRM RECEIVE COMPLETED IN_CANCEL CANCELLED TO_RETURN

3.1.2. "request_order_status_pending" 필드의 사용 중지 계획:

PhaseTimePerformance
16월 15일 - 9월 15일호환 필드 "request_order_status_pending"의 값을 전달하여 대기 중인 상태의 주문 반환 여부를 결정합니다.
29월 16일 이후호환 필드 "request_order_status_pending"가 폐기되고 제거되며, 새로운 order_status 로직을 직접 따릅니다.

3.2. v2.order.get_order_detail에 "pending_terms"라는 새로운 응답 필드를 추가하여 현재 대기 중인 상태가 어떤 유형에 속하는지 나타냅니다.

Nopending_terms enum valueOrder Pending Scenarios
1SYSTEM_PENDING1. 3PL 할당 2. 사기 확인
2KYC_PENDINGTW CB KYC 사전 승인

샘플1: pending_terms= SYSTEM_PENDING, v2.order.get_order_detail에서의 응답:{

{

"error":"",

"message":"",

"request_id":"dbb07ea9fea183f413ebacb9bf13de20",

"response":{

"order_list":[

{

…………

"order_sn":"230605JQD3HUHJ",

"order_status":"PENDING",

"pending_terms":[

"SYSTEM_PENDING"

],

"region":"ID",

"reverse_shipping_fee":0,

"ship_by_date":0,

"update_time":1685944418

}

]

}

샘플2: pending_terms=KYC_PENDING, v2.order.get_order_detail에서의 응답:

{

"error": "",

"message": "",

"request_id": "6d80e40c11f8f854b6687b3996b27c20",

"response": {

"order_list": [

{

…………

"order_sn": "230606MU6CG0QU",

"order_status": "PENDING",

"pending_terms":[

"KYC_PENDING"

],

"region":"TW",

"shipping_carrier": "蝦皮海外 - OK MART(海運)",

"update_time": 1686017238

}

]

}

관련 API:

v2.order.get_order_detail

v2.order.get_order_list

4.FAQs

Q1. order_status_push는 현재 어떻게 동작하나요?

A: 현재는 주문 상태가 “pending”으로 업데이트되면 API 요청이 새로운 로직으로 전환되었는지 여부와는 관계없이 더 이상 푸시 메시지가 전송되지 않습니다.하지만 앞으로는 주문 상태가 “pending”으로 업데이트될 때 푸시 메시지를 지원할 계획이며, 구체적인 일정은 이후 오픈 플랫폼 공지로 업데이트 드릴 예정입니다.

Q2. "pending_terms" 필드에 SYSTEM_PENDING과 KYC_PENDING 둘 다 반환될 수 있나요?

A: 아니요, 동일한 주문건 내에서는 한번에 둘 중 하나만 반환됩니다.유효 날짜: Live (현재 시행 중)

#