GeoZone Public API
Uma API GraphQL que retorna dados de zonas de carga estrutural, características geográficas e relatórios PDF para quaisquer coordenadas do mundo.
7 Consultas1 SubscriçãoBearer Auth
POSThttps://team-w.dlubal.com/api/geo-zone/pub/graphql
Aplicação Web
A ferramenta GeoZone também está disponível como aplicação web interativa em dlubal.com. Selecione qualquer localização no mapa para visualizar instantaneamente todos os valores de zonas de carga estrutural.

Aplicação web GeoZone
Autenticação
A maioria das consultas requer um token Bearer no cabeçalho Authorization:
Authorization:Bearer YOUR_TOKEN
Consultas marcadas como Público não requerem autenticação. Todas as outras consomem um crédito de API por requisição.
getLoadZoneCharacteristics
ConsultaAuth necessária
Retorna a classificação de zona de carga e todas as características para uma coordenada específica. Aceita um loadZoneId (de findLoadzones), layerId, e latitude/longitude decimal como strings. A resposta inclui detalhes de endereço, a zona correspondente e uma lista ordenada de características estruturais.
O campo code pode ser OK, COUNTRY_CHANGED (o servidor selecionou automaticamente um padrão mais adequado), ANNEX_CHANGED, ou ERROR.

Zonas de neve

Zonas de vento

Zonas sísmicas
query {
getLoadZoneCharacteristics(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
) {
code
message
geoLocation {
latitude longitude altitude
street zip city state country countryCode
}
characteristics {
standard
annex
zoneCharacteristics {
id
zone { value }
characteristics {
name calculatedValue
nameHtml unitsHtml description
decimalPlaces sequence
}
}
}
noLiability
}
}
getLoadZoneCharacteristicsV1
ConsultaAuth necessária
Versão legada de getZoneCharacteristics. Retorna uma resposta condensada sem dados de endereço ou sequências completas de características. Mantido para compatibilidade com versões anteriores — novas integrações devem usar getZoneCharacteristics.
query {
getLoadZoneCharacteristicsV1(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
)
}
getGeoLocations
ConsultaPúblico
Pesquisa de geocodificação — converte um endereço em texto livre em resultados de coordenadas. Não requer autenticação. Retorna até 10 resultados classificados com rua, cidade, estado, país, código postal e coordenadas decimais.

Pesquisa de endereço
query {
getGeoLocations(
address: "Altdorf, Uri, Switzerland"
language: EN
) {
latitude longitude altitude
displayName street zip city state country countryCode
}
}
getLoadZoneScreenshot
ConsultaAuth necessária
Gera uma captura de tela do mapa centralizada nas coordenadas fornecidas como PNG ou JPEG codificado em base64. Útil para incorporar mapas de zonas em relatórios ou painéis.
query {
getLoadZoneScreenshot(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
zoom: 8
screenshotType: { type: PNG quality: 90 }
}
language: EN
)
}
getLoadZoneStandards
ConsultaPúblico
Retorna a hierarquia completa de tipos de zonas de carga, normas, anexos nacionais e camadas. Use isso para preencher seletores ou descobrir valores válidos de loadZoneId com seus IDs de camada, rótulos de zona e cores.
query {
getLoadZoneStandards(
countryCode: "DE"
language: EN
) {
name
standards {
name
annexes {
name
actual
layers { id name }
}
}
}
}
findLoadzones
ConsultaAuth necessária
Retorna uma lista compacta de zonas de carga agrupadas por tipo — ideal para descobrir pares válidos de loadZoneId / layerId.
query {
findLoadzones(
countryCode: "DE"
language: EN
) {
country
countryCode
typeGroups {
name
loadzones {
standard annex loadzoneId
layers { id name }
}
}
}
}
Exemplo de Resposta
{
"data": {
"findLoadzones": {
"country": "Germany",
"countryCode": "DE",
"typeGroups": [
{
"name": "Snow",
"loadzones": [
{
"standard": "EN 1991-1-3",
"annex": "Germany",
"loadzoneId": "snow-eu-en-1991",
"layers": [{ "id": 1, "name": null }]
}
]
},
{
"name": "Wind",
"loadzones": [
{
"standard": "EN 1991-1-4",
"annex": "Germany",
"loadzoneId": "wind-eu-en-2005",
"layers": [{ "id": 1, "name": null }]
}
]
}
]
}
}
}
getUserData
ConsultaAuth necessária
Retorna o endereço de e-mail do usuário autenticado, saldo de créditos e contagem de cliques de API restantes para o período de cobrança atual.
query {
getUserData {
email
clicks
}
}
getPdf
SubscriçãoAuth necessária
Gera um relatório PDF completo de zona de carga via conexão WebSocket (subscrições GraphQL via graphql-ws). O servidor transmite atualizações de progresso; a mensagem final contém o PDF codificado em base64 e um nome de arquivo sugerido.
Endpoint WebSocket: wss://team-w.dlubal.com/api/geo-zone/pub/graphql
subscription {
getPdf(
pdfInput: {
address: "Munich, Germany"
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
) {
currentStep
steps
message
pdfResult { pdf name }
}
}
Exemplo de cliente JavaScript
import { createClient } from "graphql-ws";
const client = createClient({
url: "wss://team-w.dlubal.com/api/geo-zone/pub/graphql",
connectionParams: { Authorization: "Bearer YOUR_TOKEN" },
});
const unsubscribe = client.subscribe(
{
query: `subscription {
getPdf(pdfInput: {
address: "Munich, Germany"
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
} language: EN) {
currentStep steps message
pdfResult { pdf name }
}
}`,
},
{
next({ data }) {
const step = data?.getPdf;
console.log(`${step.currentStep}/${step.steps} — ${step.message}`);
if (step.pdfResult) {
// step.pdfResult.pdf is base64-encoded
unsubscribe();
}
},
error(err) { console.error(err); },
complete() { console.log("Done"); },
}
);
Enumerações
LanguageEnum
| Valor | Idioma |
|---|
| EN | English |
| DE | German |
| FR | French |
| IT | Italian |
| ES | Spanish |
| PT | Portuguese |
| PL | Polish |
| CS | Czech |
| RU | Russian |
| ZH | Chinese |
LoadzoneTypeEnum
| Valor | Descrição |
|---|
| SNOW | Snow load zones (EN 1991-1-3) |
| WIND | Wind load zones (EN 1991-1-4) |
| EARTHQUAKE | Seismic zones (EN 1998) |
| TORNADO | Tornado zones (US only) |
ScreenshotTypeEnum
| Valor | Descrição |
|---|
| PNG | Lossless PNG image |
| JPEG | Compressed JPEG image |
Tipos de Saída
CharacteristicsResponseMiaType
| Campo | Tipo | Descrição |
|---|
| code | String! | Response status code |
| message | String | Human-readable message when code ≠ OK |
| geoLocation | GeofinderDataType | Resolved location data |
| characteristics | [CharacteristicsLoadzoneType2] | Per-standard zone results |
| noLiability | String | Disclaimer text |
CharacteristicsLoadzoneType2
| Campo | Tipo | Descrição |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| zoneCharacteristics | CharacteristicsLayerType2! | Layer result |
CharacteristicsLayerType2
| Campo | Tipo | Descrição |
|---|
| id | Int! | Layer ID |
| zone | CharacteristicsZoneType2! | Matched zone value |
| characteristics | [CharacteristicsVariableType]! | Ordered load values |
CharacteristicsVariableType
| Campo | Tipo | Descrição |
|---|
| name | String! | Parameter name (plain text) |
| nameHtml | String! | Parameter name (HTML) |
| calculatedValue | String | Computed value |
| unitsHtml | String! | Units (HTML) |
| description | String! | Parameter description |
| decimalPlaces | Int! | Display precision |
| sequence | Int! | Display order |
GeofinderDataType
| Campo | Tipo | Descrição |
|---|
| latitude | String! | Resolved latitude |
| longitude | String! | Resolved longitude |
| altitude | String! | Elevation |
| street | String | Street name and number |
| zip | String | Postal code |
| city | String | City / municipality |
| state | String | State or region |
| country | String | Country name |
| countryCode | String | ISO country code |
GeoLocationType
| Campo | Tipo | Descrição |
|---|
| latitude | String! | Latitude |
| longitude | String! | Longitude |
| altitude | String! | Elevation |
| displayName | String | Full formatted address |
| street | String | Street name and number |
| zip | String | Postal code |
| city | String | City / municipality |
| state | String | State or region |
| country | String | Country name |
| countryCode | String | ISO country code |
UserDataType
| Campo | Tipo | Descrição |
|---|
| email | String! | Account email address |
| clicks | Int! | Remaining API calls this billing period |
LoadzoneGroupShortType
| Campo | Tipo | Descrição |
|---|
| country | String! | Country name |
| countryCode | String! | ISO country code |
| typeGroups | [LoadzoneTypeGroupType]! | Zones grouped by type |
LoadzoneShortType
| Campo | Tipo | Descrição |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| loadzoneId | String! | Unique load zone identifier |
| layers | [LoadzoneLayerShortType]! | Available layers |
PdfProgressType
| Campo | Tipo | Descrição |
|---|
| currentStep | Int! | Steps completed |
| steps | Int! | Total steps |
| message | String! | Status message |
| pdfResult | PdfResultType | Present on final message only |
PdfResultType
| Campo | Tipo | Descrição |
|---|
| pdf | String! | Base64-encoded PDF |
| name | String! | Suggested filename |