# [Remote ID] Onboarding Service Provider No contexto do serviço de Network RemoteID, 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. A especificação a ser seguida está definida pela ASTM F3411-22a. Ainda não foi definido a obrigatoriedade do item 4.4 "*Broadcast Remote ID".* Portanto, nessa página apenas será definido o uso dos itens 4.5 em diante. ### 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: 1. Possuir um servidor HTTP para solicitar e receber as requisições listadas abaixo 2. 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 ### Fluxograma
**GET** | /uss/flights |
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 |
timestamp | Horário em que o Service Provider recebeu a requisição |
flights.id | ID único do provedor que identifica um voo em particular. Deverá vir no formato: "UAS\_ID.FLIGHT\_ID", onde UAS\_ID é código SISANT da aeronave, e FLIGHT\_ID é o uuid da solicitação do voo realizada no ECO-UTM. |
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 |
id | ID único do provedor para identificar o voo | b41f2785-1182-4c2e-82d5-f72f754b3fe2.0dfe0e82-fd7a-44d9-af17-7fdd42751b45 |
uas\_id | Código SISANT da aeronave |
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} |
id | UUID da área possuída pelo provedor | UUID |
volume | Volume 4D da área específica |
**PUT** | /dss/identification\_service\_area/{id} |
id | UUID da ISA. Deve ser o mesmo UUID devolvido pelo ECO-UTM após a criação da solicitação de voo. |
volume | Polígono **OU** círculo da área, idêntico ao definido no SARPAS |
altitude\_lower, altitude\_upper | Altitude geodésica (WSG84, W84) máxima e mínima em metros. |
time\_start, time\_end | Horário de início e fim da área. Todos os horários devem estar no timezone Zulo (UTC+0). O único formato suportado é "RFC3339" |
uss\_base\_url | URL a qual o Service Provider irá responder à solicitações. Não deve conter uma barra '/' ao final. Sugere-se utilizar uma URL e não um IP. |
subcribers | Lista dos atuais subcribers dessa área. Caso a lista não esteja vazia, é **OBRIGATÓRIO** o envio da ISA para cada um dos subscribers listados |
version | Versão da ISA, gerado pelo DSS, para garantia de integridade. É necessário utilizar esse campo para atualizar ou deletar uma ISA. |