ApiBrasil.Consulta (APIBrasil v0.0.1)

Copy Markdown View Source

Monta o body das consultas por crédito (POST /consulta/{servico}/credits).

O campo tipo define o produto consultado — os tipos conhecidos estão em ApiBrasil.Generated.Catalog.consulta_tipos/0.

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")

Qualquer função de serviço aceita a struct diretamente no lugar do mapa.

Summary

Functions

Body de uma consulta por crédito.

Define as consultas agrupadas.

Define os serviços extras.

Adiciona um campo do produto.

Mescla um mapa/keyword nos campos do produto.

Ativa/desativa o modo homologação.

Ativa/desativa a versão reduzida da consulta.

Cria uma consulta do tipo informado.

Monta o body da consulta.

Types

t()

@type t() :: %ApiBrasil.Consulta{
  agrupados: [String.t()],
  extra: [String.t()],
  fields: map(),
  homolog: boolean(),
  lite: boolean(),
  tipo: String.t() | nil
}

Functions

%ApiBrasil.Consulta{}

(struct)

Body de uma consulta por crédito.

  • :tipo — tipo/serviço da consulta (ex: "lista-socios", "serasa-score-pf");
  • :homolog — modo homologação (sandbox, sem cobrança), quando suportado;
  • :lite — versão reduzida da consulta, quando suportada;
  • :agrupados — consultas agrupadas;
  • :extra — serviços extras;
  • :fields — campos específicos do produto (ex: %{"cnpj" => "..."}).

agrupados(consulta, agrupados)

@spec agrupados(t(), [String.t()]) :: t()

Define as consultas agrupadas.

extra(consulta, extra)

@spec extra(t(), [String.t()]) :: t()

Define os serviços extras.

field(consulta, key, value)

@spec field(t(), String.t() | atom(), term()) :: t()

Adiciona um campo do produto.

fields(consulta, fields)

@spec fields(t(), map() | keyword()) :: t()

Mescla um mapa/keyword nos campos do produto.

homolog(consulta, homolog \\ true)

@spec homolog(t(), boolean()) :: t()

Ativa/desativa o modo homologação.

lite(consulta, lite \\ true)

@spec lite(t(), boolean()) :: t()

Ativa/desativa a versão reduzida da consulta.

new(tipo \\ nil, fields \\ [])

@spec new(
  String.t() | nil,
  keyword()
) :: t()

Cria uma consulta do tipo informado.

to_map(consulta)

@spec to_map(t()) :: map()

Monta o body da consulta.