POST Api/Service/Monitor/AddCrawlData/{DataSource}
添加抓取数据
Request Information
URI Parameters
| Name | Description | Type | Additional information |
|---|---|---|---|
| DataSource |
数据来源 |
string |
Required |
Body Parameters
数据模型
SpeedPower.Utility.Models.Service.Crawls.Service.SotaRouteBody| Name | Description | Type | Additional information |
|---|---|---|---|
| Departure |
出发地(城市码或机场码) |
string |
Required String length: inclusive between 0 and 3 |
| Arrival |
到达地(城市码或机场码) |
string |
Required String length: inclusive between 0 and 3 |
| Date |
出发日期 |
date |
None. |
| SotaSegments |
单程航班集合 |
Collection of SpeedPower.Utility.Models.Service.Crawls.Service.SotaSegmentBody |
Required |
Request Formats
application/json, text/json
Sample:
{
"Departure": "sample string 1",
"Arrival": "sample string 2",
"Date": "2025-12-15T18:03:56.8829829+08:00",
"SotaSegments": [
{
"Carrier": "sample string 1",
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureDate": "2025-12-15T18:03:56.8829829+08:00",
"ArrivalDate": "2025-12-15T18:03:56.8829829+08:00",
"FlightNo": "sample string 6",
"StopTimes": 7,
"CodeShare": true,
"ShareToFlightNo": "sample string 9",
"Meal": "sample string 10",
"PlaneType": "sample string 11",
"DepartureTerminal": "sample string 12",
"ArrivalTerminal": "sample string 13",
"SotaCabins": [
{
"CabinLevel": 0,
"CabinName": "sample string 1",
"CabinCode": "sample string 2",
"CabinStatus": 3,
"CabinQuota": 4,
"PrintPrice": 5,
"AdultPrice": 6,
"ChildPrice": 7,
"BabyPrice": 8,
"FareTax": 9,
"FuelTax": 10,
"CabinRule": "sample string 11",
"RefundRule": "sample string 12",
"ChangeRule": "sample string 13",
"ModifyRule": "sample string 14"
},
{
"CabinLevel": 0,
"CabinName": "sample string 1",
"CabinCode": "sample string 2",
"CabinStatus": 3,
"CabinQuota": 4,
"PrintPrice": 5,
"AdultPrice": 6,
"ChildPrice": 7,
"BabyPrice": 8,
"FareTax": 9,
"FuelTax": 10,
"CabinRule": "sample string 11",
"RefundRule": "sample string 12",
"ChangeRule": "sample string 13",
"ModifyRule": "sample string 14"
}
],
"SotaStops": [
{
"Sequence": 1,
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureTime": "sample string 4",
"ArrivalTime": "sample string 5",
"DepartureTerminal": "sample string 6",
"ArrivalTerminal": "sample string 7"
},
{
"Sequence": 1,
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureTime": "sample string 4",
"ArrivalTime": "sample string 5",
"DepartureTerminal": "sample string 6",
"ArrivalTerminal": "sample string 7"
}
]
},
{
"Carrier": "sample string 1",
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureDate": "2025-12-15T18:03:56.8829829+08:00",
"ArrivalDate": "2025-12-15T18:03:56.8829829+08:00",
"FlightNo": "sample string 6",
"StopTimes": 7,
"CodeShare": true,
"ShareToFlightNo": "sample string 9",
"Meal": "sample string 10",
"PlaneType": "sample string 11",
"DepartureTerminal": "sample string 12",
"ArrivalTerminal": "sample string 13",
"SotaCabins": [
{
"CabinLevel": 0,
"CabinName": "sample string 1",
"CabinCode": "sample string 2",
"CabinStatus": 3,
"CabinQuota": 4,
"PrintPrice": 5,
"AdultPrice": 6,
"ChildPrice": 7,
"BabyPrice": 8,
"FareTax": 9,
"FuelTax": 10,
"CabinRule": "sample string 11",
"RefundRule": "sample string 12",
"ChangeRule": "sample string 13",
"ModifyRule": "sample string 14"
},
{
"CabinLevel": 0,
"CabinName": "sample string 1",
"CabinCode": "sample string 2",
"CabinStatus": 3,
"CabinQuota": 4,
"PrintPrice": 5,
"AdultPrice": 6,
"ChildPrice": 7,
"BabyPrice": 8,
"FareTax": 9,
"FuelTax": 10,
"CabinRule": "sample string 11",
"RefundRule": "sample string 12",
"ChangeRule": "sample string 13",
"ModifyRule": "sample string 14"
}
],
"SotaStops": [
{
"Sequence": 1,
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureTime": "sample string 4",
"ArrivalTime": "sample string 5",
"DepartureTerminal": "sample string 6",
"ArrivalTerminal": "sample string 7"
},
{
"Sequence": 1,
"DepartureAirport": "sample string 2",
"ArrivalAirport": "sample string 3",
"DepartureTime": "sample string 4",
"ArrivalTime": "sample string 5",
"DepartureTerminal": "sample string 6",
"ArrivalTerminal": "sample string 7"
}
]
}
]
}
multipart/form-data
Sample:
--MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Departure" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Arrival" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Date" 2025-12-15T18:03:56.8829829+08:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].Carrier" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].DepartureDate" 2025-12-15T18:03:56.8829829+08:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].ArrivalDate" 2025-12-15T18:03:56.8829829+08:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].FlightNo" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].StopTimes" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].CodeShare" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].ShareToFlightNo" sample string 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].Meal" sample string 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].PlaneType" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].DepartureTerminal" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].ArrivalTerminal" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinLevel" F --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinName" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinCode" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinStatus" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinQuota" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].PrintPrice" 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].AdultPrice" 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].ChildPrice" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].BabyPrice" 8 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].FareTax" 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].FuelTax" 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].CabinRule" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].RefundRule" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].ChangeRule" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[0].ModifyRule" sample string 14 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinLevel" F --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinName" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinCode" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinStatus" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinQuota" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].PrintPrice" 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].AdultPrice" 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].ChildPrice" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].BabyPrice" 8 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].FareTax" 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].FuelTax" 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].CabinRule" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].RefundRule" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].ChangeRule" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaCabins[1].ModifyRule" sample string 14 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].Sequence" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].DepartureTime" sample string 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].ArrivalTime" sample string 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].DepartureTerminal" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[0].ArrivalTerminal" sample string 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].Sequence" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].DepartureTime" sample string 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].ArrivalTime" sample string 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].DepartureTerminal" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[0].SotaStops[1].ArrivalTerminal" sample string 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].Carrier" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].DepartureDate" 2025-12-15T18:03:56.8829829+08:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].ArrivalDate" 2025-12-15T18:03:56.8829829+08:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].FlightNo" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].StopTimes" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].CodeShare" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].ShareToFlightNo" sample string 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].Meal" sample string 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].PlaneType" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].DepartureTerminal" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].ArrivalTerminal" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinLevel" F --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinName" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinCode" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinStatus" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinQuota" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].PrintPrice" 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].AdultPrice" 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].ChildPrice" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].BabyPrice" 8 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].FareTax" 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].FuelTax" 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].CabinRule" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].RefundRule" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].ChangeRule" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[0].ModifyRule" sample string 14 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinLevel" F --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinName" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinCode" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinStatus" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinQuota" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].PrintPrice" 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].AdultPrice" 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].ChildPrice" 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].BabyPrice" 8 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].FareTax" 9 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].FuelTax" 10 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].CabinRule" sample string 11 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].RefundRule" sample string 12 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].ChangeRule" sample string 13 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaCabins[1].ModifyRule" sample string 14 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].Sequence" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].DepartureTime" sample string 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].ArrivalTime" sample string 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].DepartureTerminal" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[0].ArrivalTerminal" sample string 7 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].Sequence" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].DepartureAirport" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].ArrivalAirport" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].DepartureTime" sample string 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].ArrivalTime" sample string 5 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].DepartureTerminal" sample string 6 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="SotaSegments[1].SotaStops[1].ArrivalTerminal" sample string 7 --MultipartDataMediaFormatterBoundary1q2w3e--
Response Information
Resource Description
添加抓取数据
SpeedPower.Utility.Models.Helper.ResultMessage| Name | Description | Type | Additional information |
|---|---|---|---|
| Succeed |
操作是否成功 |
boolean |
None. |
| Message |
操作消息 |
string |
None. |
Response Formats
application/json, text/json
Sample:
{
"Succeed": true,
"Message": "sample string 2"
}
multipart/form-data
Sample:
--MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Succeed" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Message" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e--