> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pubrio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Análise de pegada cloud

> Leia a pegada cloud completa de uma empresa numa única chamada, com alertas para as alterações que justificam agir: hosts movidos, novas clouds, novas regiões e ambientes de teste.

[Análise de pegada cloud](/pt/api-reference/endpoint/companies/cloud_footprints_insights) recebe uma empresa e devolve a sua pegada cloud completa: totais, principais fornecedores, países e regiões, quantos hosts novos surgiram em cada semana, os hosts mais recentes e **alertas** — as alterações que justificam agir.

Use a [Pesquisa de pegada cloud](/pt/developer-guides/search/cloud-footprint-search) para construir uma lista de empresas. Use a Análise quando quiser o retrato completo de uma delas.

## Antes de começar

Precisa do `domain_search_id` da empresa. Todas as linhas da Pesquisa de pegada cloud, da Pesquisa de empresas e da Consulta de empresas incluem um.

```bash cURL theme={null}
curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
  -H "pubrio-api-key: $PUBRIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["platform9.com"], "per_page": 1 }'
```

Obtenha o `domain_search_id` da primeira linha.

## Pedido

```bash cURL theme={null}
curl -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
  -H "pubrio-api-key: $PUBRIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }'
```

| Chave | Obrigatório | Significado |
| - | - | - |
| `domain_search_id` | Sim | A empresa. |
| `date_from` | Não | Início da janela de datas, `YYYY-MM-DD`. |
| `date_to` | Não | Fim da janela de datas, `YYYY-MM-DD`. |

Sem datas, a janela corresponde aos últimos 90 dias. O seu plano pode limitar até onde `date_from` pode recuar.

## O que é devolvido

| Chave | O que é | Segue a janela de datas? |
| - | - | - |
| `totals` | Hosts, servidores, fornecedores, países, países transfronteiriços e regiões | Apenas `new_hosts` |
| `providers` | Os 8 principais fornecedores | Não |
| `countries` | Os 8 principais países, cada um com `evidence_url` | Não |
| `regions` | As 8 principais regiões cloud | Não |
| `weekly_series` | Hosts vistos pela primeira vez em cada semana | Sim |
| `recent_hosts` | Até 12 hosts mais recentes, uma entrada por host | Sim |
| `window_days` | Dias da janela, contando ambos os extremos | — |
| `flags` | Alterações que justificam agir | Sim |

Um **host** é um endereço com nome que a empresa opera, como `api.example.com`. Um **servidor** é um endereço IP distinto por trás desses hosts. As listas de topo são ordenadas por servidores e depois por hosts.

As semanas de `weekly_series` começam à segunda-feira no fuso horário do seu workspace.

## Alertas

Os alertas transformam a pegada em algo sobre o qual pode agir. Há cinco listas. Cada uma tem até 8 itens, dos mais recentes para os mais antigos, e cada item indica hosts reais que pode verificar por si.

| Alerta | O que significa | Porque é relevante |
| - | - | - |
| `moved_hosts` | Um host responde agora a partir de outro fornecedor, país ou região. | A empresa está a migrar ou a mudar de localização. |
| `twin_hosts` | O mesmo serviço corre em duas clouds em simultâneo, e uma delas foi adicionada recentemente. | Uma implementação multi-cloud ou uma migração em curso. |
| `test_hosts` | Um novo host de dev, teste, staging ou prova de conceito numa cloud que não é a principal da empresa. | A empresa está a experimentar uma nova cloud. É o sinal mais precoce. |
| `new_providers` | Um fornecedor que a empresa ainda não tinha usado. | Uma nova relação com um fornecedor. |
| `new_regions` | Uma nova região, ou um novo país, num fornecedor que a empresa já usava. | Crescimento para uma nova geografia. |

Cada alerta é verificado de novo sempre que o pede. Uma alteração que entretanto foi revertida deixa de aparecer.

### Hosts movidos

```json theme={null}
{
  "host": "onemindservices-new-jersey-prod.app.pcd.platform9.com",
  "is_provider_change": true,
  "from": { "provider": "AWS", "country_code": "US", "cloud_region": "us-west-2", "city": "Portland", "region_name": "Oregon", "first_seen_at": "2026-07-22T12:07:12.918787", "last_seen_at": "2026-07-22T12:19:41.499986" },
  "to": { "provider": "OCI", "country_code": "US", "cloud_region": "us-phoenix-1", "city": "Phoenix", "region_name": "Phoenix", "first_seen_at": "2026-09-13T16:07:26.248556", "last_seen_at": "2026-09-14T09:41:19.500363" },
  "is_live_confirmed": true
}
```

Este host de produção saiu da AWS no Oregon e corre agora na Oracle Cloud em Phoenix.

* `is_provider_change` é `true` quando o fornecedor mudou. É `false` quando só mudou o país ou a região.
* `is_live_confirmed` é `true` quando o host responde a partir de `to` neste momento. É `false` quando o host saiu de `from` mas não foi possível confirmar a nova localização.

### Hosts gémeos

```json theme={null}
{
  "service": "du.testbed.only.app.pcd",
  "providers": ["AWS", "OCI"],
  "new_provider": "AWS",
  "first_seen_at": "2026-07-21T11:59:25.286744",
  "new_provider_first_seen_at": "2026-09-10T09:23:35.767165",
  "hosts": [
    { "host": "test-du-testbed-only-5113915.app.qa-pcd.platform9.com", "provider": "AWS", "country_code": "US", "cloud_region": "us-west-2", "city": "Portland", "region_name": "Oregon", "first_seen_at": "2026-09-10T09:23:35.767165" },
    { "host": "test-du-testbed-only-5114083.app.qa-pcd.platform9.com", "provider": "OCI", "country_code": "US", "cloud_region": "us-phoenix-1", "city": "Phoenix", "region_name": "Phoenix", "first_seen_at": "2026-09-10T11:53:10.757998" }
  ]
}
```

* `service` é o nome partilhado pelos hosts.
* `providers` lista as clouds em que o serviço está ativo, da mais recente para a mais antiga. `new_provider` é a mais recente.
* `hosts` indica um host ativo por cloud, até 3.

### Hosts de teste

```json theme={null}
{
  "host": "iam-dev.platform.ea.com",
  "tags": ["dev"],
  "is_poc": false,
  "primary_provider": "AWS",
  "first_seen_at": "2026-09-06T08:13:54.048967",
  "places": [
    { "provider": "GCP", "country_code": "US", "cloud_region": "us-central1", "city": "Council Bluffs", "region_name": "Iowa" }
  ]
}
```

Uma empresa na AWS com um novo host de desenvolvimento na Google Cloud.

* `tags` são as palavras no nome do host que o identificam como não sendo de produção.
* `is_poc` é `true` quando o nome indica uma prova de conceito ou piloto. Estes itens aparecem primeiro.
* `places` é onde o host está ativo agora. Nunca inclui `primary_provider`.

### Novos fornecedores

```json theme={null}
{
  "provider": "Equinix Metal",
  "first_seen_at": "2026-09-14T02:08:27.707494",
  "host_count": 1,
  "hosts": [
    { "host": "hnjobs.cncf.io", "provider": "Equinix Metal", "country_code": "US", "cloud_region": null, "city": "Parsippany", "region_name": null, "first_seen_at": "2026-09-14T02:08:27.707494" }
  ]
}
```

* `host_count` é o número de hosts que a empresa tem agora neste fornecedor.
* `hosts` indica até 3 hosts ativos como prova.

### Novas regiões

```json theme={null}
{
  "provider": "AWS",
  "country_code": "US",
  "cloud_region": "us-west-1",
  "city": "San Jose",
  "region_name": "N. California",
  "first_seen_at": "2026-09-09T22:44:04.868704",
  "host_count": 1,
  "hosts": [
    { "host": "mx.experience.zoom.us", "provider": "AWS", "country_code": "US", "cloud_region": "us-west-1", "city": "San Jose", "region_name": "N. California", "first_seen_at": "2026-09-09T22:44:04.868704" }
  ]
}
```

O fornecedor já era usado antes da janela. Só a região é nova. Quando `cloud_region` é `null`, o alerta corresponde a um novo país nesse fornecedor.

### Quando os alertas estão vazios

* **`flags` é `null`.** Os alertas ainda não estão prontos para esta empresa. O resto da resposta está completo.
* **Uma lista é `null`.** Não foi possível construir essa lista nesta chamada. As outras listas continuam válidas. Tente novamente mais tarde.
* **`is_spam_flood` é `true`.** Os nomes de host da empresa têm demasiado ruído para gerar alertas, por isso todas as listas estão vazias.
* **Uma lista é `[]`.** Nada correspondeu na janela. `twin_hosts`, `test_hosts`, `new_providers` e `new_regions` só consideram algo novo depois de a Pubrio acompanhar a empresa durante 90 dias, por isso uma empresa acompanhada há pouco tempo devolve listas vazias.

## Receitas

<Tabs>
  <Tab title="Quem está a sair de uma cloud">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }' \
    | jq '.data.flags.moved_hosts[] | select(.is_provider_change) | {host, from: .from.provider, to: .to.provider}'
    ```

    Mantém apenas mudanças entre fornecedores. Muitas mudanças a partir do mesmo fornecedor indicam uma migração.
  </Tab>

  <Tab title="Alterações numa janela definida">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418",
        "date_from": "2026-08-01",
        "date_to": "2026-08-31"
      }'
    ```

    `new_hosts`, `weekly_series`, `recent_hosts` e todos os alertas passam a cobrir apenas agosto. Os totais e as listas de topo não mudam.
  </Tab>

  <Tab title="Contar todos os alertas">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }' \
    | jq '.data.flags | if . == null then "not ready" else with_entries(select(.value | type == "array") | .value |= length) end'
    ```

    Uma verificação rápida para ver que alertas têm conteúdo antes de ler os detalhes.
  </Tab>
</Tabs>

## Vale a pena saber

* Uma empresa que opera em dois países conta em ambas as entradas de país, por isso as listas de topo podem somar mais do que `totals`.
* `is_cross_border` é `null` quando a empresa não tem sede conhecida. Significa desconhecido, não nacional.

## Relacionado

<CardGroup cols={2}>
  <Card title="Referência da Análise de pegada cloud" icon="code" href="/pt/api-reference/endpoint/companies/cloud_footprints_insights">
    Todas as chaves do pedido e campos da resposta.
  </Card>

  <Card title="Pesquisa de pegada cloud" icon="cloud" href="/pt/developer-guides/search/cloud-footprint-search">
    Construir uma lista de empresas por fornecedor, país, região e dimensão.
  </Card>

  <Card title="Configurar webhooks" icon="webhook" href="/pt/developer-guides/setting-up-webhooks">
    Enviar mudanças de pegada cloud para um webhook ou email.
  </Card>
</CardGroup>
