-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtrack-LanLan.sh
executable file
·135 lines (128 loc) · 15 KB
/
track-LanLan.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash
git pull
: > track-LanLan-usItemId-CO.txt
: > track-LanLan-priceValue-CO.txt
: > track-LanLan-fullName-CO.txt
: > track-LanLan-address-CO.txt
: > track-LanLan-status-CO.txt
: > track-LanLan-number-CO.txt
: > track-LanLan-url-CO.txt
: > track-LanLan-OrderID-CO.txt
: > track-LanLan-email-CO.txt
: > track-LanLan-categoriesType-CO.txt
while read line
do
array=(${line//|/ })
while true
do
curl=`curl -s 'https://www.walmart.com/orchestra/home/graphql' \
-H 'authority: www.walmart.com' \
-H 'sec-ch-ua: " Not;A Brand";v="99", "Microsoft Edge";v="97", "Chromium";v="97"' \
-H 'x-o-platform: rweb' \
-H 'dnt: 1' \
-H 'x-o-correlation-id: pn9BnlEx0zDiyvRGJ6nL5BS9pDN7erB017Nf' \
-H 'device_profile_ref_id: E75qSsFMPUgfUnNtpgnTkFKD0ikbbLGTuMXJ' \
-H 'x-latency-trace: 1' \
-H 'wm_mp: true' \
-H 'x-o-market: us' \
-H 'x-o-platform-version: main-347-5e3156' \
-H 'x-o-gql-query: query getGuestOrder' \
-H 'wm_page_url: https://www.walmart.com/orders' \
-H 'x-apollo-operation-name: getGuestOrder' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/110.0.1587.63' \
-H 'x-o-segment: oaoh' \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-H 'x-enable-server-timing: 1' \
-H 'x-o-ccm: server' \
-H 'wm_qos.correlation_id: pn9BnlEx0zDiyvRGJ6nL5BS9pDN7erB017Nf' \
-H 'origin: https://www.walmart.com' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-dest: empty' \
-H 'referer: https://www.walmart.com/orders' \
-H 'accept-language: vi' \
--data-raw $'{"query":"query getGuestOrder($orderId:ID\u0021 $emailAddress:String\u0021){guestOrder(input:{id:$orderId emailAddress:$emailAddress}){...OrderFieldsFragment}}fragment cancelReason on OrderCancelReason{__typename subReasonCode subDescription}fragment priceDetailFragment on OrderPriceDetailRow{label value displayValue info{title message}rowInfo{...orderPriceDetailRowInfo}}fragment orderPriceDetailRowInfo on OrderPriceDetailRowInfo{title message{...textFragment}}fragment price on Price{displayValue value}fragment variants on MapEntry{name value}fragment OrderAddOn on OrderAddOn{lineId uniqueLineId productInfo{name usItemId offerId}quantityString quantityLabel type fulfillmentInstructions{...textFragment}actions{manageProtectionPlan{...orderActionFragment}cancel}priceInfo{linePrice{...price}}quantity isActive}fragment orderDonationDetails on OrderDonationDetails{message{...textFragment}emailReceipt emailReceiptToken status{...textFragment}errorStatus}fragment orderLineItem on OrderLineItem{id uniqueId actions{contactSeller cancel addToCart configureCake reviewItem resendEGiftCardToken protectionPlan{...orderActionFragment}manageProtectionPlan{...orderActionFragment}}isGift digitalDeliveryMessage quantity quantityString quantityLabel isSubstitutionSelected fulfilledItems{id quantityString priceInfo{itemPrice{value}}productInfo{usItemId name}}isReturnable returnEligibilityMessage productInfo{name usItemId imageInfo{thumbnailUrl}canonicalUrl offerId orderLimit orderMinLimit weightIncrement salesUnit salesUnitType isSubstitutionEligible isAlcohol}reshop{reshopMessage isShippingAvailable minPromiseDate maxPromiseDate}selectedVariants{...variants}variantAdditionalInfo{parts{text nativeAction}}priceInfo{priceDisplayCodes{showItemPrice priceDisplayCondition finalCostByWeight}itemPrice{...price}linePrice{...price}unitPrice{...price}preDiscountedLinePrice{...price}additionalLines{name value}}discounts{label labelText{...textFragment}}itemReviewed activationCodes{label code}protectionPlanMessage{...textFragment}showSeller isShippedByWalmart seller{id name isPro}digitalDeliveryPhoneNumber addOns{...OrderAddOn}multiboxBundleId}fragment DriverFragment on Driver{id firstName photoUrl}fragment OrderGroupFragment on OrderGroup{driver{...DriverFragment}deliveryDate fulfillmentType status{...OrderGroupStatusFragment}showSeller isShippedByWalmart seller{...SellerFragment}id itemCount items{...LiteLineItemFragment}pickupPerson{firstName lastName email}accessPointId shipment{...ShipmentFragment}returnEligibilityMessage actions{...OrderGroupActionsFragment}recipientEmailAddress digitalDelivery{...DigitalDeliveryFragment}tireInstallationReservation{status extraText reservationId}}fragment OrderGroupStatusFragment on OrderGroupStatus{statusType showStatusTracker statusTracker{status label isCurrent}message{...textFragment}subtext subMessage{...textFragment}notice helpCenterText{...textFragment}}fragment textFragment on Text{parts{bold url text nativeAction lineBreak}}fragment LiteLineItemFragment on OrderLineItem{id quantity productInfo{name usItemId imageInfo{thumbnailUrl}offerId isAlcohol}priceInfo{linePrice{...price}}}fragment SellerFragment on GroupSeller{id name isPro}fragment DigitalDeliveryFragment on DigitalDelivery{title name instructions{...textFragment}}fragment ShipmentFragment on Shipment{id trackingNumber isExternalTracking trackingUrl proofOfDelivery{...ProofOfDeliveryFragment}}fragment OrderGroupActionsFragment on OrderGroupActions{reorder edit track changeSlot checkin editDeliveryInstructions editPickupPerson editTip tip rateDriver cancel enableTip{...orderActionFragment}enableEdit{...orderActionFragment}rescheduleTireInstall{...orderActionFragment}cancelTireInstall{...orderActionFragment}help viewCancellationDetails{...cancellationDetailsActionFragment}}fragment cancellationDetailsActionFragment on CancellationDetailsAction{label heading text{...textFragment}}fragment ProofOfDeliveryFragment on ProofOfDelivery{photoUrl photoPreviewUrl showPreview}fragment DeliveryInstructionsFragment on DeliveryInstructions{text type typeText}fragment GiftDetailsFragment on GiftDetails{recipientAddress{fullName}recipientEmail senderName giftMessage}fragment SubstitutionAction on SubstitutionAction{message label type}fragment ODPGroupCategoryFragment on OrderCategory{type name subtext returnMessage substitutionsBanner{...textFragment}showExtendedSubstitutions actions{substitutions{...SubstitutionAction}nilPickReshop{message action{text url}}returnDetails viewCancellationDetails{...cancellationDetailsActionFragment}trackOnInHomeApp}banner{...textFragment}accordionState items{...orderLineItem}substitutions{...orderLineItem fulfilledItems{...orderLineItem}}returnInfo{...returnInfoFragment}}fragment ODPGroupFragment on OrderGroup{id fulfillmentType deliveryMessage deliveryAddress{fullName firstName lastName address{...addressFragment}}deliveryInstructions{...DeliveryInstructionsFragment}deliveryPreferences{text{...textFragment}cta{...orderActionFragment}}editSubstitutionsCutOff status{statusType showStatusTracker message{...textFragment}notice helpCenterText{...textFragment}}itemCount isCategorized categories{...ODPGroupCategoryFragment}seller{id name isPro}shipment{id trackingNumber}actions{reorder edit track changeSlot checkin editDeliveryInstructions editPickupPerson tip cancel help enableTip{...orderActionFragment}enableEdit{...orderActionFragment}viewCancellationDetails{...cancellationDetailsActionFragment}enableInHome{...orderActionFragment}createGiftReceipt}cutOffTimestamp isEditSubstitutionsEligible isInHome giftDetails{...GiftDetailsFragment}donationDetails{...orderDonationDetails}}fragment returnInfoFragment on ReturnInfo{returnOrderId type refundPriceDetails{__typename...refundPriceDetailsFragment}refundMessage tierRefundMessage paymentMethods{__typename description cardType paymentType displayValues message{...textFragment}}actions{__typename generate scheduleOrModifyPickup{text url}reschedulePickup editPickupContact}shippingLabelUrl qrCodeImageUrl carriers{__typename id name}pickupCarrier pickupContact{nameAndAddress{fullName firstName lastName address{addressString city state postalCode addressLineOne addressLineTwo country}}phone}pickupConfirmationNumber bannerMessage{...textFragment}}fragment refundPriceDetailsFragment on RefundPriceDetails{subTotal{__typename...orderPriceDetailRowFragment}fees{__typename...orderPriceDetailRowFragment}discounts{__typename...orderPriceDetailRowFragment}taxTotal{__typename...orderPriceDetailRowFragment}grandTotal{__typename...orderPriceDetailRowFragment}}fragment orderPriceDetailRowFragment on OrderPriceDetailRow{label displayValue value info{__typename title message}}fragment addressFragment on OrderAddress{addressString addressLineOne addressLineTwo state postalCode city}fragment ODPPickupInfo on OrderGroup{pickupInstructions pickupPerson{...person}alternatePickupPerson{...person}store{id name address{...addressFragment}}}fragment person on OrderPickupPerson{firstName lastName email}fragment ODPTippingInfo on OrderGroup{addTipMessage{...textFragment}driver{...DriverFragment}tipping{min{...price}max{...price}suggested{...price}preselected}subtotal{...price}}fragment orderActionFragment on Action{text url}fragment orderCustomer on OrderCustomer{id firstName lastName email isGuest isEmailRegistered}fragment OrderFieldsFragment on Order{__typename id version type customer{...orderCustomer}displayId idBarcodeImageUrl(barWidth:3 barHeight:100) isFuelPurchase title shortTitle timezone tippableGroup{...OrderGroupFragment}amendableGroup{id changeSlotIterationsLeft cutOffTimestamp fulfillmentType deliveryAddress{fullName firstName lastName address{addressString addressLineOne addressLineTwo state postalCode city country}}isAmendInProgress}substitutionsBanner{heading subheading longSubheading}groups_2101{__typename...OrderGroupFragment...ODPGroupFragment...ODPPickupInfo...ODPTippingInfo}multiboxBundles{...orderLineItem}itemCancelReasons{__typename...cancelReason}groupCancelReasons{__typename...cancelReason}priceDetails{__typename subTotal{__typename...priceDetailFragment}taxTotal{__typename...priceDetailFragment}grandTotal{__typename...priceDetailFragment}authorizationAmount{__typename...priceDetailFragment}fees{__typename...priceDetailFragment}discounts{__typename...priceDetailFragment}minimumThreshold{__typename...price}belowMinimumFee{__typename...priceDetailFragment}driverTip{__typename...priceDetailFragment}donations{__typename...priceDetailFragment}}paymentMethods{__typename description cardType paymentType displayValues message{...textFragment}actions{connectToCapitalOne{...orderActionFragment}visitAffirm{...orderActionFragment}}}actions{__typename return pendingReturn cancel startReturn{...orderActionFragment}reorder}banners{...textFragment}}","variables":{"orderId":"'${array[2]}'","emailAddress":"'${array[1]}'"}}' \
--compressed`
if [[ $curl =~ "blocked" ]]; then
link=`echo $curl | jq '.redirectUrl' | sed 's/"//g'`
`open -n -a /Applications/Microsoft\ Edge.app --args --profile-directory=Default https://walmart.com$link`
echo 'Exit'
sleep 5
exit 1
else
break
fi
done
if [[ $curl =~ "error" ]]; then
echo "1-Sai info"
echo ${array[2]} >> track-LanLan-OrderID-CO.txt
echo ${array[1]} >> track-LanLan-email-CO.txt
echo "Sai info" >> track-LanLan-usItemId-CO.txt
echo "Sai info" >> track-LanLan-priceValue-CO.txt
echo "Sai info" >> track-LanLan-fullName-CO.txt
echo "Sai info" >> track-LanLan-address-CO.txt
echo "Sai info" >> track-LanLan-status-CO.txt
echo "Sai info" >> track-LanLan-number-CO.txt
echo "Sai info" >> track-LanLan-url-CO.txt
echo "Sai info" >> track-LanLan-categoriesType-CO.txt
else
sum=`md5 track-LanLan-OrderID-CO.txt`
for (( i=0; i<=4; i++ ))
do
for (( j=0; j<=4; j++))
do
if [[ `echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].items['${j[@]}'].productInfo.usItemId'` == '"'${array[3]}'"' ]]; then
echo ${array[2]} >> track-LanLan-OrderID-CO.txt
echo ${array[1]} >> track-LanLan-email-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].items['${j[@]}'].productInfo.usItemId' >> track-LanLan-usItemId-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].items['${j[@]}'].priceInfo.linePrice.value' >> track-LanLan-priceValue-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].deliveryAddress.fullName' >> track-LanLan-fullName-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].deliveryAddress.address.addressString' >> track-LanLan-address-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].status.message.parts[].text' >> track-LanLan-status-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].shipment.trackingNumber' | sed 's/null//g' >> track-LanLan-number-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].shipment.trackingUrl' | sed 's/null//g' >> track-LanLan-url-CO.txt
echo $curl | jq '.data.guestOrder.groups_2101['${i[@]}'].categories[].type' >> track-LanLan-categoriesType-CO.txt
break
fi
done
done
if [[ $sum == `md5 track-LanLan-OrderID-CO.txt` ]]; then
echo ${array[1]}"-Khác Item"
echo "'"${array[2]} >> track-LanLan-OrderID-CO.txt
echo ${array[1]} >> track-LanLan-email-CO.txt
echo "Khác Item" >> track-LanLan-usItemId-CO.txt
echo "Khác Item" >> track-LanLan-priceValue-CO.txt
echo "Khác Item" >> track-LanLan-fullName-CO.txt
echo "Khác Item" >> track-LanLan-address-CO.txt
echo "Khác Item" >> track-LanLan-status-CO.txt
echo "Khác Item" >> track-LanLan-number-CO.txt
echo "Khác Item" >> track-LanLan-url-CO.txt
echo "Khác Item" >> track-LanLan-categoriesType-CO.txt
else
echo ${array[0]}
fi
fi
done < track-LanLan.txt
git add -A .
git commit -m --allow-empty
git push
git push origin HEAD -f
gitCommit=`git rev-parse HEAD`
linkGit=`echo https://raw.githubusercontent.com/DungSherlock/eBay/`$gitCommit`echo /`
linkApi=`echo https://script.google.com/macros/s/AKfycbwG2KIKS_dzMYCDBuUcLV1W4k6-pARScW5-Arm94rz9Uo0axrvMde9ACLgYkHzqcOfEIg/exec?`
linkPost=$linkApi`echo ItemID==IMPORTDATA\(\"`$linkGit`echo track-LanLan-usItemId-CO.txt\"\)\&Gia==IMPORTDATA\(\"`$linkGit`echo track-LanLan-priceValue-CO.txt\"\)\
\&Ten==IMPORTDATA\(\"`$linkGit`echo track-LanLan-fullName-CO.txt\"\)\
\&DiaChi==index\(IMPORTDATA\(\"`$linkGit`echo track-LanLan-address-CO.txt\"\),,1\)\
\&Status==IMPORTDATA\(\"`$linkGit`echo track-LanLan-status-CO.txt\"\)\
\&TrackingNumber==IMPORTDATA\(\"`$linkGit`echo track-LanLan-number-CO.txt\"\)\
\&TrackingURL==IMPORTDATA\(\"`$linkGit`echo track-LanLan-url-CO.txt\"\)\
\&Email==IMPORTDATA\(\"`$linkGit`echo track-LanLan-email-CO.txt\"\)\
\&Order==IMPORTDATA\(\"`$linkGit`echo track-LanLan-OrderID-CO.txt\"\)\
\&categoriesType==IMPORTDATA\(\"`$linkGit`echo track-LanLan-categoriesType-CO.txt\"\)\
`
echo '[InternetShortcut]\
URL='$linkPost > track-LanLan.url
open track-LanLan.url