# Onboarding Display Provider No contexto do serviço de Tracking, um Display Provider é um provedor USS que tem objetivo de exibir a posição de drones em tempo real para seus usuários. ### Pré-requisitos técnicos Para um USS se tornar um provedor de display 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 requisições 2. Possuir App para visualização de posição de drones ### Autenticação Para o ensaio, a autenticação será feita em um serviço OAuth centralizado do DECEA, ainda a ser descrito. ### 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](https://servicos2.decea.mil.br/br-utm/wiki/books/documentacao-tecnica/page/cenarios "Cenários"). O padrão seguido no ensaio será o descrito em [https://github.com/uastech/standards/tree/astm\_rid\_api\_2.1/remoteid](https://github.com/uastech/standards/tree/astm_rid_api_2.1/remoteid) Conforme o padrão OpenAPI acima, os endpoints que o Display Provider precisará prover:
**POST**/uss/identification\_service\_areas/{id}
Path Parameters
idUUID da ISA
Request Body
### Interação com DSS O Service Provider, conforme definido no padrão ASTM3411-22a, deve criar entidades de Subscription em uma área específica, para encontrar os atuais Service Providers, e também para receberem notificações caso novos provedores se registrem na área. Os endpoints expostos pelo DSS estão descritos no arquivo OpenAPI descrito acima. Como exemplo, o endpoint abaixo é para criação de Subscriptions:
**PUT**/dss/subscriptions/{id}
Path Parameters
idUUID da Subscription, criado pelo Display Provider
Request Body ```json { "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" } }, "uss_base_url": "https://example.com/rid" } ``` Campos notáveis
volumePolígono **OU** círculo da área, idêntico ao definido no SARPAS
altitude\_lower, altitude\_upperAltitude geodésica (WSG84, W84) máxima e mínima em metros.
time\_start, time\_endHorá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\_urlURL 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.
Response Body ```json { "service_areas": [], "subscription": { "id": "string", "uss_base_url": "https://example.com/rid", "owner": "myuss", "notification_index": 0, "time_end": { "value": "1985-04-12T23:20:50.52Z", "format": "RFC3339" }, "time_start": { "value": "1985-04-12T23:20:50.52Z", "format": "RFC3339" }, "version": "string" } } ```
service\_areasLista de ISAs já existentes no volume 4D. Caso a lista não esteja vazia, o Display Provider deve solicitar os dados de telemetria para as URLs definidas na lista
versionVersão da Subscription, gerado pelo DSS, para garantia de integridade. É necessário utilizar esse campo para atualizar ou deletar uma Subscription.