###京东
####领券
- 页面:
https://a.jd.com/
- 标示:
$(".quan-sk-item")
和$(".quan-item")
可获取优惠券element - 操作:(登录状态下)
- 找到券的
data-key
- 发送Get请求到
https://a.jd.com/ajax/freeGetCoupon.html?key={data-key}
- 如果抢券成功,会获得以下Response:
{"value":999,"desc":"领取成功!感谢您的参与,祝您购物愉快~"}
- 如果抢券失败,会获得以下Response:
{"value":17,"desc":"此券已经被领完了,下次记得早点来哟~"}
- 找到券的
data-linkurl
,相应值即为可用商品的链接
####加入购物车
- 直接访问页面:
https://cart.jd.com/gate.action?pid=11222195748&pcount=1&ptype=1
pcount代表数量 ptype代表产品类型
####获取订单信息
- 直接访问页面:
https://trade.jd.com/shopping/order/getOrderInfo.action
####订单页面获取可用优惠券
- 请求地址:
https://trade.jd.com/shopping/dynamic/coupon/getCoupons.action
####选择优惠券并下单
- 页面:
https://trade.jd.com/shopping/order/getOrderInfo.action
- 标示:
$('.coupon-enable .coupon-item')
可获取可用优惠券list - 操作:(登录状态下,确保已经设置默认地址,默认发票等信息)
- 选择优惠券(可用优惠券列表中的第一个元素,应该为系统自动推荐的优惠券,待确认)
- 找到该优惠券元素内部onclick事件,执行该事件,即可选中该优惠券
- 请求地址
http://trade.jd.com/shopping/order/submitOrder.action
即可下单 - 如果下单成功,会获得以下Response:
{"message":null,"resultCode":0,"pin":"mahaoxun","success":true,"needCheckCode":false,"addressVO":null,"orderId":49409527875,"submitSkuNum":1,"deductMoneyFlag":0,"goJumpOrderCenter":false,"payInfo":null,"orderXml":null,"cartXml":null,"noStockSkuIds":""}
- 如果下单失败,会获得以下Response:
{"message":"获取用户订单信息失败","resultCode":60077,"pin":"mahaoxun","success":false,"needCheckCode":false,"addressVO":null,"orderId":0,"submitSkuNum":0,"deductMoneyFlag":0,"goJumpOrderCenter":false,"payInfo":null,"orderXml":null,"cartXml":null,"noStockSkuIds":""}
####获取商品可用优惠券
- 页面:
https://cd.jd.com/coupons?skuId=3278437&cat=737,752,755&venderId=1000005515
- 标示:
- 商品页面有个js对象
pageConfig
,其中product
属性包含了所需要的几个id。 $('.sku_coupon_item')
获取到所有未领取的可用优惠券,$('.current_sku_coupon_item')
获取到所有已领取的可用优惠券
####商品页面领取可用优惠券
- 地址:
https://cd.jd.com/coupon/active?skuId=3278437&cat=737%2C752%2C755&venderId=1000005515&roleId=5340761&key=39e28bea74314e63a11a2f7620be196b&couponBatchId=&answer=&content=
- 标示:roldID, key 可以在每个优惠券元素内隐藏input中获取到,其他字段传空值即可,但必须要提供字段名称
- 操作:
- 如果请求成功,得到以下Response:
{"resultCode":999,"desc":"领取成功!感谢您的参与,祝您购物愉快~"}
- 如果请求失败,得到以下Response:
{"resultCode":15,"desc":"您今天已经参加过此活动,别太贪心哟,明天再来~"}
###华为
####添加购物车
- 地址:
http://cart.vmall.com/cart/add.json?sbs=762843846&type=1&qty=1&ess=
- 标示:sbs即商品sku,通过页面js方法
ec.product.getSku()
获取,type传1,其用处未知,尝试传其他值均无法成功添加,qty为商品数量,ess未知,传空即可 - 操作:
1. 如果请求成功,得到以下Response(即购物车内商品json数据):
{"cart":[{"bundleId":762843846,"productType":"2","quantity":3},{"productType":"1","quantity":1,"skuId":561279530},{"productType":"1","quantity":8,"skuId":762843846},{"productType":"1","quantity":1,"skuId":404829856}],"success":true}
####订单详情
- 提交表单:
<form action="http://www.vmall.com/order/confirmcart" method="post">
<input name="sbs" type="hidden" value="762843846"> <!--一件商品-->
<input name="types" type="hidden" value="1"> <!--类型,目前已知的值为1,传其他值不行-->
<input name="qtys" type="hidden" value="1"> <!--商品数量-->
<input name="ess" type="hidden" value=""> <!--未知字段-->
<input name="state" type="hidden" value="1"> <!--未知字段,传1即可-->
</form>
<form action="http://www.vmall.com/order/confirmcart" method="post">
<input name="sbs" type="hidden" value="762843846,825500270"> <!--多件商品*/-->
<input name="types" type="hidden" value="1,1">
<input name="qtys" type="hidden" value="1,1">
<input name="ess" type="hidden" value=",">
<input name="state" type="hidden" value="1">
</form>
####创建订单
- 提交表单:
<form id="order-confirm-form" action="/order/createcart" autocomplete="off" method="post">
<input name="consigneeAddressId" id="order-address" type="hidden" value="">
<input name="deliveryMethod" id="order-deliveryMethod" type="hidden" value="1">
<input name="paymentMethod" id="order-paymentMethod" type="hidden" value="">
<input name="paymentType" id="order-paymentType" type="hidden" value="">
<input name="invoiceTitle" id="order-invoiceTitle" type="hidden" value="个人">
<input name="titleType" id="order-titleType" type="hidden" value="50">
<input name="custMessage" id="order-custMessage" type="hidden">
<input name="couponCode" id="order-couponCode" type="hidden">
<input name="activityId" id="order-activityId" type="hidden" value="">
<input name="state" id="order-state" type="hidden" value="1">
<input name="paramExtra" id="order-paramExtra" type="hidden" value="">
<input name="skuIds" type="hidden" value="762843846"> <!--多件商品,需要创建多个skuIds的hidden input-->
<input name="skuIds" type="hidden" value="825500270">
<input name="answer" id="answer" type="hidden">
<input name="petalNumber" id="order-huaban" type="hidden">
<input name="couponCodeNumber" id="couponCodeNumber" type="hidden" value=""><!-- 团购所需参数 -->
<input id="orderTag" name="orderTag" type="hidden" value="">
<input name="UIDesignID" type="hidden" value="">
<input name="sbs" type="hidden" value="762843846,825500270">
<input name="types" type="hidden" value="1,1">
<input name="qtys" type="hidden" value="1,1">
<input name="css" type="hidden" value="">
<input name="ess" type="hidden" value=",">
<input name="ass" type="hidden" value="">
<input name="orderNote" id="order-note" type="hidden">
<input name="wareHouseId" id="wareHouseId" type="hidden" value="1">
<input type="hidden" name="_sf" value="69f3d09b71876f34797f8a93c14bbcf3"> <!--未知字段,cookie中没有,可以尝试传固定值-->
<input name="usePointFlag" id="usePointFlag" type="hidden" value="false">
<input name="usePetalFlag" id="usePetalFlag" type="hidden" value="false">
<input name="vatInvoiceJson" id="order-vatInvoiceJson" type="hidden">
<input name="vatInvoiceKey" id="order-vatInvoiceKey" type="hidden">
<input name="vatInvoiceDeliveryJson" id="order-vatInvoiceDeliveryJson" type="hidden">
<input name="vatInvoiceDeliveryKey" id="order-vatInvoiceDeliveryKey" type="hidden">
<input name="enableElectronicInvoice" id="enableElectronicInvoice" type="hidden" value="true">
<input name="enableVatInvoice" id="enableVatInvoice" type="hidden" value="true">
</form>