NN-Agent

$ cat command.md

Endpoint /command

Commands: SQL e chamadas HTTP reutilizáveis, com seus parâmetros e campos.

POST

/command

Bearer

Cadastra um comando reutilizável: um SQL ou uma chamada HTTP. Os parâmetros :NOME do SQL são detectados e marcados como obrigatórios.

Entrada · corpo JSON

  • keystringobrig.: sim

    Nome único do command (usado em command.name da rota).

  • typeenumobrig.: sim

    QUERY, INSERT, UPDATE, DELETE, PROCEDURE, ANONYMOUS, GET, POST, PUT ou REMOVE.

  • databaseTypeenumobrig.: SQL

    oracle, postgres, mysql ou sqlserver. Obrigatório nos tipos SQL.

  • sqlstringobrig.: SQL

    Comando SQL. Parâmetros :NOME (Oracle, Postgres, MySQL) ou @NOME (SQL Server).

  • routestringobrig.: HTTP

    URL da API externa. {param} é trocado pelo valor do parâmetro.

  • contentTypeenumobrig.: não

    application/json, multipart/form-data ou application/x-www-form-urlencoded (POST).

  • certificateNamestringobrig.: não

    Nome do certificado para mTLS (POST).

  • parametersarrayobrig.: não

    Parâmetros do SQL. Veja a tabela abaixo.

  • body · queryobjectobrig.: não

    { "fields": [...] }: campos esperados no corpo e na query (HTTP).

  • orderobjectobrig.: não

    { "columnName": "NOME", "desc": false }: ordenação do QUERY.

parameters[] · cada parâmetro do SQL

  • namestringobrig.: sim

    Nome do parâmetro, igual ao :NOME do SQL.

  • typestringobrig.: não

    string, number, boolean, date, clob, cursor ou byte.

  • requiredbooleanobrig.: não

    Se true e ausente, a chamada falha com 400. Parâmetros usados no SQL são obrigatórios por padrão.

  • timeenumobrig.: não

    "out" marca parâmetro de saída (PROCEDURE e ANONYMOUS).

  • operatorstringobrig.: não

    Operador do filtro automático: =, LIKE, >, <, IN.

body.fields[] · query.fields[] · campos de chamadas HTTP

  • namestringobrig.: sim

    Nome do campo.

  • typestringobrig.: sim

    string, number, boolean ou byte (arquivo).

  • requiredbooleanobrig.: não

    Campo obrigatório.

  • minimum · maximumnumberobrig.: não

    Strings: tamanho mínimo e máximo. Números: valor mínimo e máximo.

  • paramTypeenumobrig.: não

    QUERY (recomendado) ou PATH (legado: anexa o valor ao fim da URL).

Exemplo SQL · QUERY
{
  "key": "buscar-usuario",
  "databaseType": "oracle",
  "type": "QUERY",
  "sql": "SELECT ID, NOME FROM USUARIOS WHERE ID = :ID",
  "parameters": [
    {
      "name": "ID",
      "type": "number",
      "required": true
    }
  ]
}
Exemplo HTTP · GET
{
  "key": "consultar-cep",
  "type": "GET",
  "route": "https://viacep.com.br/ws/{CEP}/json/",
  "query": {
    "fields": [
      {
        "name": "CEP",
        "type": "string",
        "required": true,
        "paramType": "QUERY"
      }
    ]
  }
}

Erros: 400 para key duplicada, UPDATE ou DELETE sem WHERE, SQL inválido ou token ausente.

Próxima página

Endpoint /router

Continuar →