Convenções

Como os nomes das funções são formados, a ordem dos argumentos e o que cada função devolve.

Nome das funções

Cada rota da API vira uma função cujo nome é a ação primeiro e o recurso no final, em snake_case, igual nas duas linguagens.

operationId no OpenAPITagFunção
usuarioBuscarPeloIdusuariobuscar_pelo_id_usuario
chaveDeAssinaturaBuscarPaginadorchave_de_assinaturabuscar_paginador_chave_de_assinatura
arquivoCriararquivocriar_arquivo

Os verbos se repetem em todos os serviços: buscar_paginador_* (lista com paginação), buscar_auto_complete_* (lista curta para seleção), buscar_pelo_filtro_* (tudo que casa com o filtro), buscar_pelo_id_*, criar_*, atualizar_pelo_id_* e deletar_pelo_id_*.

A entidade de cada página desta documentação é a tag da rota no OpenAPI.

Ordem dos argumentos

  1. credencial_de_acesso: só nas rotas que exigem login.
  2. Parâmetros do caminho (id, cnpj...), na ordem em que aparecem na URL.
  3. parametros: consulta e cabeçalho, num objeto (ParametrosDe<Função>).
  4. O corpo: corpo_da_requisicao (JSON) ou formulario (upload multipart).
  5. Só no TypeScript: opcoes_da_chamada (sinal_de_cancelamento, tempo_limite_em_milissegundos, padrão 30 s).

Tipos e retorno

  • Tipos em PascalCase, com o mesmo nome nos dois pacotes. Nas interface do TypeScript os campos têm o nome exato do JSON.
  • Datas, UUIDs e decimais chegam como string no TypeScript; no Rust, como chrono::DateTime<Utc>, uuid::Uuid e afins.
  • Rota sem corpo na resposta devolve Promise<void> / Result<(), _>.
  • Rota que devolve arquivo devolve Promise<Uint8Array> / Result<Vec<u8>, _>.
  • Upload multipart recebe um FormData no TypeScript e um reqwest::multipart::Form (reexportado em termo_core::base::multipart) no Rust.

Nomes descritivos

Todo o código usa nomes completos, mesmo longos: guardar_evento_para_publicar_na_mesma_transacao, servico_nao_encontrou_o_registro. Isso vale também para quem usa o SDK e facilita a leitura por pessoas e por IA.

Nesta página