Benefícios do governo
Benefícios do governo
O módulo beneficios_gov confere, na fonte oficial da CGU, se o titular verificado consta como beneficiário de programa social federal. Ele é informacional e não pede captura nova.
passed só assume true ou null, nunca false, então não existe desfecho em que constar num programa reprove a verificação. Discriminação por dado sensível é vedada pela LGPD no princípio da não discriminação (Lei 13.709/2018, Art. 6º, IX), e o próprio payload carrega essa finalidade escrita no campo purpose. Repare que o enquadramento é esse, e não o de dado sensível: constar num programa social não é dado sensível pelo rol do Art. 5º, II, e nós não o tratamos como tal.Venda pausada hoje. Ele aparece na tabela de preços e no GET /v1/capabilities com preço e status coming_soon, e não pode ser ligado num flow enquanto a credencial da fonte não existir. O contrato abaixo é o que já está implementado.
A cobertura é de quatro programas, e só quatro: novo_bolsa_familia, seguro_defeso, garantia_safra e peti. São os que a fonte expõe por pessoa. BPC e Auxílio Emergencial não estão incluídos, e não os anunciamos. A lista viaja em programs_covered em toda resposta, justamente para você nunca ter que adivinhar o que foi olhado.
// beneficios_gov: consta em um programa (valores em CENTAVOS)
{ "module": "beneficios_gov", "passed": true, "outcome": "approved", "score": 95,
"data": {
"programs_covered": ["novo_bolsa_familia","seguro_defeso","garantia_safra","peti"],
"partial": false, "programs_degraded": [],
"benefits": {
"has_any_benefit": true,
"programs": ["novo_bolsa_familia"],
"months_on_record": 12,
"total_received_cents": 720000, // CENTAVOS (o crédito usa reais; aqui é centavo)
"records": [ { "program": "novo_bolsa_familia", "months_on_record": 12,
"total_cents": 720000,
"first_reference": "202509", "last_reference": "202608", // AAAAMM
"history_truncated": false,
"amounts_unreadable": 0,
"payments": [ { "reference": "202509", "amount_cents": 60000 } ] } ],
"raw": { "…": "a resposta do órgão, como ela veio" } },
"purpose": "Confirmar, na fonte oficial da CGU, se o titular verificado consta como beneficiario de programa social federal. Informacional: nao reprova a verificacao e nao pode ser usado para negar servico por condicao socioeconomica (LGPD art. 6, IX)." } }
// PARCIAL: um dos programas da cobertura não respondeu. Lista vazia aqui NÃO é "nada consta".
// Repare que o desfecho continua "approved": a fonte respondeu, só que não sobre tudo.
{ "module": "beneficios_gov", "passed": true, "outcome": "approved", "score": 95,
"data": {
"programs_covered": ["novo_bolsa_familia","seguro_defeso","garantia_safra","peti"],
"partial": true,
"programs_degraded": ["peti"], // ESTE não foi consultado nesta passagem
"benefits": { "has_any_benefit": false, "programs": [], "months_on_record": 0,
"total_received_cents": 0, "records": [], "raw": null },
"purpose": "…" } }O campo que carrega o módulo é partial. Quando ele vem true, algum programa da cobertura não respondeu, e a lista vazia ao lado significa "não perguntei a esse", jamais "perguntei e não consta". programs_degraded nomeia quais. Ler has_any_benefit: false sem olhar partial é transformar uma falha de consulta em atestado negativo.
Dois números pedem cuidado. total_received_cents e total_cents podem estar subestimados quando amounts_unreadable é maior que zero: parcela cujo valor a fonte não publicou legível entra como zero na soma, e o contador ao lado declara quantas foram. E months_on_record só conta o histórico que recebemos: com history_truncated: true, ele é um piso e não o total. Quando a fonte não é consultada de forma nenhuma (credencial ausente, portão de identidade fechado), a chave data não vem, e isso é deliberado: nenhum payload deste módulo pode ser lido como "nada consta" quando nada foi perguntado.
Pronto para integrar? A chave de sandbox sai no painel, logo depois do cadastro. Criar conta grátis