Onboarding Service Provider
No contexto do serviço de Tracking, um Service Provider é um provedor USS que é capaz de receber dos seus drones os dados de localização em tempo real, e disponibilizar esses dados on demand em uma API também em tempo real.
Pré-requisitos técnicos
Para um USS se tornar um provedor de Tracking existem os seguintes pré-requisitos técnicos que não estão no escopo dessa documentação, ficando a critério do provedor como implementar esses pré-requisitos:
- Possuir um servidor HTTP para solicitar e receber as requisições listadas abaixo
- Possuir infraestrutura para obter os dados de posição instantânea do drone. Esses dados devem estar disponíveis em tempo real no servidor HTTP
Autenticação
Para o ensaio, a autenticação será feita em um serviço OAuth centralizado do DECEA.
Endpoints
A dinâmica de comunicação entre Service Provider, Display Provider e DSS está descrita na norma ASTM 3411-22a. Para facilitar o entendimento, alguns possíveis cenários de utilização estão descritos na página Cenários.
O padrão seguido no ensaio será o descrito em https://github.com/uastech/standards/tree/astm_rid_api_2.1/remoteid
Conforme o padrão OpenAPI acima, os endpoints que o Service Provider precisará
GET | /uss/flights |
Query Parameters
view | Área da solicitação, representada por dois pontos no formato lat1,lng1,lat2,lng2 . Os pontos são as extremidades da diagonal de um quadrado, onde esse quadrado representa a área da solicitação |
29.978,31.132,29.980,31.135 |
recent_positions_duration |
Se for maior que zero, indica que a requisição deve enviar todas as posições do drone nos últimos N segundos. Valor máximo: 60. Se for zero, indica que deve ser enviado apenas a última posição do drone |
60 |
Response
{
"timestamp": {
"value": "1985-04-12T23:20:50.52Z",
"format": "RFC3339"
},
"flights": [
{
"id": "uss1.JA6kHYCcByQ-6AfU",
"aircraft_type": "Helicopter",
"current_state": RIDAircraftState,
"operating_area": OperatingArea,
"simulated": false,
"recent_positions" = [ RIDRecentAircraftPosition ]
}
],
"no_isas_present": false
}
timestamp | Horário em que o Service Provider recebeu a requisição |
flights.id |
ID único do provedor que identifica um voo em particular
|
flights.aircraft_type | Tipo de aeronave no padrão ICAO. Para drones, o tipo = Helicopter. Para drones de asa fixa que conseguem decolar verticalmente, o tipo = "HybridLift" |
flights.current_state | Dados do tracking de fato da aeronave, no momento atual. |
flights.operating_area | A área que a aeronave se encontra. Deve ser usado apenas quando o campo "flights.current_state" não está preenchido. |
flights.recent_positions | Lista de posições recentes da aeronave. Deve ser informado apenas quando as "recent_positions" foram requisitadas. |
no_isas_present | Indica se o provedor não possui nenhuma ISA na região informada. Caso esse valor retorne verdadeiro, o requisitante deve parar de realizar requisições para a área. |
GET | /uss/flights/{id}/details |
Path Parameters
id | ID único do provedor para identificar o voo | uss1.JA6kHYCcByQ-6AfU |
Response
{
"details": {
"id": "uss1.JA6kHYCcByQ-6AfU",
},
"uas_id": {
"registration_id": "PP-031101998",
},
"operator_id": "HUKMBB",
"operator_location": {
"position": {
"lng": -118.456,
"lat": 34.123
},
"altitude": {
"value": 19.5,
"reference": "W84",
"units": "M"
},
"altitude_type": "Takeoff"
},
"operation_description": "Descrição do voo, mesma descrição informada no SARPAS"
}
}
uas_id | Registro da aeronave no SISANT |
operator_id | Código SARPAS do operador |
operator_location | Localização do operador. Opcional |
operation_description | Descrição da Operação conforme solicitação no SARPAS |
GET | /uss/identification_service_areas/{id} |
Path Parameters
id | UUID da área possuída pelo provedor | UUID |
Response
{
"extents": {
"volume": {
"outline_circle": {
"center": {
"lng": -118.456,
"lat": 34.123
},
"radius": {
"value": 300.183,
"units": "M"
}
},
"outline_polygon": {
"vertices": [
{
"lng": -118.456,
"lat": 34.123
},
{
"lng": -118.456,
"lat": 34.123
},
{
"lng": -118.456,
"lat": 34.123
}
]
},
"altitude_lower": {
"value": 19.5,
"reference": "W84",
"units": "M"
},
"altitude_upper": {
"value": 19.5,
"reference": "W84",
"units": "M"
}
},
"time_start": {
"value": "1985-04-12T23:20:50.52Z",
"format": "RFC3339"
},
"time_end": {
"value": "1985-04-12T23:20:50.52Z",
"format": "RFC3339"
}
}
}
volume | Volume 4D da área específica |