Flight Planning Automated Testing Interface (v0.7.0)
Esta interface é fornecida por um USS (UAS Service Supplier) que deseja participar de testes automatizados envolvendo tentativas de planejamento de voo. Um cliente (geralmente o uss_qualifier) instrui um usuário virtual a interagir com a interface do USS para planejar, atualizar e fechar planos de voo.
Segurança (Autenticação)
-
Tipo: OAuth2 (Client Credentials)
-
Escopos Necessários:
-
interuss.flight_planning.direct_automated_test: Permite determinar a prontidão do USS para o teste e instruir o administrador a preparar a área de testes. -
interuss.flight_planning.plan: Permite enviar instruções ao usuário virtual para planejar, modificar ou fechar um plano de voo.
-
-
Descrição: O token JWT deve ser enviado no header
Authorization: Bearer <token>.
Endpoints
1. Consultar Status da Interface
Rota: GET /status
Obtém o status atual desta interface de testes automatizados.
-
Escopo Exigido:
interuss.flight_planning.direct_automated_test -
Respostas Esperadas:
-
200 OK: Interface disponível. Retorna se está
StartingouReady. -
404 Not Found: A interface de testes não está disponível.
-
2. Limpar Área (Clear Area)
Rota: POST /clear_area_requests
Solicita que o administrador do USS cancele e remova todos os planos de voo gerenciados por ele que interceptem a área especificada no payload.
-
Escopo Exigido:
interuss.flight_planning.direct_automated_test -
Corpo da Requisição: Requer
request_idúnico e a extensão da área (extent). -
Respostas Esperadas:
-
200 OK: Área limpa com sucesso. Retorna
ClearAreaResponse(indicando sucesso ou detalhes de falha na limpeza).
-
3. Criar ou Atualizar Plano de Voo (Upsert)
Rota: PUT /flight_plans/{flight_plan_id}
Simula a intenção de um usuário de enviar um plano de voo novo ou atualizado.
-
Escopo Exigido:
interuss.flight_planning.plan -
Parâmetros de Rota:
flight_plan_id(obrigatório) - UUID formato v4. Ex:03e5572a-f733-49af-bc14-8a18bd53ee39 -
Corpo da Requisição: Requer o objeto
UpsertFlightPlanRequest. -
Respostas Esperadas:
-
200 OK: Dados processados com sucesso. Retorna
UpsertFlightPlanResponsecom o status do planejamento (Completed,Rejected,Failed, etc). -
409 Conflict: Conflito de
request_idduplicado ou outra condição de conflito.
-
4. Fechar/Deletar Plano de Voo
Rota: DELETE /flight_plans/{flight_plan_id}
Permite que o diretor de testes instrua o USS a remover um plano de voo que não é mais necessário para os testes.
-
Escopo Exigido:
interuss.flight_planning.direct_automated_test -
Parâmetros de Rota:
flight_plan_id(obrigatório). -
Respostas Esperadas:
-
200 OK: Plano de voo deletado com sucesso. Retorna
DeleteFlightPlanResponse. -
404 Not Found: Plano de voo não encontrado (já pode ter sido deletado).
-
5. Consultar Notificações de Usuário
Rota: GET /user_notifications
Retorna a lista de notificações observadas pelo usuário virtual. Devem estar disponíveis para consulta em até 5 segundos após a observação.
-
Escopo Exigido:
interuss.flight_planning.plan -
Parâmetros de Query: *
after(obrigatório): Limite inferior de tempo.-
before(opcional): Limite superior de tempo (padrão é o momento atual).
-
-
Respostas Esperadas:
-
200 OK: Notificações recuperadas.
-
400 Bad Request: Parâmetros de tempo ausentes ou inválidos.
-
Payload de Exemplo (JSON)
Formato simplificado esperado para a criação/atualização de um plano de voo (PUT /flight_plans/{flight_plan_id}):
{
"request_id": "b5a9b837-1234-4a2b-9876-c5096a295a12",
"execution_style": "IfAllowed",
"flight_plan": {
"basic_information": {
"usage_state": "Planned",
"description": "Medical supplies delivery operated by Example Drone Company",
"utm_id": "ae1fa066-6d68-4018-8274-af867966978e",
"area": [
{
"volume": {
"outline_polygon": {
"vertices": [
{ "lat": -23.179, "lng": -45.887 },
{ "lat": -23.180, "lng": -45.888 }
]
},
"altitude_lower": { "value": 0, "reference": "W84", "units": "M" },
"altitude_upper": { "value": 120, "reference": "W84", "units": "M" }
},
"time_start": { "value": "2024-04-22T16:30:00Z", "format": "RFC3339" },
"time_end": { "value": "2024-04-22T17:30:00Z", "format": "RFC3339" }
}
]
}
}
}
No Comments