HBSA Public
  1. Navigation
HBSA Public
  • Hidrovias do Brasil APIs
  • Autenticação
    • Introdução
    • Client Credentials
    • API Key
    • Gerando token client_credentials
      POST
  • WebSockets
    • Introdução
    • Navigation
      • Tracker
      • Hydrometric Stations
  • REST
    • Navigation
      • Hydrometric Stations
        • Stations
          • Get all sensors data by Filter
          • Get all stations
    • Integrações Externas
      • Pesagem
        • Introdução
        • Adiciona ou atualiza os dados de pesagem
  • GraphQL
    • Introdução
    • Relatórios
      • Introdução
      • Grãos
        • Estoque
        • Exemplo de execução
      • Fertilizantes
        • Expedição Rodoviária
  • Esquemas
    • Schemas
      • ErrorDetail
      • AssetEntity
      • HttpError
      • BaseEntity
      • StationSensorsDto
      • NotifySubscribersRequest
      • CancelScheduleRequest
      • StationSensorsDtoBooleanPagination
      • NotifySubscribersStation
      • ClientContractEntity
      • StationDto
      • ClientDto
      • ClientDtoBooleanPagination
      • ClientEntity
      • StationTypes
      • ClientImportsForServiceOrderHydroDto
      • CommonEntity
      • ContractEntity
      • ConvoyEntity
      • CountriesDto
      • CountriesDtoBooleanPagination
      • CountryEntity
      • CreateConvoyRequest
      • CreateConvoyResponse
      • CreateLoadOpsShiftRequest
      • CreateLoadOpsShiftResponse
      • CreateServiceOrderHydroClientImportRequest
      • CreateServiceOrderHydroClientImportResponse
      • CreateServiceOrderHydroClientRequest
      • CreateServiceOrderHydroClientResponse
      • CreateServiceOrderHydroLoadOpsRequest
      • CreateServiceOrderHydroLoadOpsResponse
      • CreateServiceOrderHydroResponse
      • CreateServiceOrderHydrosRequest
      • CreateServiceOrderReceptionImportRequest
      • CreateServiceOrderReceptionImportResponse
      • CreateServiceOrderReceptionRequest
      • CreateServiceOrderReceptionResponse
      • CreateServiceOrderRequest
      • CreateServiceOrderResponse
      • CreateServiceOrderRodoLoadImportRequest
      • CreateServiceOrderRodoLoadImportResponse
      • CreateServiceOrderRodoLoadsRequest
      • CreateServiceOrderRodoLoadsResponse
      • CreateServiceOrderRodoRequest
      • CreateServiceOrderRodoResponse
      • CreateShipRequest
      • CreateShipResponse
      • EContractStatus
      • EConvoyStatus
      • EDocumentType
      • EEntityStatus
      • EExternalWeighingIntegrationStatus
      • EFileManagerTags
      • EPierType
      • EProductStatus
      • EProductType
      • ERecintosIntegrationEventType
      • EScheduleProvider
      • EScheduleStatus
      • EServiceOrderHydroStageOps
      • EServiceOrderHydroStatus
      • EServiceOrderReceptionImportCodeImportType
      • EServiceOrderReceptionImportOperation
      • EServiceOrderReceptionImportStatus
      • EServiceOrderReceptionStage
      • EServiceOrderReceptionStatus
      • EServiceOrderRodoStatus
      • EServiceOrderType
      • ESiscomexIntegrationEventType
      • ESiscomexIntegrationStatus
      • ExternalWeighingIntegrationEntity
      • FileResponseDto
      • GetAllAssetsByCriteriasDto
      • GetAllAssetsByCriteriasDtoBooleanPagination
      • GetAllContractByCriteriasDto
      • GetAllContractByCriteriasDtoBooleanPagination
      • GetAllLoadOpsShiftsResponse
      • GetAllLoadOpsShiftsResponseBooleanPagination
      • GetAllOperatingUnitPiersDto
      • GetAllOperatingUnitPiersDtoBooleanPagination
      • GetAllOperatingUnitsDto
      • GetAllOperatingUnitsDtoBooleanPagination
      • GetAllRecintosShipIntegrationLogsResponse
      • GetAllRecintosShipIntegrationLogsResponseBooleanPagination
      • GetAllScheduleHeaderResponse
      • GetAllScheduleListResponse
      • GetAllScheduleListResponseBooleanPagination
      • GetAllScheduleResponse
      • GetAllServiceOrderRodoDetailsResponse
      • GetAllServiceOrderRodoHeaderResponse
      • GetAllServiceOrderRodoListResponse
      • GetAllServiceOrderRodoListResponseBooleanPagination
      • GetAllServiceOrderRodoResponse
      • GetAllSiscomexIntegrationLogsResponse
      • GetAvailableShipsByCriteriasDto
      • GetConvoyBaseResponse
      • GetConvoyByIdResponse
      • GetConvoyCompositionByIdAssociatedBargeDto
      • GetConvoyCompositionByIdBargeBaseDto
      • GetConvoyCompositionByIdBargeClientDto
      • GetConvoyCompositionByIdConvoyDetailsDto
      • GetConvoyCompositionByIdResponse
      • GetLoadOpsShiftByIdResponse
      • GetProductsByCriteria
      • GetProductsByCriteriaBooleanPagination
      • GetRecintosShipIntegrationLogByIdResponse
      • GetScheduleByIdResponse
      • GetServiceOrderHydroByIdClientResponse
      • GetServiceOrderHydroByIdResponse
      • GetServiceOrderHydroClientImportByIdResponse
      • GetServiceOrderHydrosDto
      • GetServiceOrderHydrosDtoBooleanPagination
      • GetServiceOrderReceptionByIdResponse
      • GetServiceOrderReceptionImportByIdResponse
      • GetServiceOrderReceptionImportsDto
      • GetServiceOrderReceptionImportsDtoBooleanPagination
      • GetServiceOrderRodoByIdResponse
      • GetServiceOrderRodoLoadByIdResponse
      • GetServiceOrderRodoLoadImportByIdResponse
      • GetSiscomexIntegrationByIdResponse
      • HeaderResponse
      • HttpValidationProblemDetails
      • ListAllConvoysResponse
      • ListAllConvoysResponseBooleanPagination
      • ListAllExternalWeighingsResponse
      • ListAllExternalWeighingsResponseBooleanPagination
      • ListAllLoadImportsForServiceOrderRodoResponse
      • ListAllLoadsForServiceOrderRodoResponse
      • ListAllRawAssetsDto
      • ListAllRawCountriesResponse
      • ListAllServiceOrderReceptionsDto
      • ListAllServiceOrderReceptionsDtoBooleanPagination
      • ListAllServiceOrdersDto
      • ListAllServiceOrdersDtoBooleanPagination
      • ListAllSiscomexIntegrationsResponse
      • ListAllSiscomexIntegrationsResponseBooleanPagination
      • ListAvailableClientsForServiceOrderHydroResponse
      • ListAvailableForServiceOrderRodoResponse
      • ListAvailableHydroClientImportsForRodoResponse
      • ListAvailableShipsForServiceOrderHydroResponse
      • ListClientImportsForServiceOrderHydroResponse
      • ListLoadChargingForServiceOrderRodoResponse
      • ListLoadImportsForServiceOrderRodo
      • ListLoadOpsForServiceOrderHydroEntriesResponse
      • ListLoadOpsForServiceOrderHydroResponse
      • ListLoadsForServiceOrderRodo
      • ListSuggestedClientImportsForServiceOrderHydroResponse
      • LoadOpsShiftEntity
      • OperatingUnitEntity
      • OperatingUnitPierEntity
      • PatchConvoyRequest
      • PatchLoadOpsShiftRequest
      • PatchPusherRequest
      • PatchServiceOrderHydroClientImportRequest
      • PatchServiceOrderHydroClientRequest
      • PatchServiceOrderHydroCteRequest
      • PatchServiceOrderHydroLoadOpsRequest
      • PatchServiceOrderHydroRequest
      • PatchServiceOrderHydroStageOpsRequest
      • PatchServiceOrderHydroStatusRequest
      • PatchServiceOrderReceptionImportRequest
      • PatchServiceOrderReceptionRequest
      • PatchServiceOrderRodoLoadByIdRequest
      • PatchServiceOrderRodoStatusRequest
      • PatchShipRequest
      • ProblemDetails
      • ProductEntity
      • RecintosShipIntegrationLogEntity
      • ScheduleEntity
      • ServiceOrderEntity
      • ServiceOrderHydroClientEntity
      • ServiceOrderHydroClientImportEntity
      • ServiceOrderHydroClientImportRequest
      • ServiceOrderHydroEntity
      • ServiceOrderHydroLoadOpsDto
      • ServiceOrderHydroLoadOpsEntity
      • ServiceOrderReceptionEntity
      • ServiceOrderReceptionImportEntity
      • ServiceOrderRodoEntity
      • ServiceOrderRodoLoadEntity
      • ServiceOrderRodoLoadImportEntity
      • ShipDto
      • ShipDtoBooleanPagination
      • ShipEntity
      • SiscomexIntegrationEntity
      • SiscomexIntegrationLogEntity
      • TransporterEntity
      • TruckDriverEntity
      • TruckEntity
      • UpdateServiceOrderReceptionDatesRequest
      • UpdateServiceOrderRodoLoadImportByIdRequest
      • UpsertExternalWeighingRequest
      • UpsertExternalWeighingResponse
  1. Navigation

Tracker

INFORMAÇÃO
WebSocket API para obter atualizações de localização dos ativos da Hidrovias do Brasil. O serviço foi construído ASPNET Core SignalR, então já existe SDK para diversas plataformas. Utilize o SDK adequado para sua linguagem.

Urls#

AmbienteAPI Url
qawss://apis.qa01.hbsa.com.br/navigation-tracker/hubs/trackings
prodwss://apis.hbsa.com.br/navigation-tracker/hubs/trackings

Autenticação#

A API exige um token JWT para realizar autenticação e também autorização.
AVISO
Caso não tenha ainda um client entre em contato com o time da Hidrovias do Brasil

Invocando métodos#

Payload de resposta#

A invocação de métodos respeita o padrão de request-response e definimos um payload padrão para todas as respostas facilitando o tratamento das respostas
Json schema da resposta
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ]
    },
    "data": {
      "type": "object"
    }
  },
  "required": [
    "success"
  ]
}
As propriedades data e error são opcionais pois dependem do valor de success.
Segue um exemplo de erro real:
{
  "success": false,
  "error": {
    "code": "ACQA-TRACKER-01",
    "message": "The Tenant value is not valid."
  }
}

Catálogo de erros#

Quando o servidor retorna um erro tratado os erros esperados são descritos abaixo:
CódigoMensagem
ACQA-TRACKER-01O tenant informado não é valido

Eventos#

Tenants#

Os eventos serão segregados por tenant. O tenant representa a operação da Hidrovias do Brasil.
TenantDescrição
br01Dados da operação do norte do Brasil
py01Dados da operação do Paraguai
No momento de assinar um evento é possível informar qual tenant você está consultando
INFORMAÇÃO
Se não for informado tenant, todos os dados de todos os tenants serão retornados

Exemplos em js de assinatura de eventos:#

receive-pusher-trackings#

INFORMAÇÃO
O evento receive-pusher-trackings retorna as informações de localização em tempo real dos empurradores da Hidrovias.
O json schema do evento é:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tenant": {
      "type": "string"
    },
    "boatName": {
      "type": "string"
    },
    "utcDatetime": {
      "type": "string"
    },
    "positionSourceId": {
      "type": "integer"
    },
    "positionId": {
      "type": "integer"
    },
    "sourceId": {
      "type": "integer"
    },
    "riverId": {
      "type": "integer"
    },
    "km": {
      "type": "number"
    },
    "latitude": {
      "type": "number"
    },
    "longitude": {
      "type": "number"
    },
    "groundSpeed": {
      "type": "integer"
    },
    "trueHeading": {
      "type": "number"
    },
    "cog": {
      "type": "number"
    },
    "sounder": {
      "type": "integer"
    },
    "windDirection": {
      "type": "integer"
    },
    "windSpeed": {
      "type": "integer"
    },
    "mmsi": {
      "type": "string"
    },
    "imo": {
      "type": "string"
    },
    "length": {
      "type": "number"
    },
    "beam": {
      "type": "number"
    }
  },
  "required": [
    "tenant",
    "boatName",
    "utcDatetime",
    "positionSourceId",
    "positionId",
    "sourceId",
    "riverId",
    "km",
    "latitude",
    "longitude",
    "groundSpeed",
    "trueHeading",
    "cog",
    "sounder",
    "windDirection",
    "windSpeed",
    "mmsi",
    "imo",
    "length",
    "beam"
  ]
}

Assinando evento#

Para realizar a assinatura é necessário invocar o método subscribe-pusher e então fazer o subscribe no evento receive-pusher-trackings.
Segue o exemplo de um registro desse evento:
{
  "tenant": "br01",
  "boatName": "HB AQUARIUS",
  "utcDatetime": "2024-07-11T18:02:00",
  "positionSourceId": 9,
  "positionId": 221667688,
  "sourceId": 0,
  "riverId": 4,
  "km": 1639.67,
  "latitude": -25.221073,
  "longitude": -57.580936,
  "groundSpeed": 0,
  "trueHeading": 32.9,
  "cog": 310.4,
  "sounder": 0,
  "windDirection": 511,
  "windSpeed": 0,
  "mmsi": "720986000",
  "imo": "9686467",
  "length": 45.6,
  "beam": 16.6
}

receive-ais-trackings#

INFORMAÇÃO
O evento receive-ais-trackings retorna as informações capturadas dos AIS próximos aos empurradores
O json schema do evento é:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tenant": {
      "type": "string"
    },
    "boatName": {
      "type": "string"
    },
    "utcDatetime": {
      "type": "string"
    },
    "positionSourceId": {
      "type": "integer"
    },
    "positionId": {
      "type": "integer"
    },
    "sourceId": {
      "type": "integer"
    },
    "riverId": {
      "type": "integer"
    },
    "km": {
      "type": "number"
    },
    "latitude": {
      "type": "number"
    },
    "longitude": {
      "type": "number"
    },
    "groundSpeed": {
      "type": "number"
    },
    "trueHeading": {
      "type": "number"
    },
    "cog": {
      "type": "number"
    },
    "sounder": {
      "type": "integer"
    },
    "windDirection": {
      "type": "integer"
    },
    "windSpeed": {
      "type": "integer"
    },
    "mmsi": {
      "type": "string"
    },
    "imo": {
      "type": "string"
    }
  },
  "required": [
    "tenant",
    "boatName",
    "utcDatetime",
    "positionSourceId",
    "positionId",
    "sourceId",
    "riverId",
    "km",
    "latitude",
    "longitude",
    "groundSpeed",
    "trueHeading",
    "cog",
    "sounder",
    "windDirection",
    "windSpeed",
    "mmsi",
    "imo"
  ]
}

Assinando evento#

Para realizar a assinatura é necessário invocar o método subscribe-ais e então fazer o subscribe no evento receive-ais-trackings.
Segue o exemplo de um registro desse evento:
{
  "tenant": "br01",
  "boatName": "HERKULES XVIII",
  "utcDatetime": "2024-06-26T20:42:00",
  "positionSourceId": 9,
  "positionId": 218815150,
  "sourceId": 0,
  "riverId": 4,
  "km": 2155.65,
  "latitude": -22.194872,
  "longitude": -57.974667,
  "groundSpeed": 9.8,
  "trueHeading": 2.4,
  "cog": 2.7,
  "sounder": 0,
  "windDirection": 511,
  "windSpeed": 0,
  "mmsi": "720986000",
  "imo": "9686467"
}

Exemplo de consumo#

Abaixo um exemplo utilizando C#:
Modificado em 2024-09-23 19:13:48
Página anterior
Introdução
Próxima página
Hydrometric Stations
Built with