BaitaIntegration — verificação de assinante GZH

Endpoint, contrato, tratamento de erros e o bug histórico de normalização subscriber → isSubscriber, corrigido em produção.

Atualizado em 24/08/20265 min de leituraIntegrações externas

Para quê: verificar se um CPF é assinante ativo do jornal GZH antes de liberar cadastro no funil exclusivo ou planos ocultos. Arquivo: src/app/integration/apis/baita.ts (urbis-api).

  • GET {baseUrl}/subscribers/{cpfCnpj}, header x-api-key: BAITA_API_KEY.
  • baseUrl por env: BAITA_API_URL_PRODUCTION (https://baita-api.clicrbs.com.br) ou BAITA_API_URL_STAGING (https://baita-api.hlg.clicrbs.com.br).
  • Contrato de retorno: { cpf, email, isSubscriber }.
  • Erros: 404 → null (não assinante, fluxo normal); 401 → UnauthorizedException; timeout/5xx → ServiceUnavailableException. Timeout recomendado: 5s.

🟡 Bug histórico corrigido (commit 68162cbb, 19/08/2026)

A API real da Baita retorna o campo subscriber (não isSubscriber) e o código antigo repassava a resposta crua sem normalizar. Resultado: isSubscriber era sempre undefined e qualquer consumidor que fizesse !response.isSubscriber classificava todo mundo como não-assinante — inclusive assinantes GZH legítimos. O fix normaliza subscriber → isSubscriber dentro da própria integração e já está em produção (main).

Quem chama

  • GET /user/baita/check-subscriber?cpfCnpj=... — endpoint público, primeiro passo do funil /assinar.
  • resolveIsBaitaClientFromToken em user.service.ts — decide se os planos exclusivos aparecem.
Ponto de atenção: a integração loga a baseUrl e o corpo completo da resposta via console.log, incluindo o e-mail do assinante — vazamento de dado sensível em log.
gzh
assinante
cpf
integração
api
bug
clicrbs

Este artigo foi útil?

Artigos relacionados

Voltar para a Documentação Baita