sicepat method
Implementation
Future<scheme.DeliveryData> sicepat({
String resiId = "005208225151",
}) async {
String urlApi = "https://content-main-api-production.sicepat.com";
// "https://content-main-api-production.sicepat.com/public/check-awb/005208225151";
http.Response response = await http.get(
Uri.parse(urlApi).replace(path: "/public/check-awb/${resiId.toString()}"),
headers: {
"Accept": "application/json, text/plain, */*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,id;q=0.8",
"Referer": "https://www.sicepat.com/",
"Sec-Ch-Ua":
"\"Google Chrome\";v=\"113\", \"Chromium\";v=\"113\", \"Not-A.Brand\";v=\"24\"",
"Sec-Ch-Ua-Mobile": "?0",
// "Sec-Ch-Ua-Platform": "\"Linux\"",
// "Sec-Fetch-Dest": "empty",
// "Sec-Fetch-Mode": "cors",
// "Sec-Fetch-Site": "same-site",
"User-Agent":
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
},
);
Map jsonBodyRaw = () {
try {
return json.decode(response.body);
} catch (e) {}
return {};
}.call();
if (response.statusCode != 200) {
return scheme.DeliveryData({
"@type": "error",
"message": "",
"description": "",
});
}
scheme_raw.SicepatRawData sicepatRawData =
scheme_raw.SicepatRawData(jsonBodyRaw);
scheme_raw.SicepatData sicepatData = sicepatRawData.sicepat.result;
List<scheme_raw.SicepatDataTrackHistory> sicepat_track_history =
sicepatData.track_history;
List<Map> jsonDataTrackHistory = sicepat_track_history
.map((scheme_raw.SicepatDataTrackHistory sicepatDataTrackHistory) {
Map jsonData = {
"@type": "trackHistoryData",
"date": sicepatDataTrackHistory.date_time ?? "",
"status": sicepatDataTrackHistory.status ?? "",
"message": sicepatDataTrackHistory.city ?? "",
};
return jsonData;
}).toList();
Map jsonData = {
"@type": "sicepatData",
"id": sicepatData.waybill_number,
"sender": {
"@type": "senderData",
"name": sicepatData.sender,
"address": sicepatData.sender_address,
},
"receiver": {
"@type": "receiverData",
"name": sicepatData.receiver_name,
"address": sicepatData.receiver_address,
},
"service": sicepatData.service,
"weight": sicepatData.weight,
"platform": sicepatData.partner,
"send_date": sicepatData.send_date,
"real_price": sicepatData.realprice,
"total_price": sicepatData.totalprice,
"track_history": jsonDataTrackHistory,
};
return scheme.DeliveryData(jsonData);
}