Prompt: gerar um endpoint REST em WebSpeed a partir de uma tabela

Discussão em 'Prompts de IA para Progress e Datasul' iniciado por fdantas, Setembro 4, 2026.

  1. fdantas

    fdantas Administrator Moderador

    Quando usar

    Alguém precisa consumir um dado do ERP — o app do vendedor, o site, uma integração. Você tem WebSpeed rodando e não vai subir um stack novo só para isso.

    O prompt

    Código:
    Você é um desenvolvedor Progress ABL com experiência em WebSpeed.
    
    Quero um endpoint REST que devolva JSON. Gere o programa .p completo,
    pronto para rodar como WebSpeed embedded ou como .p de agente, seguindo
    estes requisitos:
    
    1. MÉTODO E ROTA — [GET / POST], recebendo os parâmetros por query string
       ou por corpo JSON, o que fizer mais sentido.
    
    2. VALIDAÇÃO — valide cada parâmetro de entrada antes de tocar no banco.
       Parâmetro faltando ou inválido devolve HTTP 400 com uma mensagem que
       explique o que está errado, em JSON.
    
    3. LEITURA — use NO-LOCK em tudo que só lê. Se houver gravação, isole a
       transação no menor escopo possível e não deixe transação aberta
       esperando I/O.
    
    4. JSON — monte a resposta com a API nativa de JSON do OpenEdge
       (JsonObject / JsonArray) se a versão suportar; se for versão antiga,
       monte a string com uma função de escape própria e me mostre essa função,
       tratando aspas, barra invertida, quebra de linha e acentuação em UTF-8.
    
    5. CÓDIGOS HTTP — 200 sucesso, 400 entrada inválida, 404 não encontrado,
       500 erro interno. Nunca devolva 200 com uma mensagem de erro dentro.
    
    6. ERRO — capture erro com CATCH (ou NO-ERROR e checagem, se for versão
       antiga), registre em log no servidor e devolva ao cliente uma mensagem
       genérica. Nunca devolva stack trace nem nome de tabela para fora.
    
    7. PAGINAÇÃO — se a consulta puder devolver muitos registros, implemente
       limite e deslocamento, com um teto máximo fixo no código.
    
    8. SEGURANÇA — mostre onde eu devo encaixar a validação de token ou de
       usuário. Não invente um esquema de autenticação: só marque o ponto.
    
    Versão do OpenEdge: [10.2B / 11.7 / 12.x]
    Tabela / regra: [DESCREVA, OU COLE O LAYOUT DA TABELA]
    O que o endpoint deve devolver: [DESCREVA OS CAMPOS]
    
    O que preencher

    A versão é decisiva aqui: JsonObject só existe a partir do 11. Se você está em 10.2B, diga — a IA vai gerar a montagem manual da string, que é justamente o que você precisa.

    O que esperar de volta

    O item 4 com escape correto. JSON montado na mão sem escapar aspas é a origem de metade dos bugs de integração — funciona por seis meses até chegar um nome de produto com aspas no meio.

    E o item 6: devolver o erro do Progress cru para o cliente entrega nome de tabela, caminho de arquivo e versão do servidor para quem estiver olhando.

    Antes de subir

    Teste com um caractere acentuado, um campo vazio e um registro inexistente. São os três casos que a IA erra com mais frequência e que o usuário encontra no primeiro dia.

Compartilhe esta Página