创建客户发货单接口

一. 获取预置信息

预置信息中, 只有发货批次ID是每天变动的, 其他基本不变, 不用每次都获取.

1.1 获取起始仓, 目的仓ID

/client/Warehouse/Client-Use-Warehouse 

1.2 获取发货批次ID

/client/Warehouse-Dispatch-Freight/Get-Closest-Freight

1.3 获取Vat Id (可选)

/client/Client-Dispatch-Vat-Number

1.4 获取地址簿 (可选)

/client/Address-Book

二. 批量创建客户发货单

url

http://test.birdsystem.com/client/Client-Dispatch-Upload/Client-Dispatch-Json

method

post

body

[
    {
        "warehouse_id_origination": "80",
        "warehouse_id_destination": "1",
        "final_freight_method": "AIR",
        "warehouse_dispatch_freight_id": "221",
        "delivery_time": "2015-07-31",
        "is_use_whole_warehouse_dispatch_freight": "0",
        "client_dispatch_delivery_type_code": "01",
        "client_vat_number_id": "505",
        "reference": "",
        "delivery_reference": "",
        "type": "NORMAL",
        "client_dispatch_final_address_contact": "howard",
        "client_dispatch_final_address_business_name": "Birdsystem",
        "final_address_line1": "320 Regent Street",
        "final_address_line2": "",
        "final_address_line3": "",
        "client_dispatch_final_address_city": "London",
        "client_dispatch_final_address_county": "",
        "client_dispatch_final_address_post_code": "W1B 3BB",
        "client_dispatch_final_address_country_iso": "GB",
        "client_dispatch_final_address_telephone": "6666 6666 666",
        "client_dispatch_final_address_email": "",
        "shipping_agent_id": "1",
        "shipping_agent_delivery_reference": "aabb",
        "shipping_agent_note": "aabb",
        "note": "",
        "client_dispatch_container_product_list": [
            {
                "client_dispatch_container_reference": "1",
                "client_dispatch_container_type_code": "BIG",
                "client_dispatch_container_weight": "3000",
                "product_id": "499235",
                "quantity": "10"
            },
            {
                "client_dispatch_container_reference": "1",
                "client_dispatch_container_type_code": "BIG",
                "client_dispatch_container_weight": "3000",
                "product_id": "499235",
                "quantity": "10"
            },
            {
                "client_dispatch_container_reference": "2",
                "client_dispatch_container_type_code": "BIG",
                "client_dispatch_container_weight": "3000",
                "product_id": "499235",
                "quantity": "10"
            }
        ]
    }
]

返回

{"success":true,"message":null,"data":["8288","8289"]}

参数

FieldComment
warehouse_id_origination起始仓id, 通过/client/Warehouse/Client-Use-Warehouse获取  
(当type为DIRECT的时候时,这个字段不用填,始终跟warehouse_id_destination一致,当type为SPONTANEOUS和WAREHOUSE_TRANSFER时,选填,不填则跟warehouse_id_destination一致,其余情况必填)
warehouse_id_destination目的仓id, 同上
is_use_whole_warehouse_dispatch_freight是否包柜
warehouse_dispatch_freight_id

发货批次, 通过/client/Warehouse-Dispatch-Freight/Get-Closest-Freight获取

[参数:delivery_time, final_freight_method, warehouse_id_origination, warehouse_id_destination,is_use_whole_freight,type]

上面几个参数的解释: 货到头程仓时间, 最终运输方式, 起始仓,目的仓,是否包柜,发货单类型

(当发货单的类型type为'SPONTANEOUS','CLIENT_TRANSFER','DIRECT','WAREHOUSE_TRANSFER'时,这个字段为空, 其余情况必填)

client_dispatch_delivery_type_code

到仓调度类型, code值请看/client/Client-Dispatch-Delivery-Type 
如果到仓调度类型的列is_delivery_to_warehouse为0, 则发货单需要填写最终发货地址的联系人, 国家.  

client_vat_number_id客户vat账号id, 通过/client/Client-Dispatch-Vat-Number获取 
client_dispatch_container_type_code客户发货箱类型, code值请看 /client/Client-Dispatch-Container-Type
final_address_*如果有预存的地址薄可以通过/client/Address-Book获取[参数:type], 也可以通过这个地址维护地址薄
shipping_agent_id

客户发货到仓库的方式, 可以通过/client/Shipping-Agent/列表来获取

目前shipping_agent_id取值可以为1,2,3,4四个数字,且不同数字时有不同的附加字段.如下:
1:快递发货
附加参数: 
shipping_agent_property_1: 快递公司, 选填 
shipping_agent_property_2: 体积(m3), 选填
shipping_agent_property_3: 重量(kg), 选填
shipping_agent_property_35: 发货时间(yyyy-mm-dd hh:ii:ss), 选填

2:飞鸟提货
附加参数: 
shipping_agent_property_4: 发货人及电话, 必填 
shipping_agent_property_5: 提货时间(yyyy-mm-dd hh:ii:ss), 必填
shipping_agent_property_6: 体积(m3), 必填
shipping_agent_property_37: 提货时间段, 必填 
shipping_agent_property_38: 重量(kg), 必填

3: 客户自送
附加参数: 
shipping_agent_property_7: 发货人及电话, 必填 
shipping_agent_property_8: 车牌号, 选填
shipping_agent_property_9: 发货时间(yyyy-mm-dd hh:ii:ss), 选填
shipping_agent_property_10: 体积(m3), 选填

4: 物流发货
附加参数: 
shipping_agent_property_11: 物流公司, 选填 
shipping_agent_property_12: 体积(m3), 选填
shipping_agent_property_13: 重量(kg), 选填
shipping_agent_property_36: 发货时间(yyyy-mm-dd hh:ii:ss), 选填

shipping_agent_delivery_reference客户发货到仓库时, 用于参考的跟踪号信息
shipping_agent_note客户发货到仓库时的备注信息
type'NORMAL','TRANSFER','SPONTANEOUS','CLIENT_TRANSFER','DIRECT','WAREHOUSE_TRANSFER'其中之一
confirmed

是否同意系统自动切换物流计划, 默认为0,还可取值 1, 2

0是表示系统直接返回提示: 是否更换物流计划

1是表示允许系统自动更换

2是表示不允许系统自动更换.

三. 修改发货单状态

参数为CLIENT_DISPATCHED

post 地址: http://test.birdsystem.com/client/Client-Dispatch/Update-Status

批量修改客户发货单状态

参数

ids客户发货单ID, 用'_'隔开*

1_2_3

status状态
'CLIENT_DISPATCHED', 'PREPARING', 'DELETED'
confirmed是否接受系统自动优化
默认为0,
0是询问, 见本文 后面的 “关于发货模式和物流计划优化
1是接受系统自动优化
2是不需要系统自动优化
详细解释见末尾的 发货模式优化


大部分情况下, 修改成功会返回

{"success":true,"refresh":false,"moduleName":"admin"}

在confirmed参数为0或者不传的情况下,  假如碰到有可优化的物流计划, 会返回如下错误信息: 

{"success":true,"need_confirm":1,"message":"You can use the better price frieght, would you use it?","moduleName":"admin"}

这是因为系统会根据发货单下各产品的海关属性, 以及所选的发货模式 (是否带电),到货时间,物流计划  做一轮检查 ,  如果有更适合的物流计划, 会提示是否要允许自动优化

(这种情况通常出现在: 选了带电的发货模式和物流计划,但产品并没有带电的情况下 )

 出现这种情况 ,需要在修改发货单状态的请求中加上comfirmed参数,值为1或者2 (见表格中的描述) , 以便系统作出正确的响应。


完成