Consultas por crédito (POST /consulta/{servico}/credits e afins).
Não usam DeviceToken — debitam o saldo/créditos da conta. O campo tipo
do body define o produto consultado (ex: lista-socios, serasa-score-pf,
spc-serasa); os tipos conhecidos estão em
ApiBrasil.Generated.Catalog.consulta_tipos/0.
{:ok, cpf} = ApiBrasil.Data.Consulta.cpf(client, %{"cpf" => "00000000000"})
ApiBrasil.Core.CreditResponse.balance(cpf)
ApiBrasil.Core.CreditResponse.data(cpf)Use ApiBrasil.Consulta para montar o body, inclusive em modo homologação:
alias ApiBrasil.{Consulta, Data}
"lista-socios"
|> Consulta.new()
|> Consulta.field("cnpj", "00000000000000")
|> then(&Data.Consulta.cnpj(client, &1))
# modo homologação (sandbox, sem cobrança)
"serasa-score-pj"
|> Consulta.new()
|> Consulta.homolog(true)
|> Consulta.field("cnpj", "00000000000000")
|> then(&Data.Consulta.cnpj(client, &1))Além das consultas nomeadas, generic/4 chama qualquer serviço do catálogo
(ApiBrasil.Generated.Catalog.consulta_servicos/0) e credits/3 devolve os
créditos disponíveis:
Data.Consulta.generic(client, "cnh", %{"cpf" => "00000000000"})
Data.Consulta.credits(client, "cpf")
Summary
Functions
Consulta o RNTRC: POST /consulta/api-rntrc/credits.
Como api_rntrc/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta um CEP: POST /consulta/cep/credits.
Como cep/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Calcula a distância entre CEPs: POST /cep/distancia/calcular.
Como cep_distancia/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Consulta uma CNH: POST /consulta/cnh/credits.
Como cnh/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta um CNPJ: POST /consulta/cnpj/credits (ex: tipo = lista-socios).
Como cnpj/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta um CPF: POST /consulta/cpf/credits.
Como cpf/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta um registro no CRBM: POST /consulta/crbm/credits.
Como crbm/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta os créditos disponíveis de um serviço: GET /consulta/{servico}/credits.
Como credits/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Consulta um registro no CRM: POST /consulta/crm/credits.
Como crm/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta um registro no CRO: POST /consulta/cro/credits.
Como cro/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta o DDD na Anatel: POST /consulta/ddd-anatel/credits.
Como ddd_anatel/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Emite notas fiscais: POST /consulta/emissao-notas/credits.
Como emissao_notas/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Calcula o frete ANTT: POST /consulta/frete-antt/credits.
Como frete_antt/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Executa uma consulta genérica: POST /consulta/{servico}/credits.
Como generic/4, mas levanta ApiBrasil.Core.Error em caso de falha.
Consulta a base de IPs: POST /consulta/geoip/credits.
Como geoip/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta o proxy seller: POST /proxy/seller/credits.
Como proxy_seller/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Consulta o birô Quod: POST /quod/cnpj/credits.
Como quod/3, mas levanta ApiBrasil.Core.Error em caso de falha.
Rastreia uma encomenda: POST /consulta/rastreio/credits.
Como rastreio/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta a operadora de um telefone: POST /consulta/telefone/credits.
Como telefone/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta veicular na rota em inglês: POST /consulta/vehicles/credits.
Como vehicles/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta veicular: POST /consulta/veiculos/credits.
Como veiculos/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Consulta as bases veiculares dedicadas: POST /vehicles/base/000/{base}
(base: dados | fipe).
Como veiculos_base/4, mas levanta ApiBrasil.Core.Error em caso de falha.
Consulta a previsão do tempo: POST /consulta/weather-api/credits.
Como weather/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
Types
@type result() :: {:ok, map()} | {:error, ApiBrasil.Core.Error.t()}
Functions
@spec api_rntrc(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta o RNTRC: POST /consulta/api-rntrc/credits.
@spec api_rntrc!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como api_rntrc/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec cep(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um CEP: POST /consulta/cep/credits.
@spec cep!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cep/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec cep_distancia(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Calcula a distância entre CEPs: POST /cep/distancia/calcular.
@spec cep_distancia!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cep_distancia/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec cnh(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta uma CNH: POST /consulta/cnh/credits.
@spec cnh!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cnh/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec cnpj(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um CNPJ: POST /consulta/cnpj/credits (ex: tipo = lista-socios).
@spec cnpj!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cnpj/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec cpf(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um CPF: POST /consulta/cpf/credits.
@spec cpf!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cpf/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec crbm(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um registro no CRBM: POST /consulta/crbm/credits.
@spec crbm!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como crbm/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec credits(ApiBrasil.Client.t(), String.t(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta os créditos disponíveis de um serviço: GET /consulta/{servico}/credits.
@spec credits!(ApiBrasil.Client.t(), String.t(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como credits/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec crm(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um registro no CRM: POST /consulta/crm/credits.
@spec crm!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como crm/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec cro(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta um registro no CRO: POST /consulta/cro/credits.
@spec cro!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como cro/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec ddd_anatel(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta o DDD na Anatel: POST /consulta/ddd-anatel/credits.
@spec ddd_anatel!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como ddd_anatel/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec emissao_notas(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Emite notas fiscais: POST /consulta/emissao-notas/credits.
@spec emissao_notas!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como emissao_notas/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec frete_antt(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Calcula o frete ANTT: POST /consulta/frete-antt/credits.
@spec frete_antt!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como frete_antt/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec generic(ApiBrasil.Client.t(), String.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Executa uma consulta genérica: POST /consulta/{servico}/credits.
Os serviços conhecidos estão em
ApiBrasil.Generated.Catalog.consulta_servicos/0.
@spec generic!(ApiBrasil.Client.t(), String.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como generic/4, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec geoip(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta a base de IPs: POST /consulta/geoip/credits.
@spec geoip!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como geoip/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec proxy_seller(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta o proxy seller: POST /proxy/seller/credits.
@spec proxy_seller!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como proxy_seller/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec quod(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta o birô Quod: POST /quod/cnpj/credits.
@spec quod!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como quod/3, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec rastreio(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Rastreia uma encomenda: POST /consulta/rastreio/credits.
@spec rastreio!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como rastreio/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec telefone(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta a operadora de um telefone: POST /consulta/telefone/credits.
@spec telefone!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como telefone/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec vehicles(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta veicular na rota em inglês: POST /consulta/vehicles/credits.
@spec vehicles!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como vehicles/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec veiculos(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta veicular: POST /consulta/veiculos/credits.
@spec veiculos!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como veiculos/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.
@spec veiculos_base(ApiBrasil.Client.t(), String.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta as bases veiculares dedicadas: POST /vehicles/base/000/{base}
(base: dados | fipe).
@spec veiculos_base!(ApiBrasil.Client.t(), String.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como veiculos_base/4, mas levanta ApiBrasil.Core.Error em caso de falha.
@spec weather(ApiBrasil.Client.t(), term(), keyword()) :: {:ok, ApiBrasil.Core.CreditResponse.t()} | {:error, ApiBrasil.Core.Error.t()}
Consulta a previsão do tempo: POST /consulta/weather-api/credits.
@spec weather!(ApiBrasil.Client.t(), term(), keyword()) :: ApiBrasil.Core.CreditResponse.t()
Como weather/3, mas devolve o resultado direto e levanta ApiBrasil.Core.Error em caso de falha.