Como consumir API de CPF em PowerApps para apps low-code empresariais

Aprenda a criar apps low-code no PowerApps que consultam CPF via API CPFHub.io usando Custom Connectors e Power Fx com interface corporativa.

Lucas Vieira
Lucas Vieira
··7 min de leitura
Como consumir API de CPF em PowerApps para apps low-code empresariais

PowerApps é a plataforma low-code da Microsoft para criar aplicações empresariais sem (ou com pouco) código, integrada ao ecossistema Microsoft 365. No contexto brasileiro, equipes de negócio usam o PowerApps para cadastros, atendimento ao cliente e processos de aprovação — e muitas dessas aplicações precisam validar CPF. Isso é possível com Custom Connectors que se conectam a APIs externas como a CPFHub.io, permitindo validação em tempo real com latência de ~300ms diretamente dentro do Power Fx.


Criando o Custom Connector

O Custom Connector é o componente que permite ao PowerApps se comunicar com a API da CPFHub.io. Ele define o endpoint, a autenticação e o formato da resposta.

Passo 1 — Acessar o criador de Custom Connectors

  1. Acesse make.powerapps.com.
  2. No menu lateral, vá em Dataverse > Custom Connectors.
  3. Clique em New custom connector > Create from blank.
  4. Nomeie como "CPFHub API".

Passo 2 — Configuração geral

  • Host: api.cpfhub.io
  • Base URL: /
  • Scheme: HTTPS

Passo 3 — Autenticação

  • Authentication type: API Key
  • Parameter label: API Key
  • Parameter name: x-api-key
  • Parameter location: Header

Passo 4 — Definir a ação

Crie uma nova ação chamada "ConsultarCPF":

  • Operation ID: ConsultarCPF
  • Description: Consulta dados cadastrais de um CPF
  • Visibility: important

Configure a requisição:

  • Method: GET
  • URL: /cpf/{cpfNumero}

Parâmetros:

NomeTipoObrigatórioLocalização
cpfNumerostringSimPath

Passo 5 — Definir resposta

Importe o seguinte schema de resposta:

{
    "success": true,
    "data": {
    "cpf": "12345678901",
    "name": "Joao da Silva",
    "nameUpper": "JOAO DA SILVA",
    "gender": "M",
    "birthDate": "15/06/1990",
    "day": 15,
    "month": 6,
    "year": 1990
    }
}

Salve e teste o conector diretamente na interface de criação.


Construindo o app de validação

Com o Custom Connector pronto, crie o app no PowerApps:

Tela de consulta

Adicione os seguintes controles à tela:

  1. TextInput (txtCPF) — Campo de entrada do CPF.
  2. Button (btnConsultar) — Botão para disparar a consulta.
  3. Label (lblNome) — Exibe o nome retornado.
  4. Label (lblGenero) — Exibe o gênero.
  5. Label (lblNascimento) — Exibe a data de nascimento.
  6. Label (lblStatus) — Exibe status da consulta.
  7. Label (lblErro) — Exibe mensagens de erro.

Fórmulas Power Fx

Configure a propriedade OnSelect do botão de consulta:

// btnConsultar.OnSelect
UpdateContext({varCarregando: true, varErro: "", varResultado: Blank()});

Set(
    varResultado,
    CPFHubAPI.ConsultarCPF(
    Substitute(
    Substitute(
    Substitute(txtCPF.Text, ".", ""),
    "-", ""
    ),
    " ", ""
    )
    )
);

If(
    varResultado.success,
    UpdateContext({varCarregando: false}),
    UpdateContext({
    varCarregando: false,
    varErro: "CPF não encontrado na base de dados."
    })
);

Configure as propriedades dos labels:

// lblNome.Text
If(
    !IsBlank(varResultado) And varResultado.success,
    varResultado.data.name,
    ""
)

// lblGenero.Text
If(
    !IsBlank(varResultado) And varResultado.success,
    If(varResultado.data.gender = "M", "Masculino", "Feminino"),
    ""
)

// lblNascimento.Text
If(
    !IsBlank(varResultado) And varResultado.success,
    varResultado.data.birthDate,
    ""
)

// lblStatus.Text
If(
    varCarregando,
    "Consultando...",
    If(
    !IsBlank(varResultado) And varResultado.success,
    "CPF validado com sucesso",
    ""
    )
)

// lblErro.Text
varErro

// lblErro.Visible
!IsBlank(varErro)

Validação local do CPF antes da consulta

Adicione validação de formato antes de chamar a API para economizar consultas:

// btnConsultar.OnSelect (versão com validação)
UpdateContext({varCarregando: false, varErro: "", varResultado: Blank()});

Set(
    varCPFLimpo,
    Substitute(
    Substitute(
    Substitute(txtCPF.Text, ".", ""),
    "-", ""
    ),
    " ", ""
    )
);

If(
    Len(varCPFLimpo) <> 11,
    UpdateContext({varErro: "CPF deve conter 11 dígitos."}),

    // CPF com todos os dígitos iguais
    If(
    Len(Distinct(Split(varCPFLimpo, ""), Result).Result) = 1,
    UpdateContext({varErro: "CPF inválido."}),

    // Consultar API
    UpdateContext({varCarregando: true});
    Set(
    varResultado,
    CPFHubAPI.ConsultarCPF(varCPFLimpo)
    );
    If(
    varResultado.success,
    UpdateContext({varCarregando: false}),
    UpdateContext({
    varCarregando: false,
    varErro: "CPF não encontrado."
    })
    )
    )
);

Integração com SharePoint

Salve os resultados de validação em uma lista SharePoint para histórico:

// Após validação bem-sucedida, adicionar ao SharePoint
If(
    varResultado.success,
    Patch(
    'Validacoes CPF', // Nome da lista SharePoint
    Defaults('Validacoes CPF'),
    {
    Title: varCPFLimpo,
    NomeValidado: varResultado.data.name,
    Genero: varResultado.data.gender,
    DataNascimento: varResultado.data.birthDate,
    ValidadoEm: Now(),
    ValidadoPor: User().Email,
    Status: "Validado"
    }
    )
);

Integração com Dataverse

Para organizações que utilizam Dataverse, crie uma tabela customizada:

ColunaTipoDescrição
CPFTexto (11)Número do CPF
Nome ValidadoTexto (200)Nome retornado pela API
GeneroChoiceMasculino / Feminino
Data NascimentoTexto (10)Data no formato DD/MM/AAAA
StatusChoiceValidado / Inválido / Erro
Validado EmDate/TimeTimestamp da validação
Validado PorLookup (User)Usuário que realizou

A fórmula para salvar no Dataverse é similar à do SharePoint, usando Patch().


Fluxo Power Automate integrado

Para operações em lote ou automações mais complexas, conecte o PowerApp a um fluxo Power Automate:

// No PowerApp, chamar o fluxo
Set(
    varResultadoFluxo,
    FluxoValidarCPF.Run(varCPFLimpo)
);

O fluxo Power Automate pode incluir lógica adicional como:

  • Verificar cache antes de chamar a API.
  • Registrar auditoria detalhada.
  • Enviar notificações condicionais.
  • Processar lotes de CPFs de uma lista.

Boas práticas para PowerApps corporativo

  • Delegation — Para grandes volumes de dados, use Dataverse em vez de SharePoint para evitar limites de delegação.
  • Conexões compartilhadas — Configure o Custom Connector com a chave de API em nível de organização, não de usuário individual.
  • Tratamento offline — PowerApps suporta modo offline. Armazene tentativas de validação localmente e sincronize quando a conexão retornar.
  • Acessibilidade — Use labels descritivos e contraste adequado para conformidade com padrões de acessibilidade corporativa.

A documentação oficial do Microsoft PowerApps traz guias detalhados sobre Custom Connectors, incluindo segurança de autenticação e melhores práticas para ambientes corporativos.


Custos e licenciamento

ComponenteCusto
PowerApps por usuário~$20/usuário/mês
Custom ConnectorsIncluso no plano Premium
CPFHub.io GratuitoR$0 (50 consultas/mês)
CPFHub.io ProR$149 (1.000 consultas)

Perguntas frequentes

O Custom Connector do PowerApps suporta autenticação via header?

Sim. Durante a criação do Custom Connector, selecione "API Key" como tipo de autenticação e configure o nome do parâmetro como x-api-key na localização "Header". Assim, o PowerApps injeta automaticamente sua chave da CPFHub.io em cada chamada, sem expô-la nas fórmulas Power Fx.

Como o rate limit da API afeta apps PowerApps em uso simultâneo?

A CPFHub.io impõe um limite de 1 requisição a cada 2 segundos no Plano Grátis e 1 req/s no Plano Pro — retornando HTTP 429 quando excedido. Para apps corporativos com múltiplos usuários simultâneos, o uso de cache no Power Automate (armazenando resultados no Dataverse por período de 24h) reduz drasticamente o número de chamadas à API.

O que acontece se minha cota mensal da CPFHub.io for atingida dentro do PowerApps?

A CPFHub.io não bloqueia as consultas ao atingir a cota — ela cobra R$0,15 por cada requisição excedente. Para ambientes corporativos com volume previsível, o Plano Pro (1.000 consultas/mês por R$149) costuma ser suficiente. Para picos sazonais, o modelo de excedente sob demanda garante continuidade sem interrupção do app.

É possível validar CPF em lote dentro do PowerApps via Power Automate?

Sim. Crie um fluxo no Power Automate que percorre uma lista SharePoint ou tabela Dataverse com CPFs pendentes e chama a CPFHub.io para cada um. O fluxo pode ser agendado (ex.: toda madrugada) ou disparado por botão no app. Respeite o intervalo entre requisições para não receber HTTP 429.


Conclusão

PowerApps democratiza a criação de apps empresariais de validação de CPF, permitindo que equipes de negócio construam soluções sem depender de desenvolvedores. O Custom Connector da CPFHub.io se integra nativamente ao ecossistema Microsoft — SharePoint, Dataverse e Power Automate — com latência de ~300ms por consulta e sem interrupção ao atingir a cota mensal.

Crie sua conta gratuitamente em cpfhub.io, gere sua API key e conecte ao PowerApps em menos de 30 minutos. O plano gratuito oferece 50 consultas/mês sem cartão — suficiente para validar a integração antes de levar ao ambiente de produção.

CPFHub.io

Pronto para integrar a API?

50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.

WhatsAppFale conosco via WhatsApp