{"openapi":"3.1.0","info":{"title":"PrismaData — Aglomerações Comerciais","version":"1.0.0","termsOfService":"https://prismadata.io/terms","contact":{"name":"PrismaData Support Team","url":"https://prismadata.io/contact","email":"suporte.api@prismadata.io"},"license":{"name":"Proprietary","url":"https://api.prismadata.io/license"},"description":"A API de aglomerações comerciais mapeia cerca de 11 mil regiões do Brasil\ncom alta concentração de estabelecimentos comerciais, classificadas por\nporte, vocação e perfil de renda. Cada aglomeração é uma poligonal\ncontínua de tecido comercial denso, gerada algoritmicamente a partir do\nCNPJ da Receita Federal.\n\nDentro de cada aglomeração existem trechos de rua (linestrings recortadas\ndo OpenStreetMap) com atributos e rankings próprios, permitindo\ndrill-down do macro (aglomeração) para o micro (trecho).\n\nCaso a coordenada de entrada esteja a mais de 5 km de qualquer aglomeração,\nvalores nulos são retornados nos campos de detalhe.\n\nMaiores informações podem ser encontradas na [documentação de produto](https://prismadata.io/doc-comercial/aglomeracoes-comerciais/).\nTestes manuais com o fim de se compreender melhor o dado podem ser feitos [aqui](https://prismadata.io/testador-de-api/api-de-localizacao/).\n"},"servers":[{"url":"https://api.prismadata.io/v1","description":"Ambiente de Produção"}],"security":[{"X-Apikey":[]},{"api_key":[]},{"BearerAuth":[]}],"tags":[{"name":"Aglomerações Comerciais","description":"A API de aglomerações comerciais mapeia cerca de 11 mil regiões do Brasil\ncom alta concentração de estabelecimentos comerciais, classificadas por\nporte, vocação e perfil de renda. Cada aglomeração é uma poligonal\ncontínua de tecido comercial denso, gerada algoritmicamente a partir do\nCNPJ da Receita Federal.\n\nDentro de cada aglomeração existem trechos de rua (linestrings recortadas\ndo OpenStreetMap) com atributos e rankings próprios, permitindo\ndrill-down do macro (aglomeração) para o micro (trecho).\n\nCaso a coordenada de entrada esteja a mais de 5 km de qualquer aglomeração,\nvalores nulos são retornados nos campos de detalhe.\n\nMaiores informações podem ser encontradas na [documentação de produto](https://prismadata.io/doc-comercial/aglomeracoes-comerciais/).\nTestes manuais com o fim de se compreender melhor o dado podem ser feitos [aqui](https://prismadata.io/testador-de-api/api-de-localizacao/).\n"}],"paths":{"/location/commercial_cluster":{"get":{"tags":["Aglomerações Comerciais"],"summary":"Aglomeração comercial e trecho mais próximos de um ponto","description":"Retorna aglomeracao(oes) e trecho mais proximo de um ponto (lat, lng).","operationId":"query_endpoint_query_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":90,"exclusiveMinimum":-90,"examples":[-19.9332],"title":"Lat"}},{"name":"lng","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":180,"exclusiveMinimum":-180,"examples":[-43.9191],"title":"Lng"}},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":1,"default":1,"title":"Top N"}},{"name":"raio_km","in":"query","required":false,"schema":{"type":"number","maximum":50,"exclusiveMinimum":0,"default":5.0,"title":"Raio Km"}},{"name":"incluir_trecho_mais_proximo","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Incluir Trecho Mais Proximo"}},{"name":"incluir_trechos_da_aglomeracao","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Incluir Trechos Da Aglomeracao"}},{"name":"incluir_geometria","in":"query","required":false,"schema":{"type":"boolean","description":"Retorna o poligono da aglomeracao. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA.","default":false,"title":"Incluir Geometria"},"description":"Retorna o poligono da aglomeracao. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA."},{"name":"wkt","in":"query","required":false,"schema":{"type":"boolean","description":"Quando incluir_geometria=true, retorna a geometria em WKT (string 'POLYGON((...))') em vez de GeoJSON. Ignorado se incluir_geometria=false.","default":false,"title":"Wkt"},"description":"Quando incluir_geometria=true, retorna a geometria em WKT (string 'POLYGON((...))') em vez de GeoJSON. Ignorado se incluir_geometria=false."},{"name":"vocacao","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Vocacao"}},{"name":"porte_minimo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Porte Minimo"}},{"name":"faixa_renda","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Faixa Renda"}},{"name":"versao_dados","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}}],"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"prismadata__commercial_cluster__latitude":{"type":"number"},"prismadata__commercial_cluster__longitude":{"type":"number"},"prismadata__commercial_cluster__dentro_de_aglomeracao":{"type":"boolean"},"prismadata__commercial_cluster__aglomeracao_hash_contendo":{"type":["string","null"]},"prismadata__commercial_cluster__aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"prismadata__commercial_cluster__nome_aglomeracao":{"type":"string"},"prismadata__commercial_cluster__municipio":{"type":"string"},"prismadata__commercial_cluster__uf":{"type":"string","description":"UF de 2 caracteres"},"prismadata__commercial_cluster__qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__score_ponderado":{"type":"number"},"prismadata__commercial_cluster__area_ha":{"type":"number","description":"Area em hectares"},"prismadata__commercial_cluster__densidade_pdvs_km2":{"type":"number"},"prismadata__commercial_cluster__centroide_lat":{"type":"number"},"prismadata__commercial_cluster__centroide_lng":{"type":"number"},"prismadata__commercial_cluster__porte":{"type":"string","enum":["Pequena","Media","Grande"]},"prismadata__commercial_cluster__concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"prismadata__commercial_cluster__faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"prismadata__commercial_cluster__vocacao":{"type":"string"},"prismadata__commercial_cluster__nome_segmento":{"type":"string"},"prismadata__commercial_cluster__pct_alimentacao":{"type":"number"},"prismadata__commercial_cluster__pct_moda":{"type":"number"},"prismadata__commercial_cluster__pct_supermercado":{"type":"number"},"prismadata__commercial_cluster__pct_saude":{"type":"number"},"prismadata__commercial_cluster__pct_construcao":{"type":"number"},"prismadata__commercial_cluster__pct_eletronicos":{"type":"number"},"prismadata__commercial_cluster__pct_moveis":{"type":"number"},"prismadata__commercial_cluster__pct_combustiveis":{"type":"number"},"prismadata__commercial_cluster__pct_automotivo":{"type":"number"},"prismadata__commercial_cluster__pct_entretenimento":{"type":"number"},"prismadata__commercial_cluster__pct_alojamento":{"type":"number"},"prismadata__commercial_cluster__pct_varejo_geral":{"type":"number"},"prismadata__commercial_cluster__renda_mediana":{"type":"number"},"prismadata__commercial_cluster__percentil_br_renda":{"type":"number"},"prismadata__commercial_cluster__rank_nacional_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"prismadata__commercial_cluster__geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]},"prismadata__commercial_cluster__trecho_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_aglomeracao_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_logradouro":{"type":"string"},"prismadata__commercial_cluster__trecho_tipo_via":{"type":"string"},"prismadata__commercial_cluster__trecho_extensao_m":{"type":"number"},"prismadata__commercial_cluster__trecho_qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__trecho_score_ponderado":{"type":"number"},"prismadata__commercial_cluster__trecho_densidade_linear_km":{"type":"number"},"prismadata__commercial_cluster__trecho_num_inicial":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_num_final":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_n_esquinas":{"type":"integer"},"prismadata__commercial_cluster__trecho_buffer_m":{"type":"number"},"prismadata__commercial_cluster__trecho_rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_distancia_m":{"type":"number"}},"patternProperties":{"^prismadata__commercial_cluster__[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]},"^prismadata__commercial_cluster__([1-9][0-9]*_)?trecho_[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]}},"description":"Resposta flat. Para top_n>1, cada aglomeracao vem prefixada com 1_, 2_, ... (ex: prismadata__commercial_cluster__1_aglomeracao_hash). Trecho mais proximo permanece unico no top-level."},"example":{"prismadata__commercial_cluster__aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__aglomeracao_hash_contendo":"5ebd0eb4f6b4","prismadata__commercial_cluster__area_ha":10.11,"prismadata__commercial_cluster__centroide_lat":-23.561411,"prismadata__commercial_cluster__centroide_lng":-46.656262,"prismadata__commercial_cluster__concentracao":"Densa","prismadata__commercial_cluster__contido":true,"prismadata__commercial_cluster__densidade_pdvs_km2":50625.8,"prismadata__commercial_cluster__dentro_de_aglomeracao":true,"prismadata__commercial_cluster__distancia_borda_m":57.99267672,"prismadata__commercial_cluster__distancia_m":0.0,"prismadata__commercial_cluster__faixa_renda":"Luxo","prismadata__commercial_cluster__latitude":-23.5613,"prismadata__commercial_cluster__longitude":-46.6558,"prismadata__commercial_cluster__municipio":"SAO PAULO","prismadata__commercial_cluster__nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","prismadata__commercial_cluster__nome_segmento":"Grande, Densa, Luxo de Diversificada","prismadata__commercial_cluster__pct_alimentacao":8.8,"prismadata__commercial_cluster__pct_alojamento":0.6,"prismadata__commercial_cluster__pct_automotivo":5.3,"prismadata__commercial_cluster__pct_combustiveis":0.1,"prismadata__commercial_cluster__pct_construcao":4.2,"prismadata__commercial_cluster__pct_eletronicos":16.4,"prismadata__commercial_cluster__pct_entretenimento":6.4,"prismadata__commercial_cluster__pct_moda":10.9,"prismadata__commercial_cluster__pct_moveis":9.2,"prismadata__commercial_cluster__pct_saude":4.9,"prismadata__commercial_cluster__pct_supermercado":0.8,"prismadata__commercial_cluster__pct_varejo_geral":12.6,"prismadata__commercial_cluster__percentil_br_renda":99.3,"prismadata__commercial_cluster__porte":"Grande","prismadata__commercial_cluster__qtd_pdvs":5117,"prismadata__commercial_cluster__rank_municipal_densidade":8,"prismadata__commercial_cluster__rank_municipal_pdvs":1,"prismadata__commercial_cluster__rank_municipal_score":1,"prismadata__commercial_cluster__rank_nacional_densidade":154,"prismadata__commercial_cluster__rank_nacional_pdvs":1,"prismadata__commercial_cluster__rank_nacional_score":1,"prismadata__commercial_cluster__rank_uf_densidade":23,"prismadata__commercial_cluster__rank_uf_pdvs":1,"prismadata__commercial_cluster__rank_uf_score":1,"prismadata__commercial_cluster__renda_mediana":8503.98,"prismadata__commercial_cluster__score_ponderado":6402.5,"prismadata__commercial_cluster__trecho_aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__trecho_buffer_m":5.0,"prismadata__commercial_cluster__trecho_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_distancia_m":5.47013445,"prismadata__commercial_cluster__trecho_extensao_m":271.3,"prismadata__commercial_cluster__trecho_hash":"c4caea4ffc9d","prismadata__commercial_cluster__trecho_logradouro":"Passagem Subterrânea Daher Elias Cutait","prismadata__commercial_cluster__trecho_n_esquinas":1,"prismadata__commercial_cluster__trecho_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_tipo_via":"AVENIDA","prismadata__commercial_cluster__uf":"SP","prismadata__commercial_cluster__vocacao":"Diversificada"}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente. Codigos possiveis no campo `EXCEPTION`: GEOMETRIA_NAO_AUTORIZADA (cliente sem role admin nem viewer:commercial_cluster tentou incluir_geometria=true) ou role insuficiente para o endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"SUCESSO":{"type":"boolean","enum":[false]},"EXCEPTION":{"type":"string"},"MESSAGE":{"type":"string"},"OUTPUT":{"type":"null"}},"required":["SUCESSO","EXCEPTION","MESSAGE","OUTPUT"]},"examples":{"geometria_nao_autorizada":{"summary":"Cliente sem viewer:commercial_cluster tentou geometria","value":{"SUCESSO":false,"EXCEPTION":"GEOMETRIA_NAO_AUTORIZADA","MESSAGE":"O parametro incluir_geometria=true requer role admin ou viewer do produto. Entre em contato com o time comercial da PrismaData para upgrade."}}}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl \"https://api.prismadata.io/v1/location/commercial_cluster?lat=-25.5&lng=-25.5\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\""},{"lang":"Python","source":"import httpx\n\nresp = httpx.get(\n    \"https://api.prismadata.io/v1/location/commercial_cluster\",\n    params={\"lat\": -25.5, \"lng\": -25.5},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.commercial_cluster(\n    lat=-23.5613,\n    lng=-46.6558,\n    top_n=3,\n    radius_km=10.0,\n)\nprint(result)\n\n# Optional: include geometry (requires viewer:commercial_cluster role).\n# GeoJSON dict by default; WKT string when wkt=True.\nr = client.commercial_cluster(\n    lat=-23.5613, lng=-46.6558,\n    include_geometry=True, wkt=False,  # set wkt=True for WKT\n)\ngeom = r[\"prismadata__commercial_cluster__geometria\"]"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.commercialCluster(-23.5613, -46.6558, {\n  topN: 3,\n  radiusKm: 10.0,\n});\nconsole.log(result);\n\n// Optional: include geometry (requires viewer:commercial_cluster role).\n// GeoJSON object by default; WKT string when wkt=true.\nconst r = await client.commercialCluster(-23.5613, -46.6558, {\n  includeGeometry: true,\n  wkt: false, // set true for WKT\n});\nconst geom = r.prismadata__commercial_cluster__geometria;"}]}},"/location/commercial_cluster/batch":{"post":{"tags":["Aglomerações Comerciais"],"summary":"Aglomeração comercial mais próxima em lote","description":"Query para ate 1024 pontos em uma unica requisicao.","operationId":"batch_endpoint_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/commercial_cluster_BatchRequest"}}},"required":true},"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"prismadata__commercial_cluster__latitude":{"type":"number"},"prismadata__commercial_cluster__longitude":{"type":"number"},"prismadata__commercial_cluster__dentro_de_aglomeracao":{"type":"boolean"},"prismadata__commercial_cluster__aglomeracao_hash_contendo":{"type":["string","null"]},"prismadata__commercial_cluster__aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"prismadata__commercial_cluster__nome_aglomeracao":{"type":"string"},"prismadata__commercial_cluster__municipio":{"type":"string"},"prismadata__commercial_cluster__uf":{"type":"string","description":"UF de 2 caracteres"},"prismadata__commercial_cluster__qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__score_ponderado":{"type":"number"},"prismadata__commercial_cluster__area_ha":{"type":"number","description":"Area em hectares"},"prismadata__commercial_cluster__densidade_pdvs_km2":{"type":"number"},"prismadata__commercial_cluster__centroide_lat":{"type":"number"},"prismadata__commercial_cluster__centroide_lng":{"type":"number"},"prismadata__commercial_cluster__porte":{"type":"string","enum":["Pequena","Media","Grande"]},"prismadata__commercial_cluster__concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"prismadata__commercial_cluster__faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"prismadata__commercial_cluster__vocacao":{"type":"string"},"prismadata__commercial_cluster__nome_segmento":{"type":"string"},"prismadata__commercial_cluster__pct_alimentacao":{"type":"number"},"prismadata__commercial_cluster__pct_moda":{"type":"number"},"prismadata__commercial_cluster__pct_supermercado":{"type":"number"},"prismadata__commercial_cluster__pct_saude":{"type":"number"},"prismadata__commercial_cluster__pct_construcao":{"type":"number"},"prismadata__commercial_cluster__pct_eletronicos":{"type":"number"},"prismadata__commercial_cluster__pct_moveis":{"type":"number"},"prismadata__commercial_cluster__pct_combustiveis":{"type":"number"},"prismadata__commercial_cluster__pct_automotivo":{"type":"number"},"prismadata__commercial_cluster__pct_entretenimento":{"type":"number"},"prismadata__commercial_cluster__pct_alojamento":{"type":"number"},"prismadata__commercial_cluster__pct_varejo_geral":{"type":"number"},"prismadata__commercial_cluster__renda_mediana":{"type":"number"},"prismadata__commercial_cluster__percentil_br_renda":{"type":"number"},"prismadata__commercial_cluster__rank_nacional_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"prismadata__commercial_cluster__geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]},"prismadata__commercial_cluster__trecho_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_aglomeracao_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_logradouro":{"type":"string"},"prismadata__commercial_cluster__trecho_tipo_via":{"type":"string"},"prismadata__commercial_cluster__trecho_extensao_m":{"type":"number"},"prismadata__commercial_cluster__trecho_qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__trecho_score_ponderado":{"type":"number"},"prismadata__commercial_cluster__trecho_densidade_linear_km":{"type":"number"},"prismadata__commercial_cluster__trecho_num_inicial":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_num_final":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_n_esquinas":{"type":"integer"},"prismadata__commercial_cluster__trecho_buffer_m":{"type":"number"},"prismadata__commercial_cluster__trecho_rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_distancia_m":{"type":"number"}},"patternProperties":{"^prismadata__commercial_cluster__[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]},"^prismadata__commercial_cluster__([1-9][0-9]*_)?trecho_[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]}},"description":"Resposta flat. Para top_n>1, cada aglomeracao vem prefixada com 1_, 2_, ... (ex: prismadata__commercial_cluster__1_aglomeracao_hash). Trecho mais proximo permanece unico no top-level."},"description":"Resposta batch. Chaves externas sao os id_externo informados na requisicao; cada valor segue o mesmo schema de GET /commercial_cluster."},"example":{"rj":{"prismadata__commercial_cluster__aglomeracao_hash":"5e28444d2cee","prismadata__commercial_cluster__area_ha":8.11,"prismadata__commercial_cluster__centroide_lat":-22.907453,"prismadata__commercial_cluster__centroide_lng":-43.176941,"prismadata__commercial_cluster__concentracao":"Densa","prismadata__commercial_cluster__contido":false,"prismadata__commercial_cluster__densidade_pdvs_km2":13079.9,"prismadata__commercial_cluster__dentro_de_aglomeracao":false,"prismadata__commercial_cluster__distancia_borda_m":176.45172415,"prismadata__commercial_cluster__distancia_m":176.45172415,"prismadata__commercial_cluster__faixa_renda":"Intermediária","prismadata__commercial_cluster__latitude":-22.9068,"prismadata__commercial_cluster__longitude":-43.1729,"prismadata__commercial_cluster__municipio":"RIO DE JANEIRO","prismadata__commercial_cluster__nome_aglomeracao":"Rua Bittencourt da Silva - RIO DE JANEIRO/RJ","prismadata__commercial_cluster__nome_segmento":"Grande, Densa, Intermediária de Eletrônicos","prismadata__commercial_cluster__pct_alimentacao":15.2,"prismadata__commercial_cluster__pct_alojamento":0.2,"prismadata__commercial_cluster__pct_automotivo":1.5,"prismadata__commercial_cluster__pct_combustiveis":0.0,"prismadata__commercial_cluster__pct_construcao":1.1,"prismadata__commercial_cluster__pct_eletronicos":46.9,"prismadata__commercial_cluster__pct_entretenimento":4.6,"prismadata__commercial_cluster__pct_moda":4.5,"prismadata__commercial_cluster__pct_moveis":3.8,"prismadata__commercial_cluster__pct_saude":4.4,"prismadata__commercial_cluster__pct_supermercado":0.7,"prismadata__commercial_cluster__pct_varejo_geral":4.9,"prismadata__commercial_cluster__percentil_br_renda":78.3,"prismadata__commercial_cluster__porte":"Grande","prismadata__commercial_cluster__qtd_pdvs":1061,"prismadata__commercial_cluster__rank_municipal_densidade":22,"prismadata__commercial_cluster__rank_municipal_pdvs":2,"prismadata__commercial_cluster__rank_municipal_score":6,"prismadata__commercial_cluster__rank_nacional_densidade":554,"prismadata__commercial_cluster__rank_nacional_pdvs":26,"prismadata__commercial_cluster__rank_nacional_score":55,"prismadata__commercial_cluster__rank_uf_densidade":56,"prismadata__commercial_cluster__rank_uf_pdvs":2,"prismadata__commercial_cluster__rank_uf_score":8,"prismadata__commercial_cluster__renda_mediana":3442.88,"prismadata__commercial_cluster__score_ponderado":1264.5,"prismadata__commercial_cluster__trecho_aglomeracao_hash":"5e28444d2cee","prismadata__commercial_cluster__trecho_buffer_m":5.0,"prismadata__commercial_cluster__trecho_densidade_linear_km":136.8,"prismadata__commercial_cluster__trecho_distancia_m":200.05615508,"prismadata__commercial_cluster__trecho_extensao_m":58.5,"prismadata__commercial_cluster__trecho_hash":"b1c8ba1b9eca","prismadata__commercial_cluster__trecho_logradouro":"Rua Anfilófio de Carvalho","prismadata__commercial_cluster__trecho_n_esquinas":1,"prismadata__commercial_cluster__trecho_num_final":29,"prismadata__commercial_cluster__trecho_num_inicial":29,"prismadata__commercial_cluster__trecho_qtd_pdvs":8,"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":1668,"prismadata__commercial_cluster__trecho_rank_municipal_densidade":998,"prismadata__commercial_cluster__trecho_rank_municipal_score":2506,"prismadata__commercial_cluster__trecho_rank_nacional_densidade":14216,"prismadata__commercial_cluster__trecho_rank_nacional_score":47133,"prismadata__commercial_cluster__trecho_rank_uf_densidade":1790,"prismadata__commercial_cluster__trecho_rank_uf_score":4589,"prismadata__commercial_cluster__trecho_score_ponderado":10.2,"prismadata__commercial_cluster__trecho_tipo_via":"RUA","prismadata__commercial_cluster__uf":"RJ","prismadata__commercial_cluster__vocacao":"Eletrônicos"},"sp":{"prismadata__commercial_cluster__aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__aglomeracao_hash_contendo":"5ebd0eb4f6b4","prismadata__commercial_cluster__area_ha":10.11,"prismadata__commercial_cluster__centroide_lat":-23.561411,"prismadata__commercial_cluster__centroide_lng":-46.656262,"prismadata__commercial_cluster__concentracao":"Densa","prismadata__commercial_cluster__contido":true,"prismadata__commercial_cluster__densidade_pdvs_km2":50625.8,"prismadata__commercial_cluster__dentro_de_aglomeracao":true,"prismadata__commercial_cluster__distancia_borda_m":57.99267672,"prismadata__commercial_cluster__distancia_m":0.0,"prismadata__commercial_cluster__faixa_renda":"Luxo","prismadata__commercial_cluster__latitude":-23.5613,"prismadata__commercial_cluster__longitude":-46.6558,"prismadata__commercial_cluster__municipio":"SAO PAULO","prismadata__commercial_cluster__nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","prismadata__commercial_cluster__nome_segmento":"Grande, Densa, Luxo de Diversificada","prismadata__commercial_cluster__pct_alimentacao":8.8,"prismadata__commercial_cluster__pct_alojamento":0.6,"prismadata__commercial_cluster__pct_automotivo":5.3,"prismadata__commercial_cluster__pct_combustiveis":0.1,"prismadata__commercial_cluster__pct_construcao":4.2,"prismadata__commercial_cluster__pct_eletronicos":16.4,"prismadata__commercial_cluster__pct_entretenimento":6.4,"prismadata__commercial_cluster__pct_moda":10.9,"prismadata__commercial_cluster__pct_moveis":9.2,"prismadata__commercial_cluster__pct_saude":4.9,"prismadata__commercial_cluster__pct_supermercado":0.8,"prismadata__commercial_cluster__pct_varejo_geral":12.6,"prismadata__commercial_cluster__percentil_br_renda":99.3,"prismadata__commercial_cluster__porte":"Grande","prismadata__commercial_cluster__qtd_pdvs":5117,"prismadata__commercial_cluster__rank_municipal_densidade":8,"prismadata__commercial_cluster__rank_municipal_pdvs":1,"prismadata__commercial_cluster__rank_municipal_score":1,"prismadata__commercial_cluster__rank_nacional_densidade":154,"prismadata__commercial_cluster__rank_nacional_pdvs":1,"prismadata__commercial_cluster__rank_nacional_score":1,"prismadata__commercial_cluster__rank_uf_densidade":23,"prismadata__commercial_cluster__rank_uf_pdvs":1,"prismadata__commercial_cluster__rank_uf_score":1,"prismadata__commercial_cluster__renda_mediana":8503.98,"prismadata__commercial_cluster__score_ponderado":6402.5,"prismadata__commercial_cluster__trecho_aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__trecho_buffer_m":5.0,"prismadata__commercial_cluster__trecho_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_distancia_m":5.47013445,"prismadata__commercial_cluster__trecho_extensao_m":271.3,"prismadata__commercial_cluster__trecho_hash":"c4caea4ffc9d","prismadata__commercial_cluster__trecho_logradouro":"Passagem Subterrânea Daher Elias Cutait","prismadata__commercial_cluster__trecho_n_esquinas":1,"prismadata__commercial_cluster__trecho_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_tipo_via":"AVENIDA","prismadata__commercial_cluster__uf":"SP","prismadata__commercial_cluster__vocacao":"Diversificada"}}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente ou geometria solicitada em batch. GEOMETRIA_BATCH_NAO_SUPORTADO retornado mesmo para admin se o body contem incluir_geometria=true.","content":{"application/json":{"schema":{"properties":{"SUCESSO":{"type":"boolean","enum":[false]},"EXCEPTION":{"type":"string"},"MESSAGE":{"type":"string"},"OUTPUT":{"type":"null"}},"type":"object","required":["SUCESSO","EXCEPTION","MESSAGE","OUTPUT"]},"examples":{"geometria_batch_nao_suportado":{"summary":"incluir_geometria=true no body do /batch","value":{"SUCESSO":false,"EXCEPTION":"GEOMETRIA_BATCH_NAO_SUPORTADO","MESSAGE":"O parametro incluir_geometria nao e suportado em /batch. Use o endpoint single point ou drill-down por hash."}}}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST \"https://api.prismadata.io/v1/location/commercial_cluster/batch\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"1\": [-23.55, -46.63], \"2\": [-22.90, -43.17]}'"},{"lang":"Python","source":"import httpx\n\nresp = httpx.post(\n    \"https://api.prismadata.io/v1/location/commercial_cluster/batch\",\n    json={\"1\": [-23.55, -46.63], \"2\": [-22.90, -43.17]},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\ncarteira = {\n    \"pdv_1\": [-23.5613, -46.6558],\n    \"pdv_2\": [-22.9068, -43.1729],\n}\nresult = client.commercial_cluster_batch(carteira, top_n=1)\nprint(result)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst carteira = {\n  pdv_1: [-23.5613, -46.6558] as [number, number],\n  pdv_2: [-22.9068, -43.1729] as [number, number],\n};\nconst result = await client.commercialClusterBatch(carteira, {\n  topNPorPonto: 1,\n});\nconsole.log(result);"}]}},"/location/commercial_cluster/{aglomeracao_hash}":{"get":{"tags":["Aglomerações Comerciais"],"summary":"Detalhe de uma aglomeração comercial","description":"Retorna todos os atributos de uma aglomeracao e seus trechos de rua.","operationId":"cluster_detalhe_endpoint_cluster__aglomeracao_hash__get","parameters":[{"name":"aglomeracao_hash","in":"path","required":true,"schema":{"type":"string","title":"Aglomeracao Hash"}},{"name":"incluir_geometria","in":"query","required":false,"schema":{"type":"boolean","description":"Retorna o poligono da aglomeracao. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA.","default":false,"title":"Incluir Geometria"},"description":"Retorna o poligono da aglomeracao. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA."},{"name":"wkt","in":"query","required":false,"schema":{"type":"boolean","description":"Quando incluir_geometria=true, retorna a geometria em WKT em vez de GeoJSON. Ignorado se incluir_geometria=false.","default":false,"title":"Wkt"},"description":"Quando incluir_geometria=true, retorna a geometria em WKT em vez de GeoJSON. Ignorado se incluir_geometria=false."},{"name":"incluir_trechos","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Incluir Trechos"}},{"name":"versao_dados","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}}],"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"prismadata__commercial_cluster__aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"prismadata__commercial_cluster__nome_aglomeracao":{"type":"string"},"prismadata__commercial_cluster__municipio":{"type":"string"},"prismadata__commercial_cluster__uf":{"type":"string","description":"UF de 2 caracteres"},"prismadata__commercial_cluster__qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__score_ponderado":{"type":"number"},"prismadata__commercial_cluster__area_ha":{"type":"number","description":"Area em hectares"},"prismadata__commercial_cluster__densidade_pdvs_km2":{"type":"number"},"prismadata__commercial_cluster__centroide_lat":{"type":"number"},"prismadata__commercial_cluster__centroide_lng":{"type":"number"},"prismadata__commercial_cluster__porte":{"type":"string","enum":["Pequena","Media","Grande"]},"prismadata__commercial_cluster__concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"prismadata__commercial_cluster__faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"prismadata__commercial_cluster__vocacao":{"type":"string"},"prismadata__commercial_cluster__nome_segmento":{"type":"string"},"prismadata__commercial_cluster__pct_alimentacao":{"type":"number"},"prismadata__commercial_cluster__pct_moda":{"type":"number"},"prismadata__commercial_cluster__pct_supermercado":{"type":"number"},"prismadata__commercial_cluster__pct_saude":{"type":"number"},"prismadata__commercial_cluster__pct_construcao":{"type":"number"},"prismadata__commercial_cluster__pct_eletronicos":{"type":"number"},"prismadata__commercial_cluster__pct_moveis":{"type":"number"},"prismadata__commercial_cluster__pct_combustiveis":{"type":"number"},"prismadata__commercial_cluster__pct_automotivo":{"type":"number"},"prismadata__commercial_cluster__pct_entretenimento":{"type":"number"},"prismadata__commercial_cluster__pct_alojamento":{"type":"number"},"prismadata__commercial_cluster__pct_varejo_geral":{"type":"number"},"prismadata__commercial_cluster__renda_mediana":{"type":"number"},"prismadata__commercial_cluster__percentil_br_renda":{"type":"number"},"prismadata__commercial_cluster__rank_nacional_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"prismadata__commercial_cluster__geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]}},"patternProperties":{"^prismadata__commercial_cluster__trecho_[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]}},"description":"Detalhe da aglomeracao. Quando incluir_trechos=true (default), cada trecho aparece com prefixo numerico: trecho_1_logradouro, trecho_2_logradouro, ... ordenados por rank_aglomeracao_score."},"example":{"prismadata__commercial_cluster__aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__area_ha":10.11,"prismadata__commercial_cluster__centroide_lat":-23.561411,"prismadata__commercial_cluster__centroide_lng":-46.656262,"prismadata__commercial_cluster__concentracao":"Densa","prismadata__commercial_cluster__densidade_pdvs_km2":50625.8,"prismadata__commercial_cluster__faixa_renda":"Luxo","prismadata__commercial_cluster__municipio":"SAO PAULO","prismadata__commercial_cluster__nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","prismadata__commercial_cluster__nome_segmento":"Grande, Densa, Luxo de Diversificada","prismadata__commercial_cluster__pct_alimentacao":8.8,"prismadata__commercial_cluster__pct_alojamento":0.6,"prismadata__commercial_cluster__pct_automotivo":5.3,"prismadata__commercial_cluster__pct_combustiveis":0.1,"prismadata__commercial_cluster__pct_construcao":4.2,"prismadata__commercial_cluster__pct_eletronicos":16.4,"prismadata__commercial_cluster__pct_entretenimento":6.4,"prismadata__commercial_cluster__pct_moda":10.9,"prismadata__commercial_cluster__pct_moveis":9.2,"prismadata__commercial_cluster__pct_saude":4.9,"prismadata__commercial_cluster__pct_supermercado":0.8,"prismadata__commercial_cluster__pct_varejo_geral":12.6,"prismadata__commercial_cluster__percentil_br_renda":99.3,"prismadata__commercial_cluster__porte":"Grande","prismadata__commercial_cluster__qtd_pdvs":5117,"prismadata__commercial_cluster__rank_municipal_densidade":8,"prismadata__commercial_cluster__rank_municipal_pdvs":1,"prismadata__commercial_cluster__rank_municipal_score":1,"prismadata__commercial_cluster__rank_nacional_densidade":154,"prismadata__commercial_cluster__rank_nacional_pdvs":1,"prismadata__commercial_cluster__rank_nacional_score":1,"prismadata__commercial_cluster__rank_uf_densidade":23,"prismadata__commercial_cluster__rank_uf_pdvs":1,"prismadata__commercial_cluster__rank_uf_score":1,"prismadata__commercial_cluster__renda_mediana":8503.98,"prismadata__commercial_cluster__score_ponderado":6402.5,"prismadata__commercial_cluster__trecho_10_buffer_m":5.0,"prismadata__commercial_cluster__trecho_10_densidade_linear_km":24.1,"prismadata__commercial_cluster__trecho_10_extensao_m":41.5,"prismadata__commercial_cluster__trecho_10_logradouro":"way_1466877125","prismadata__commercial_cluster__trecho_10_n_esquinas":1,"prismadata__commercial_cluster__trecho_10_num_final":1821,"prismadata__commercial_cluster__trecho_10_num_inicial":1821,"prismadata__commercial_cluster__trecho_10_qtd_pdvs":1,"prismadata__commercial_cluster__trecho_10_rank_aglomeracao_score":8265,"prismadata__commercial_cluster__trecho_10_rank_municipal_densidade":17109,"prismadata__commercial_cluster__trecho_10_rank_municipal_score":17604,"prismadata__commercial_cluster__trecho_10_rank_nacional_densidade":74927,"prismadata__commercial_cluster__trecho_10_rank_nacional_score":80972,"prismadata__commercial_cluster__trecho_10_rank_uf_densidade":30936,"prismadata__commercial_cluster__trecho_10_rank_uf_score":32570,"prismadata__commercial_cluster__trecho_10_score_ponderado":2.0,"prismadata__commercial_cluster__trecho_10_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_10_trecho_hash":"1de9d4144413","prismadata__commercial_cluster__trecho_11_buffer_m":5.0,"prismadata__commercial_cluster__trecho_11_densidade_linear_km":39.4,"prismadata__commercial_cluster__trecho_11_extensao_m":25.4,"prismadata__commercial_cluster__trecho_11_logradouro":"way_1466733486","prismadata__commercial_cluster__trecho_11_n_esquinas":1,"prismadata__commercial_cluster__trecho_11_num_final":41,"prismadata__commercial_cluster__trecho_11_num_inicial":41,"prismadata__commercial_cluster__trecho_11_qtd_pdvs":1,"prismadata__commercial_cluster__trecho_11_rank_aglomeracao_score":9205,"prismadata__commercial_cluster__trecho_11_rank_municipal_densidade":13280,"prismadata__commercial_cluster__trecho_11_rank_municipal_score":20301,"prismadata__commercial_cluster__trecho_11_rank_nacional_densidade":58445,"prismadata__commercial_cluster__trecho_11_rank_nacional_score":92315,"prismadata__commercial_cluster__trecho_11_rank_uf_densidade":23803,"prismadata__commercial_cluster__trecho_11_rank_uf_score":37364,"prismadata__commercial_cluster__trecho_11_score_ponderado":0.5,"prismadata__commercial_cluster__trecho_11_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_11_trecho_hash":"a15b029a6c4c","prismadata__commercial_cluster__trecho_12_buffer_m":5.0,"prismadata__commercial_cluster__trecho_12_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_12_extensao_m":95.1,"prismadata__commercial_cluster__trecho_12_logradouro":"Rua Plínio Figueiredo","prismadata__commercial_cluster__trecho_12_n_esquinas":2,"prismadata__commercial_cluster__trecho_12_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_12_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_12_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_12_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_12_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_12_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_12_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_12_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_12_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_12_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_12_trecho_hash":"238d050842cd","prismadata__commercial_cluster__trecho_13_buffer_m":6.8,"prismadata__commercial_cluster__trecho_13_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_13_extensao_m":68.3,"prismadata__commercial_cluster__trecho_13_logradouro":"Rua Professor Otávio Mendes","prismadata__commercial_cluster__trecho_13_n_esquinas":0,"prismadata__commercial_cluster__trecho_13_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_13_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_13_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_13_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_13_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_13_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_13_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_13_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_13_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_13_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_13_trecho_hash":"77bdc3d54061","prismadata__commercial_cluster__trecho_14_buffer_m":5.0,"prismadata__commercial_cluster__trecho_14_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_14_extensao_m":129.9,"prismadata__commercial_cluster__trecho_14_logradouro":"Praça Geremia Lunardelli","prismadata__commercial_cluster__trecho_14_n_esquinas":14,"prismadata__commercial_cluster__trecho_14_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_14_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_14_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_14_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_14_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_14_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_14_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_14_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_14_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_14_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_14_trecho_hash":"f87d4661e241","prismadata__commercial_cluster__trecho_15_buffer_m":5.0,"prismadata__commercial_cluster__trecho_15_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_15_extensao_m":41.5,"prismadata__commercial_cluster__trecho_15_logradouro":"way_1465985324","prismadata__commercial_cluster__trecho_15_n_esquinas":0,"prismadata__commercial_cluster__trecho_15_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_15_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_15_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_15_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_15_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_15_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_15_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_15_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_15_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_15_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_15_trecho_hash":"7a12bd460bbb","prismadata__commercial_cluster__trecho_16_buffer_m":5.0,"prismadata__commercial_cluster__trecho_16_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_16_extensao_m":26.7,"prismadata__commercial_cluster__trecho_16_logradouro":"way_1466733485","prismadata__commercial_cluster__trecho_16_n_esquinas":2,"prismadata__commercial_cluster__trecho_16_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_16_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_16_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_16_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_16_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_16_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_16_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_16_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_16_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_16_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_16_trecho_hash":"4c463d557efb","prismadata__commercial_cluster__trecho_17_buffer_m":5.0,"prismadata__commercial_cluster__trecho_17_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_17_extensao_m":25.4,"prismadata__commercial_cluster__trecho_17_logradouro":"way_1466733493","prismadata__commercial_cluster__trecho_17_n_esquinas":1,"prismadata__commercial_cluster__trecho_17_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_17_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_17_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_17_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_17_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_17_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_17_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_17_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_17_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_17_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_17_trecho_hash":"08fcadd87168","prismadata__commercial_cluster__trecho_18_buffer_m":5.0,"prismadata__commercial_cluster__trecho_18_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_18_extensao_m":55.4,"prismadata__commercial_cluster__trecho_18_logradouro":"way_1466827493","prismadata__commercial_cluster__trecho_18_n_esquinas":1,"prismadata__commercial_cluster__trecho_18_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_18_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_18_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_18_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_18_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_18_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_18_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_18_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_18_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_18_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_18_trecho_hash":"6f7342fe610b","prismadata__commercial_cluster__trecho_19_buffer_m":6.8,"prismadata__commercial_cluster__trecho_19_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_19_extensao_m":139.6,"prismadata__commercial_cluster__trecho_19_logradouro":"Alameda Casa Branca","prismadata__commercial_cluster__trecho_19_n_esquinas":2,"prismadata__commercial_cluster__trecho_19_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_19_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_19_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_19_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_19_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_19_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_19_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_19_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_19_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_19_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_19_trecho_hash":"246e48b2f8a5","prismadata__commercial_cluster__trecho_1_buffer_m":8.5,"prismadata__commercial_cluster__trecho_1_densidade_linear_km":5389.2,"prismadata__commercial_cluster__trecho_1_extensao_m":874.9,"prismadata__commercial_cluster__trecho_1_logradouro":"Avenida Paulista","prismadata__commercial_cluster__trecho_1_n_esquinas":17,"prismadata__commercial_cluster__trecho_1_num_final":2537,"prismadata__commercial_cluster__trecho_1_num_inicial":26,"prismadata__commercial_cluster__trecho_1_qtd_pdvs":4715,"prismadata__commercial_cluster__trecho_1_rank_aglomeracao_score":1,"prismadata__commercial_cluster__trecho_1_rank_municipal_densidade":8,"prismadata__commercial_cluster__trecho_1_rank_municipal_score":1,"prismadata__commercial_cluster__trecho_1_rank_nacional_densidade":29,"prismadata__commercial_cluster__trecho_1_rank_nacional_score":1,"prismadata__commercial_cluster__trecho_1_rank_uf_densidade":11,"prismadata__commercial_cluster__trecho_1_rank_uf_score":1,"prismadata__commercial_cluster__trecho_1_score_ponderado":5888.5,"prismadata__commercial_cluster__trecho_1_tipo_via":"AVENIDA","prismadata__commercial_cluster__trecho_1_trecho_hash":"1ce5243bd241","prismadata__commercial_cluster__trecho_20_buffer_m":5.0,"prismadata__commercial_cluster__trecho_20_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_20_extensao_m":271.3,"prismadata__commercial_cluster__trecho_20_logradouro":"Passagem Subterrânea Daher Elias Cutait","prismadata__commercial_cluster__trecho_20_n_esquinas":1,"prismadata__commercial_cluster__trecho_20_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_20_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_20_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_20_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_20_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_20_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_20_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_20_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_20_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_20_tipo_via":"AVENIDA","prismadata__commercial_cluster__trecho_20_trecho_hash":"c4caea4ffc9d","prismadata__commercial_cluster__trecho_21_buffer_m":6.8,"prismadata__commercial_cluster__trecho_21_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_21_extensao_m":26.6,"prismadata__commercial_cluster__trecho_21_logradouro":"Rua São Carlos do Pinhal","prismadata__commercial_cluster__trecho_21_n_esquinas":0,"prismadata__commercial_cluster__trecho_21_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_21_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_21_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_21_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_21_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_21_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_21_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_21_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_21_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_21_tipo_via":"RUA","prismadata__commercial_cluster__trecho_21_trecho_hash":"8c5f545fedc9","prismadata__commercial_cluster__trecho_22_buffer_m":5.0,"prismadata__commercial_cluster__trecho_22_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_22_extensao_m":38.2,"prismadata__commercial_cluster__trecho_22_logradouro":"Rua Engenheiro Monlevade","prismadata__commercial_cluster__trecho_22_n_esquinas":0,"prismadata__commercial_cluster__trecho_22_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_22_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_22_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_22_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_22_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_22_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_22_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_22_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_22_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_22_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_22_trecho_hash":"20a7799a828a","prismadata__commercial_cluster__trecho_23_buffer_m":5.0,"prismadata__commercial_cluster__trecho_23_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_23_extensao_m":62.2,"prismadata__commercial_cluster__trecho_23_logradouro":"Rua Itapeva","prismadata__commercial_cluster__trecho_23_n_esquinas":1,"prismadata__commercial_cluster__trecho_23_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_23_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_23_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_23_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_23_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_23_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_23_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_23_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_23_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_23_tipo_via":"RUA","prismadata__commercial_cluster__trecho_23_trecho_hash":"c81546674c2d","prismadata__commercial_cluster__trecho_2_buffer_m":6.8,"prismadata__commercial_cluster__trecho_2_densidade_linear_km":2023.5,"prismadata__commercial_cluster__trecho_2_extensao_m":161.6,"prismadata__commercial_cluster__trecho_2_logradouro":"Alameda Ministro Rocha Azevedo","prismadata__commercial_cluster__trecho_2_n_esquinas":2,"prismadata__commercial_cluster__trecho_2_num_final":1765,"prismadata__commercial_cluster__trecho_2_num_inicial":596,"prismadata__commercial_cluster__trecho_2_qtd_pdvs":327,"prismadata__commercial_cluster__trecho_2_rank_aglomeracao_score":90,"prismadata__commercial_cluster__trecho_2_rank_municipal_densidade":41,"prismadata__commercial_cluster__trecho_2_rank_municipal_score":67,"prismadata__commercial_cluster__trecho_2_rank_nacional_densidade":165,"prismadata__commercial_cluster__trecho_2_rank_nacional_score":265,"prismadata__commercial_cluster__trecho_2_rank_uf_densidade":62,"prismadata__commercial_cluster__trecho_2_rank_uf_score":96,"prismadata__commercial_cluster__trecho_2_score_ponderado":414.2,"prismadata__commercial_cluster__trecho_2_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_2_trecho_hash":"32c019655747","prismadata__commercial_cluster__trecho_3_buffer_m":6.8,"prismadata__commercial_cluster__trecho_3_densidade_linear_km":67.7,"prismadata__commercial_cluster__trecho_3_extensao_m":236.4,"prismadata__commercial_cluster__trecho_3_logradouro":"Rua Peixoto Gomide","prismadata__commercial_cluster__trecho_3_n_esquinas":6,"prismadata__commercial_cluster__trecho_3_num_final":870,"prismadata__commercial_cluster__trecho_3_num_inicial":281,"prismadata__commercial_cluster__trecho_3_qtd_pdvs":16,"prismadata__commercial_cluster__trecho_3_rank_aglomeracao_score":3467,"prismadata__commercial_cluster__trecho_3_rank_municipal_densidade":7909,"prismadata__commercial_cluster__trecho_3_rank_municipal_score":4307,"prismadata__commercial_cluster__trecho_3_rank_nacional_densidade":36931,"prismadata__commercial_cluster__trecho_3_rank_nacional_score":23456,"prismadata__commercial_cluster__trecho_3_rank_uf_densidade":14123,"prismadata__commercial_cluster__trecho_3_rank_uf_score":8420,"prismadata__commercial_cluster__trecho_3_score_ponderado":26.8,"prismadata__commercial_cluster__trecho_3_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_3_trecho_hash":"fcfdd802d82d","prismadata__commercial_cluster__trecho_4_buffer_m":5.0,"prismadata__commercial_cluster__trecho_4_densidade_linear_km":86.9,"prismadata__commercial_cluster__trecho_4_extensao_m":161.1,"prismadata__commercial_cluster__trecho_4_logradouro":"Rua Carlos Comenale","prismadata__commercial_cluster__trecho_4_n_esquinas":1,"prismadata__commercial_cluster__trecho_4_num_final":1688,"prismadata__commercial_cluster__trecho_4_num_inicial":239,"prismadata__commercial_cluster__trecho_4_qtd_pdvs":14,"prismadata__commercial_cluster__trecho_4_rank_aglomeracao_score":4162,"prismadata__commercial_cluster__trecho_4_rank_municipal_densidade":5578,"prismadata__commercial_cluster__trecho_4_rank_municipal_score":5970,"prismadata__commercial_cluster__trecho_4_rank_nacional_densidade":27576,"prismadata__commercial_cluster__trecho_4_rank_nacional_score":30989,"prismadata__commercial_cluster__trecho_4_rank_uf_densidade":9974,"prismadata__commercial_cluster__trecho_4_rank_uf_score":11536,"prismadata__commercial_cluster__trecho_4_score_ponderado":19.0,"prismadata__commercial_cluster__trecho_4_tipo_via":"RESIDENCIAL","prismadata__commercial_cluster__trecho_4_trecho_hash":"c0fb825aff16","prismadata__commercial_cluster__trecho_5_buffer_m":5.0,"prismadata__commercial_cluster__trecho_5_densidade_linear_km":464.1,"prismadata__commercial_cluster__trecho_5_extensao_m":23.7,"prismadata__commercial_cluster__trecho_5_logradouro":"way_1466827845","prismadata__commercial_cluster__trecho_5_n_esquinas":1,"prismadata__commercial_cluster__trecho_5_num_final":1347,"prismadata__commercial_cluster__trecho_5_num_inicial":674,"prismadata__commercial_cluster__trecho_5_qtd_pdvs":11,"prismadata__commercial_cluster__trecho_5_rank_aglomeracao_score":4227,"prismadata__commercial_cluster__trecho_5_rank_municipal_densidade":272,"prismadata__commercial_cluster__trecho_5_rank_municipal_score":6085,"prismadata__commercial_cluster__trecho_5_rank_nacional_densidade":1771,"prismadata__commercial_cluster__trecho_5_rank_nacional_score":31509,"prismadata__commercial_cluster__trecho_5_rank_uf_densidade":464,"prismadata__commercial_cluster__trecho_5_rank_uf_score":11748,"prismadata__commercial_cluster__trecho_5_score_ponderado":18.8,"prismadata__commercial_cluster__trecho_5_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_5_trecho_hash":"857b220d77f1","prismadata__commercial_cluster__trecho_6_buffer_m":6.8,"prismadata__commercial_cluster__trecho_6_densidade_linear_km":117.0,"prismadata__commercial_cluster__trecho_6_extensao_m":136.7,"prismadata__commercial_cluster__trecho_6_logradouro":"Alameda Santos","prismadata__commercial_cluster__trecho_6_n_esquinas":6,"prismadata__commercial_cluster__trecho_6_num_final":1482,"prismadata__commercial_cluster__trecho_6_num_inicial":1398,"prismadata__commercial_cluster__trecho_6_qtd_pdvs":16,"prismadata__commercial_cluster__trecho_6_rank_aglomeracao_score":4984,"prismadata__commercial_cluster__trecho_6_rank_municipal_densidade":3397,"prismadata__commercial_cluster__trecho_6_rank_municipal_score":8092,"prismadata__commercial_cluster__trecho_6_rank_nacional_densidade":18295,"prismadata__commercial_cluster__trecho_6_rank_nacional_score":40480,"prismadata__commercial_cluster__trecho_6_rank_uf_densidade":6056,"prismadata__commercial_cluster__trecho_6_rank_uf_score":15482,"prismadata__commercial_cluster__trecho_6_score_ponderado":13.0,"prismadata__commercial_cluster__trecho_6_tipo_via":"RUA","prismadata__commercial_cluster__trecho_6_trecho_hash":"729ba961b8e5","prismadata__commercial_cluster__trecho_7_buffer_m":5.0,"prismadata__commercial_cluster__trecho_7_densidade_linear_km":299.1,"prismadata__commercial_cluster__trecho_7_extensao_m":23.4,"prismadata__commercial_cluster__trecho_7_logradouro":"Alameda Rio Claro","prismadata__commercial_cluster__trecho_7_n_esquinas":0,"prismadata__commercial_cluster__trecho_7_num_final":1324,"prismadata__commercial_cluster__trecho_7_num_inicial":1313,"prismadata__commercial_cluster__trecho_7_qtd_pdvs":7,"prismadata__commercial_cluster__trecho_7_rank_aglomeracao_score":5687,"prismadata__commercial_cluster__trecho_7_rank_municipal_densidade":553,"prismadata__commercial_cluster__trecho_7_rank_municipal_score":10053,"prismadata__commercial_cluster__trecho_7_rank_nacional_densidade":3653,"prismadata__commercial_cluster__trecho_7_rank_nacional_score":48902,"prismadata__commercial_cluster__trecho_7_rank_uf_densidade":965,"prismadata__commercial_cluster__trecho_7_rank_uf_score":19023,"prismadata__commercial_cluster__trecho_7_score_ponderado":9.5,"prismadata__commercial_cluster__trecho_7_tipo_via":"PEDESTRE","prismadata__commercial_cluster__trecho_7_trecho_hash":"d64e679d7b7b","prismadata__commercial_cluster__trecho_8_buffer_m":5.0,"prismadata__commercial_cluster__trecho_8_densidade_linear_km":243.9,"prismadata__commercial_cluster__trecho_8_extensao_m":32.8,"prismadata__commercial_cluster__trecho_8_logradouro":"way_1466877126","prismadata__commercial_cluster__trecho_8_n_esquinas":1,"prismadata__commercial_cluster__trecho_8_num_final":1776,"prismadata__commercial_cluster__trecho_8_num_inicial":1771,"prismadata__commercial_cluster__trecho_8_qtd_pdvs":8,"prismadata__commercial_cluster__trecho_8_rank_aglomeracao_score":6005,"prismadata__commercial_cluster__trecho_8_rank_municipal_densidade":820,"prismadata__commercial_cluster__trecho_8_rank_municipal_score":11029,"prismadata__commercial_cluster__trecho_8_rank_nacional_densidade":5175,"prismadata__commercial_cluster__trecho_8_rank_nacional_score":52978,"prismadata__commercial_cluster__trecho_8_rank_uf_densidade":1392,"prismadata__commercial_cluster__trecho_8_rank_uf_score":20774,"prismadata__commercial_cluster__trecho_8_score_ponderado":8.2,"prismadata__commercial_cluster__trecho_8_tipo_via":"SERVICO","prismadata__commercial_cluster__trecho_8_trecho_hash":"3f0935708477","prismadata__commercial_cluster__trecho_9_buffer_m":5.0,"prismadata__commercial_cluster__trecho_9_densidade_linear_km":3.6,"prismadata__commercial_cluster__trecho_9_extensao_m":274.1,"prismadata__commercial_cluster__trecho_9_logradouro":"Avenida Nove de Julho","prismadata__commercial_cluster__trecho_9_n_esquinas":0,"prismadata__commercial_cluster__trecho_9_qtd_pdvs":1,"prismadata__commercial_cluster__trecho_9_rank_aglomeracao_score":8265,"prismadata__commercial_cluster__trecho_9_rank_municipal_densidade":21032,"prismadata__commercial_cluster__trecho_9_rank_municipal_score":17604,"prismadata__commercial_cluster__trecho_9_rank_nacional_densidade":95034,"prismadata__commercial_cluster__trecho_9_rank_nacional_score":80972,"prismadata__commercial_cluster__trecho_9_rank_uf_densidade":38567,"prismadata__commercial_cluster__trecho_9_rank_uf_score":32570,"prismadata__commercial_cluster__trecho_9_score_ponderado":2.0,"prismadata__commercial_cluster__trecho_9_tipo_via":"AVENIDA","prismadata__commercial_cluster__trecho_9_trecho_hash":"5760208c3125","prismadata__commercial_cluster__uf":"SP","prismadata__commercial_cluster__vocacao":"Diversificada"}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente. Codigos possiveis no campo `EXCEPTION`: GEOMETRIA_NAO_AUTORIZADA (cliente sem role admin nem viewer:commercial_cluster tentou incluir_geometria=true) ou role insuficiente para o endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"SUCESSO":{"type":"boolean","enum":[false]},"EXCEPTION":{"type":"string"},"MESSAGE":{"type":"string"},"OUTPUT":{"type":"null"}},"required":["SUCESSO","EXCEPTION","MESSAGE","OUTPUT"]},"examples":{"geometria_nao_autorizada":{"summary":"Cliente sem viewer:commercial_cluster tentou geometria","value":{"SUCESSO":false,"EXCEPTION":"GEOMETRIA_NAO_AUTORIZADA","MESSAGE":"O parametro incluir_geometria=true requer role admin ou viewer do produto. Entre em contato com o time comercial da PrismaData para upgrade."}}}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl \"https://api.prismadata.io/v1/location/commercial_cluster/{aglomeracao_hash}\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\""},{"lang":"Python","source":"import httpx\n\nresp = httpx.get(\n    \"https://api.prismadata.io/v1/location/commercial_cluster/{aglomeracao_hash}\",\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.commercial_cluster_detail(\"5ebd0eb4f6b4\")\nprint(result)\n\n# Optional: include geometry (requires viewer:commercial_cluster role)\ndetail = client.commercial_cluster_detail(\n    \"5ebd0eb4f6b4\",\n    include_geometry=True,\n    wkt=True,  # WKT string; omit for GeoJSON dict\n)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.commercialClusterDetail(\"5ebd0eb4f6b4\");\nconsole.log(result);\n\n// Optional: include geometry (requires viewer:commercial_cluster role)\nconst detail = await client.commercialClusterDetail(\"5ebd0eb4f6b4\", {\n  includeGeometry: true,\n  wkt: true, // WKT string; omit for GeoJSON object\n});"}]}},"/location/commercial_cluster/street":{"get":{"tags":["Aglomerações Comerciais"],"summary":"Trecho de rua comercial mais próximo de um ponto","description":"Retorna trecho(s) de rua mais proximo(s) de um ponto.","operationId":"street_endpoint_street_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":90,"exclusiveMinimum":-90,"title":"Lat"}},{"name":"lng","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":180,"exclusiveMinimum":-180,"title":"Lng"}},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":1,"default":1,"title":"Top N"}},{"name":"raio_m","in":"query","required":false,"schema":{"type":"number","maximum":5000,"exclusiveMinimum":0,"default":200.0,"title":"Raio M"}},{"name":"incluir_aglomeracao","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Incluir Aglomeracao"}},{"name":"versao_dados","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}}],"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Street Endpoint Street Get","properties":{"prismadata__commercial_cluster__trecho_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_aglomeracao_hash":{"type":"string"},"prismadata__commercial_cluster__trecho_logradouro":{"type":"string"},"prismadata__commercial_cluster__trecho_tipo_via":{"type":"string"},"prismadata__commercial_cluster__trecho_extensao_m":{"type":"number"},"prismadata__commercial_cluster__trecho_qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__trecho_score_ponderado":{"type":"number"},"prismadata__commercial_cluster__trecho_densidade_linear_km":{"type":"number"},"prismadata__commercial_cluster__trecho_num_inicial":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_num_final":{"type":["integer","null"]},"prismadata__commercial_cluster__trecho_n_esquinas":{"type":"integer"},"prismadata__commercial_cluster__trecho_buffer_m":{"type":"number"},"prismadata__commercial_cluster__trecho_rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":{"type":"integer"},"prismadata__commercial_cluster__trecho_distancia_m":{"type":"number"},"prismadata__commercial_cluster__aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"prismadata__commercial_cluster__nome_aglomeracao":{"type":"string"},"prismadata__commercial_cluster__municipio":{"type":"string"},"prismadata__commercial_cluster__uf":{"type":"string","description":"UF de 2 caracteres"},"prismadata__commercial_cluster__qtd_pdvs":{"type":"integer"},"prismadata__commercial_cluster__score_ponderado":{"type":"number"},"prismadata__commercial_cluster__area_ha":{"type":"number","description":"Area em hectares"},"prismadata__commercial_cluster__densidade_pdvs_km2":{"type":"number"},"prismadata__commercial_cluster__centroide_lat":{"type":"number"},"prismadata__commercial_cluster__centroide_lng":{"type":"number"},"prismadata__commercial_cluster__porte":{"type":"string","enum":["Pequena","Media","Grande"]},"prismadata__commercial_cluster__concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"prismadata__commercial_cluster__faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"prismadata__commercial_cluster__vocacao":{"type":"string"},"prismadata__commercial_cluster__nome_segmento":{"type":"string"},"prismadata__commercial_cluster__pct_alimentacao":{"type":"number"},"prismadata__commercial_cluster__pct_moda":{"type":"number"},"prismadata__commercial_cluster__pct_supermercado":{"type":"number"},"prismadata__commercial_cluster__pct_saude":{"type":"number"},"prismadata__commercial_cluster__pct_construcao":{"type":"number"},"prismadata__commercial_cluster__pct_eletronicos":{"type":"number"},"prismadata__commercial_cluster__pct_moveis":{"type":"number"},"prismadata__commercial_cluster__pct_combustiveis":{"type":"number"},"prismadata__commercial_cluster__pct_automotivo":{"type":"number"},"prismadata__commercial_cluster__pct_entretenimento":{"type":"number"},"prismadata__commercial_cluster__pct_alojamento":{"type":"number"},"prismadata__commercial_cluster__pct_varejo_geral":{"type":"number"},"prismadata__commercial_cluster__renda_mediana":{"type":"number"},"prismadata__commercial_cluster__percentil_br_renda":{"type":"number"},"prismadata__commercial_cluster__rank_nacional_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_score":{"type":"integer"},"prismadata__commercial_cluster__rank_nacional_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_score":{"type":"integer"},"prismadata__commercial_cluster__rank_uf_densidade":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_pdvs":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_score":{"type":"integer"},"prismadata__commercial_cluster__rank_municipal_densidade":{"type":"integer"},"prismadata__commercial_cluster__distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"prismadata__commercial_cluster__contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"prismadata__commercial_cluster__geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]}},"patternProperties":{"^prismadata__commercial_cluster__[1-9][0-9]*_.+$":{"type":["string","number","integer","boolean","null"]}},"description":"Trecho de rua mais proximo do ponto consultado. Campos do trecho ficam no top-level COM prefixo `trecho_` (convencao de nivel raiz, evita colisao com a aglomeracao-mae). Quando incluir_aglomeracao=true (default), campos da aglomeracao aparecem no mesmo nivel sem prefixo. Para top_n>1, prefixo numerico se aplica."},"example":{"prismadata__commercial_cluster__aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__area_ha":10.11,"prismadata__commercial_cluster__centroide_lat":-23.561411,"prismadata__commercial_cluster__centroide_lng":-46.656262,"prismadata__commercial_cluster__concentracao":"Densa","prismadata__commercial_cluster__densidade_pdvs_km2":50625.8,"prismadata__commercial_cluster__faixa_renda":"Luxo","prismadata__commercial_cluster__municipio":"SAO PAULO","prismadata__commercial_cluster__nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","prismadata__commercial_cluster__nome_segmento":"Grande, Densa, Luxo de Diversificada","prismadata__commercial_cluster__pct_alimentacao":8.8,"prismadata__commercial_cluster__pct_alojamento":0.6,"prismadata__commercial_cluster__pct_automotivo":5.3,"prismadata__commercial_cluster__pct_combustiveis":0.1,"prismadata__commercial_cluster__pct_construcao":4.2,"prismadata__commercial_cluster__pct_eletronicos":16.4,"prismadata__commercial_cluster__pct_entretenimento":6.4,"prismadata__commercial_cluster__pct_moda":10.9,"prismadata__commercial_cluster__pct_moveis":9.2,"prismadata__commercial_cluster__pct_saude":4.9,"prismadata__commercial_cluster__pct_supermercado":0.8,"prismadata__commercial_cluster__pct_varejo_geral":12.6,"prismadata__commercial_cluster__percentil_br_renda":99.3,"prismadata__commercial_cluster__porte":"Grande","prismadata__commercial_cluster__qtd_pdvs":5117,"prismadata__commercial_cluster__rank_municipal_densidade":8,"prismadata__commercial_cluster__rank_municipal_pdvs":1,"prismadata__commercial_cluster__rank_municipal_score":1,"prismadata__commercial_cluster__rank_nacional_densidade":154,"prismadata__commercial_cluster__rank_nacional_pdvs":1,"prismadata__commercial_cluster__rank_nacional_score":1,"prismadata__commercial_cluster__rank_uf_densidade":23,"prismadata__commercial_cluster__rank_uf_pdvs":1,"prismadata__commercial_cluster__rank_uf_score":1,"prismadata__commercial_cluster__renda_mediana":8503.98,"prismadata__commercial_cluster__score_ponderado":6402.5,"prismadata__commercial_cluster__trecho_aglomeracao_hash":"5ebd0eb4f6b4","prismadata__commercial_cluster__trecho_buffer_m":5.0,"prismadata__commercial_cluster__trecho_densidade_linear_km":0.0,"prismadata__commercial_cluster__trecho_distancia_m":5.47013445,"prismadata__commercial_cluster__trecho_extensao_m":271.3,"prismadata__commercial_cluster__trecho_hash":"c4caea4ffc9d","prismadata__commercial_cluster__trecho_logradouro":"Passagem Subterrânea Daher Elias Cutait","prismadata__commercial_cluster__trecho_n_esquinas":1,"prismadata__commercial_cluster__trecho_qtd_pdvs":0,"prismadata__commercial_cluster__trecho_rank_aglomeracao_score":9377,"prismadata__commercial_cluster__trecho_rank_municipal_densidade":21043,"prismadata__commercial_cluster__trecho_rank_municipal_score":21043,"prismadata__commercial_cluster__trecho_rank_nacional_densidade":95187,"prismadata__commercial_cluster__trecho_rank_nacional_score":95187,"prismadata__commercial_cluster__trecho_rank_uf_densidade":38601,"prismadata__commercial_cluster__trecho_rank_uf_score":38601,"prismadata__commercial_cluster__trecho_score_ponderado":0.0,"prismadata__commercial_cluster__trecho_tipo_via":"AVENIDA","prismadata__commercial_cluster__uf":"SP","prismadata__commercial_cluster__vocacao":"Diversificada"}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl \"https://api.prismadata.io/v1/location/commercial_cluster/street?lat=-25.5&lng=-25.5\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\""},{"lang":"Python","source":"import httpx\n\nresp = httpx.get(\n    \"https://api.prismadata.io/v1/location/commercial_cluster/street\",\n    params={\"lat\": -25.5, \"lng\": -25.5},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.commercial_cluster_street(\n    lat=-23.5613,\n    lng=-46.6558,\n    radius_m=200.0,\n)\nprint(result)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.commercialClusterStreet(-23.5613, -46.6558, {\n  radiusM: 200,\n});\nconsole.log(result);"}]}},"/location/commercial_cluster/search":{"post":{"tags":["Aglomerações Comerciais"],"summary":"Busca aglomerações comerciais por filtros","description":"Busca aglomeracoes por filtros sem ponto geografico.","operationId":"search_endpoint_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Endpoint Search Post","properties":{"prismadata__commercial_cluster__aglomeracoes":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"nome_aglomeracao":{"type":"string"},"municipio":{"type":"string"},"uf":{"type":"string","description":"UF de 2 caracteres"},"qtd_pdvs":{"type":"integer"},"score_ponderado":{"type":"number"},"area_ha":{"type":"number","description":"Area em hectares"},"densidade_pdvs_km2":{"type":"number"},"centroide_lat":{"type":"number"},"centroide_lng":{"type":"number"},"porte":{"type":"string","enum":["Pequena","Media","Grande"]},"concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"vocacao":{"type":"string"},"nome_segmento":{"type":"string"},"pct_alimentacao":{"type":"number"},"pct_moda":{"type":"number"},"pct_supermercado":{"type":"number"},"pct_saude":{"type":"number"},"pct_construcao":{"type":"number"},"pct_eletronicos":{"type":"number"},"pct_moveis":{"type":"number"},"pct_combustiveis":{"type":"number"},"pct_automotivo":{"type":"number"},"pct_entretenimento":{"type":"number"},"pct_alojamento":{"type":"number"},"pct_varejo_geral":{"type":"number"},"renda_mediana":{"type":"number"},"percentil_br_renda":{"type":"number"},"rank_nacional_pdvs":{"type":"integer"},"rank_nacional_score":{"type":"integer"},"rank_nacional_densidade":{"type":"integer"},"rank_uf_pdvs":{"type":"integer"},"rank_uf_score":{"type":"integer"},"rank_uf_densidade":{"type":"integer"},"rank_municipal_pdvs":{"type":"integer"},"rank_municipal_score":{"type":"integer"},"rank_municipal_densidade":{"type":"integer"},"distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]}}}},"prismadata__commercial_cluster__total":{"type":"integer"},"prismadata__commercial_cluster__limite":{"type":"integer"},"prismadata__commercial_cluster__offset":{"type":"integer"}},"description":"Busca por filtros — retorna lista paginada de aglomeracoes. Modo flat nao se aplica."},"example":{"prismadata__commercial_cluster__aglomeracoes":[{"aglomeracao_hash":"5ebd0eb4f6b4","area_ha":10.11,"centroide_lat":-23.561411,"centroide_lng":-46.656262,"concentracao":"Densa","densidade_pdvs_km2":50625.8,"faixa_renda":"Luxo","municipio":"SAO PAULO","nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","nome_segmento":"Grande, Densa, Luxo de Diversificada","pct_alimentacao":8.8,"pct_alojamento":0.6,"pct_automotivo":5.3,"pct_combustiveis":0.1,"pct_construcao":4.2,"pct_eletronicos":16.4,"pct_entretenimento":6.4,"pct_moda":10.9,"pct_moveis":9.2,"pct_saude":4.9,"pct_supermercado":0.8,"pct_varejo_geral":12.6,"percentil_br_renda":99.3,"porte":"Grande","qtd_pdvs":5117,"rank_municipal_densidade":8,"rank_municipal_pdvs":1,"rank_municipal_score":1,"rank_nacional_densidade":154,"rank_nacional_pdvs":1,"rank_nacional_score":1,"rank_uf_densidade":23,"rank_uf_pdvs":1,"rank_uf_score":1,"renda_mediana":8503.98,"score_ponderado":6402.5,"uf":"SP","vocacao":"Diversificada"},{"aglomeracao_hash":"5af6276cef95","area_ha":11.54,"centroide_lat":-23.536416,"centroide_lng":-46.621632,"concentracao":"Densa","densidade_pdvs_km2":25180.2,"faixa_renda":"Intermediária","municipio":"SAO PAULO","nome_aglomeracao":"Rua Monsenhor Andrade - SAO PAULO/SP","nome_segmento":"Grande, Densa, Intermediária de Moda","pct_alimentacao":3.6,"pct_alojamento":0.1,"pct_automotivo":0.2,"pct_combustiveis":0.1,"pct_construcao":0.2,"pct_eletronicos":2.6,"pct_entretenimento":1.1,"pct_moda":68.5,"pct_moveis":3.6,"pct_saude":2.6,"pct_supermercado":0.3,"pct_varejo_geral":4.7,"percentil_br_renda":80.2,"porte":"Grande","qtd_pdvs":2907,"rank_municipal_densidade":21,"rank_municipal_pdvs":3,"rank_municipal_score":2,"rank_nacional_densidade":293,"rank_nacional_pdvs":3,"rank_nacional_score":2,"rank_uf_densidade":50,"rank_uf_pdvs":3,"rank_uf_score":2,"renda_mediana":2953.31,"score_ponderado":5074.2,"uf":"SP","vocacao":"Moda"},{"aglomeracao_hash":"28c7176d5825","area_ha":12.26,"centroide_lat":-23.532758,"centroide_lng":-46.620947,"concentracao":"Densa","densidade_pdvs_km2":22409.9,"faixa_renda":"Econômica","municipio":"SAO PAULO","nome_aglomeracao":"Rua Tiers - SAO PAULO/SP","nome_segmento":"Grande, Densa, Econômica de Moda","pct_alimentacao":3.2,"pct_alojamento":0.0,"pct_automotivo":0.2,"pct_combustiveis":0.0,"pct_construcao":0.1,"pct_eletronicos":4.8,"pct_entretenimento":1.4,"pct_moda":64.7,"pct_moveis":4.4,"pct_saude":2.1,"pct_supermercado":0.0,"pct_varejo_geral":7.4,"percentil_br_renda":70.0,"porte":"Grande","qtd_pdvs":2747,"rank_municipal_densidade":23,"rank_municipal_pdvs":5,"rank_municipal_score":3,"rank_nacional_densidade":329,"rank_nacional_pdvs":5,"rank_nacional_score":3,"rank_uf_densidade":60,"rank_uf_pdvs":5,"rank_uf_score":3,"renda_mediana":1715.8,"score_ponderado":4873.0,"uf":"SP","vocacao":"Moda"}],"prismadata__commercial_cluster__limite":3,"prismadata__commercial_cluster__offset":0,"prismadata__commercial_cluster__total":1263}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST \"https://api.prismadata.io/v1/location/commercial_cluster/search\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ ... }'"},{"lang":"Python","source":"import httpx\n\nresp = httpx.post(\n    \"https://api.prismadata.io/v1/location/commercial_cluster/search\",\n    json={...},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.commercial_cluster_search(\n    filters={\n        \"state\": [\"SP\", \"RJ\"],\n        \"vocation\": [\"Moda\"],\n        \"size\": [\"Grande\"],\n        \"min_pdv_count\": 500,\n    },\n    sort_by=\"score_ponderado\",\n    limit=50,\n)\nprint(result)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.commercialClusterSearch(\n  {\n    state: [\"SP\", \"RJ\"],\n    vocation: [\"Moda\"],\n    size: [\"Grande\"],\n    min_pdv_count: 500,\n  },\n  { sortBy: \"score_ponderado\", limit: 50 },\n);\nconsole.log(result);"}]}},"/location/commercial_cluster/ranking":{"get":{"tags":["Aglomerações Comerciais"],"summary":"Ranking de aglomerações comerciais","description":"Top-N aglomeracoes por criterio e escopo.","operationId":"ranking_endpoint_ranking_get","parameters":[{"name":"criterio","in":"query","required":false,"schema":{"type":"string","pattern":"^(score|pdvs|densidade)$","default":"score","title":"Criterio"}},{"name":"escopo","in":"query","required":false,"schema":{"type":"string","pattern":"^(nacional|uf|municipio)$","default":"nacional","title":"Escopo"}},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Top N"}},{"name":"uf","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uf"}},{"name":"municipio","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Municipio"}},{"name":"vocacao","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vocacao"}},{"name":"versao_dados","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}}],"responses":{"200":{"description":"Resposta de sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Ranking Endpoint Ranking Get","properties":{"prismadata__commercial_cluster__ranking":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"aglomeracao_hash":{"type":"string","description":"Identificador global da aglomeracao"},"nome_aglomeracao":{"type":"string"},"municipio":{"type":"string"},"uf":{"type":"string","description":"UF de 2 caracteres"},"qtd_pdvs":{"type":"integer"},"score_ponderado":{"type":"number"},"area_ha":{"type":"number","description":"Area em hectares"},"densidade_pdvs_km2":{"type":"number"},"centroide_lat":{"type":"number"},"centroide_lng":{"type":"number"},"porte":{"type":"string","enum":["Pequena","Media","Grande"]},"concentracao":{"type":"string","enum":["Esparsa","Distribuida","Densa"]},"faixa_renda":{"type":"string","enum":["Popular","Econômica","Intermediária","Premium","Luxo"]},"vocacao":{"type":"string"},"nome_segmento":{"type":"string"},"pct_alimentacao":{"type":"number"},"pct_moda":{"type":"number"},"pct_supermercado":{"type":"number"},"pct_saude":{"type":"number"},"pct_construcao":{"type":"number"},"pct_eletronicos":{"type":"number"},"pct_moveis":{"type":"number"},"pct_combustiveis":{"type":"number"},"pct_automotivo":{"type":"number"},"pct_entretenimento":{"type":"number"},"pct_alojamento":{"type":"number"},"pct_varejo_geral":{"type":"number"},"renda_mediana":{"type":"number"},"percentil_br_renda":{"type":"number"},"rank_nacional_pdvs":{"type":"integer"},"rank_nacional_score":{"type":"integer"},"rank_nacional_densidade":{"type":"integer"},"rank_uf_pdvs":{"type":"integer"},"rank_uf_score":{"type":"integer"},"rank_uf_densidade":{"type":"integer"},"rank_municipal_pdvs":{"type":"integer"},"rank_municipal_score":{"type":"integer"},"rank_municipal_densidade":{"type":"integer"},"distancia_m":{"type":["number","null"],"description":"Distancia ao ponto consultado (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"distancia_borda_m":{"type":["number","null"],"description":"Distancia a borda do poligono (m). null nos endpoints sem ponto de referencia (/street, /{hash}, /search, /ranking)."},"contido":{"type":["boolean","null"],"description":"Se o ponto consultado esta dentro da aglomeracao. null nos endpoints sem ponto de referencia."},"geometria":{"description":"Poligono da aglomeracao. Opt-in via incluir_geometria=true. Requer role 'admin' ou 'viewer:commercial_cluster' no JWT — caso contrario retorna 403 GEOMETRIA_NAO_AUTORIZADA. Formato padrao GeoJSON (objeto); com wkt=true vira string WKT. Sem simplificacao, SRID 4326. Nao suportado em /batch.","oneOf":[{"type":"object","description":"GeoJSON Polygon","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}},"required":["type","coordinates"]},{"type":"string","description":"WKT string (quando wkt=true)","pattern":"^(POLYGON|MULTIPOLYGON)\\(\\("}]}}}},"prismadata__commercial_cluster__criterio":{"type":"string","enum":["score","pdvs","densidade"]},"prismadata__commercial_cluster__escopo":{"type":"string","enum":["nacional","uf","municipio"]},"prismadata__commercial_cluster__total_retornado":{"type":"integer"}},"description":"Top-N por criterio. Modo flat nao se aplica."},"example":{"prismadata__commercial_cluster__criterio":"score","prismadata__commercial_cluster__escopo":"nacional","prismadata__commercial_cluster__ranking":[{"aglomeracao_hash":"5ebd0eb4f6b4","area_ha":10.11,"centroide_lat":-23.561411,"centroide_lng":-46.656262,"concentracao":"Densa","densidade_pdvs_km2":50625.8,"faixa_renda":"Luxo","municipio":"SAO PAULO","nome_aglomeracao":"Avenida Paulista / Alameda Ministro Rocha Azevedo - SAO PAULO/SP","nome_segmento":"Grande, Densa, Luxo de Diversificada","pct_alimentacao":8.8,"pct_alojamento":0.6,"pct_automotivo":5.3,"pct_combustiveis":0.1,"pct_construcao":4.2,"pct_eletronicos":16.4,"pct_entretenimento":6.4,"pct_moda":10.9,"pct_moveis":9.2,"pct_saude":4.9,"pct_supermercado":0.8,"pct_varejo_geral":12.6,"percentil_br_renda":99.3,"porte":"Grande","qtd_pdvs":5117,"rank_municipal_densidade":8,"rank_municipal_pdvs":1,"rank_municipal_score":1,"rank_nacional_densidade":154,"rank_nacional_pdvs":1,"rank_nacional_score":1,"rank_uf_densidade":23,"rank_uf_pdvs":1,"rank_uf_score":1,"renda_mediana":8503.98,"score_ponderado":6402.5,"uf":"SP","vocacao":"Diversificada"},{"aglomeracao_hash":"5af6276cef95","area_ha":11.54,"centroide_lat":-23.536416,"centroide_lng":-46.621632,"concentracao":"Densa","densidade_pdvs_km2":25180.2,"faixa_renda":"Intermediária","municipio":"SAO PAULO","nome_aglomeracao":"Rua Monsenhor Andrade - SAO PAULO/SP","nome_segmento":"Grande, Densa, Intermediária de Moda","pct_alimentacao":3.6,"pct_alojamento":0.1,"pct_automotivo":0.2,"pct_combustiveis":0.1,"pct_construcao":0.2,"pct_eletronicos":2.6,"pct_entretenimento":1.1,"pct_moda":68.5,"pct_moveis":3.6,"pct_saude":2.6,"pct_supermercado":0.3,"pct_varejo_geral":4.7,"percentil_br_renda":80.2,"porte":"Grande","qtd_pdvs":2907,"rank_municipal_densidade":21,"rank_municipal_pdvs":3,"rank_municipal_score":2,"rank_nacional_densidade":293,"rank_nacional_pdvs":3,"rank_nacional_score":2,"rank_uf_densidade":50,"rank_uf_pdvs":3,"rank_uf_score":2,"renda_mediana":2953.31,"score_ponderado":5074.2,"uf":"SP","vocacao":"Moda"},{"aglomeracao_hash":"28c7176d5825","area_ha":12.26,"centroide_lat":-23.532758,"centroide_lng":-46.620947,"concentracao":"Densa","densidade_pdvs_km2":22409.9,"faixa_renda":"Econômica","municipio":"SAO PAULO","nome_aglomeracao":"Rua Tiers - SAO PAULO/SP","nome_segmento":"Grande, Densa, Econômica de Moda","pct_alimentacao":3.2,"pct_alojamento":0.0,"pct_automotivo":0.2,"pct_combustiveis":0.0,"pct_construcao":0.1,"pct_eletronicos":4.8,"pct_entretenimento":1.4,"pct_moda":64.7,"pct_moveis":4.4,"pct_saude":2.1,"pct_supermercado":0.0,"pct_varejo_geral":7.4,"percentil_br_renda":70.0,"porte":"Grande","qtd_pdvs":2747,"rank_municipal_densidade":23,"rank_municipal_pdvs":5,"rank_municipal_score":3,"rank_nacional_densidade":329,"rank_nacional_pdvs":5,"rank_nacional_score":3,"rank_uf_densidade":60,"rank_uf_pdvs":5,"rank_uf_score":3,"renda_mediana":1715.8,"score_ponderado":4873.0,"uf":"SP","vocacao":"Moda"},{"aglomeracao_hash":"6a922aaf7134","area_ha":10.66,"centroide_lat":-23.543889,"centroide_lng":-46.632183,"concentracao":"Densa","densidade_pdvs_km2":32773.0,"faixa_renda":"Econômica","municipio":"SAO PAULO","nome_aglomeracao":"Rua Comendador Abdo Schahin - SAO PAULO/SP","nome_segmento":"Grande, Densa, Econômica de Eletrônicos","pct_alimentacao":3.5,"pct_alojamento":0.0,"pct_automotivo":0.6,"pct_combustiveis":0.0,"pct_construcao":1.9,"pct_eletronicos":30.2,"pct_entretenimento":4.0,"pct_moda":12.9,"pct_moveis":6.4,"pct_saude":4.6,"pct_supermercado":0.3,"pct_varejo_geral":13.8,"percentil_br_renda":49.2,"porte":"Grande","qtd_pdvs":3493,"rank_municipal_densidade":15,"rank_municipal_pdvs":2,"rank_municipal_score":4,"rank_nacional_densidade":241,"rank_nacional_pdvs":2,"rank_nacional_score":4,"rank_uf_densidade":42,"rank_uf_pdvs":2,"rank_uf_score":4,"renda_mediana":1776.55,"score_ponderado":4446.8,"uf":"SP","vocacao":"Eletrônicos"},{"aglomeracao_hash":"ce3e4de7bd67","area_ha":7.29,"centroide_lat":-23.539398,"centroide_lng":-46.619278,"concentracao":"Densa","densidade_pdvs_km2":28978.5,"faixa_renda":"Intermediária","municipio":"SAO PAULO","nome_aglomeracao":"Rua Barão de Ladário - SAO PAULO/SP","nome_segmento":"Grande, Densa, Intermediária de Moda","pct_alimentacao":3.3,"pct_alojamento":0.2,"pct_automotivo":0.4,"pct_combustiveis":0.0,"pct_construcao":0.3,"pct_eletronicos":3.3,"pct_entretenimento":0.4,"pct_moda":75.0,"pct_moveis":3.1,"pct_saude":1.7,"pct_supermercado":0.4,"pct_varejo_geral":3.3,"percentil_br_renda":67.6,"porte":"Grande","qtd_pdvs":2113,"rank_municipal_densidade":18,"rank_municipal_pdvs":6,"rank_municipal_score":5,"rank_nacional_densidade":260,"rank_nacional_pdvs":6,"rank_nacional_score":5,"rank_uf_densidade":46,"rank_uf_pdvs":6,"rank_uf_score":5,"renda_mediana":2305.82,"score_ponderado":3831.8,"uf":"SP","vocacao":"Moda"}],"prismadata__commercial_cluster__total_retornado":5}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"API key invalida ou ausente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Role insuficiente","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Erro de validacao dos parametros","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl \"https://api.prismadata.io/v1/location/commercial_cluster/ranking\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\""},{"lang":"Python","source":"import httpx\n\nresp = httpx.get(\n    \"https://api.prismadata.io/v1/location/commercial_cluster/ranking\",\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.commercial_cluster_ranking(\n    criterion=\"score\",\n    scope=\"state\",\n    state=\"SP\",\n    top_n=20,\n)\nprint(result)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.commercialClusterRanking({\n  criterio: \"score\",\n  escopo: \"uf\",\n  uf: \"SP\",\n  topN: 20,\n});\nconsole.log(result);"}]}}},"components":{"securitySchemes":{"X-Apikey":{"type":"apiKey","in":"header","name":"X-Apikey","description":"Token de acesso via header."},"api_key":{"type":"apiKey","in":"query","name":"api_key","description":"Token de acesso via query parameter."},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token JWT obtido via POST /auth/token"}},"headers":{"X-RateLimit-Limit":{"description":"Número máximo de requisições permitidas por minuto para o usuário.","schema":{"type":"integer","example":60}},"X-RateLimit-Remaining":{"description":"Número de requisições restantes na janela de rate limit atual.","schema":{"type":"integer","example":57}},"X-RateLimit-Reset":{"description":"Unix timestamp (segundos) indicando quando a janela de rate limit será reiniciada.","schema":{"type":"integer","example":1738281600}}},"responses":{"RateLimitExceeded":{"description":"Too Many Requests - Rate limit ou quota excedidos.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"text/plain":{"schema":{"type":"string"},"examples":{"rate_limit":{"summary":"Rate limit excedido","value":"rate limit exceeded"},"quota":{"summary":"Quota excedida","value":"limit exceeded: 1000 requests used, limit is 1000"}}}}}},"schemas":{"BboxFilter":{"properties":{"min_lat":{"type":"number","title":"Min Lat"},"min_lng":{"type":"number","title":"Min Lng"},"max_lat":{"type":"number","title":"Max Lat"},"max_lng":{"type":"number","title":"Max Lng"}},"type":"object","required":["min_lat","min_lng","max_lat","max_lng"],"title":"BboxFilter"},"FiltrosSearch":{"properties":{"uf":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Uf"},"municipio":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Municipio"},"vocacao":{"anyOf":[{},{"type":"null"}],"title":"Vocacao"},"porte":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Porte"},"faixa_renda":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Faixa Renda"},"qtd_pdvs_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qtd Pdvs Min"},"qtd_pdvs_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qtd Pdvs Max"},"score_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Min"},"score_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score Max"},"bbox":{"anyOf":[{"$ref":"#/components/schemas/BboxFilter"},{"type":"null"}]}},"type":"object","title":"FiltrosSearch"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PontoInput":{"properties":{"id_externo":{"type":"string","title":"Id Externo"},"latitude":{"type":"number","exclusiveMaximum":90.0,"exclusiveMinimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","exclusiveMaximum":180.0,"exclusiveMinimum":-180.0,"title":"Longitude"}},"type":"object","required":["id_externo","latitude","longitude"],"title":"PontoInput"},"SearchRequest":{"properties":{"filtros":{"anyOf":[{"$ref":"#/components/schemas/FiltrosSearch"},{"type":"null"}]},"ordenar_por":{"type":"string","title":"Ordenar Por","default":"score_ponderado"},"ordem":{"type":"string","pattern":"^(asc|desc)$","title":"Ordem","default":"desc"},"limite":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limite","default":50},"offset":{"type":"integer","minimum":0.0,"title":"Offset","default":0},"versao_dados":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}},"type":"object","title":"SearchRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"commercial_cluster_BatchRequest":{"properties":{"pontos":{"items":{"$ref":"#/components/schemas/PontoInput"},"type":"array","maxItems":1024,"minItems":1,"title":"Pontos"},"top_n_por_ponto":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Top N Por Ponto","default":1},"raio_km":{"type":"number","maximum":50.0,"exclusiveMinimum":0.0,"title":"Raio Km","default":2.0},"incluir_trecho_mais_proximo":{"type":"boolean","title":"Incluir Trecho Mais Proximo","default":true},"incluir_geometria":{"type":"boolean","title":"Incluir Geometria","default":false},"versao_dados":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Versao Dados"}},"type":"object","required":["pontos"],"title":"BatchRequest"}}}}
