Histórico da Página
...
- GET - método para recuperação de dados,
- POST - método para para inserir dados,
- PUT - método para alterar dados existentes e
- DELETE - método para apagar dados;
Exemplo API Totvs-REST
...
Para elucidar a utilização da API Totvs-Rest segue um exemplo de como realizar as chamadas e que utiliza o 'SWAGGER' para gerar a documentação. Assim o exemplo seguirá sempre o padrão: Bloco 'SWAGGER' seguido de bloco 'PROGRESS', nesta sequência.
...
Bloco de código | ||
---|---|---|
| ||
/* **SWAGGER** swagger: "2.0" info: description: "Este é um exemplo de aplicação de API no modelo Totvs-rest para um modelo de negocio referente a 'Pedidos'" version: "1.0.0" title: "Exemplo API Totvs-REST" basePath: "/pdp/v1/" tags: - name: "servicoConsultaPedido" description: "Exemplo de grupo de chamada para modelo de negócio 'Pedido'" externalDocs: description: "Mais informações em:" url: "http://tdn.totvs.com" **END SWAGGER** */ {utp/ut-api.i} {utp/ut-api-action.i pi-get GET /~* } {utp/ut-api-action.i pi-send GET /~*/SEND by=email,address=~* } {utp/ut-api-action.i pi-post POST /~* oi=1} {utp/ut-api-action.i pi-put PUT /~* } {utp/ut-api-action.i pi-delete DELETE /~* } {utp/ut-api-notfound.i} |
A seguir a documentação referente ao método GET para listar os pedidos existentes. A documentação informa que o recuros acessado será "pedido".
Ao enviar a requisição pode-se informar, como parâmentros, filtros do status do pedido.
O Retorno da requisição será um JSON contendo a lista filtrada dos pedidos existentes na base de dados junto com o status 200 que informa que a operação foi executada com sucesso.
O código progress em seguida apresenta a efetivação da ação com os dados de entrada e saída.
Bloco de código | ||
---|---|---|
| ||
/* **SWAGGER** get: tags: - "pedido" summary: "Busca Dados dos pedidos existentes" description: "Busca os dados dos pedidos cadastrados na base de dados" operationId: "getPedido" produces: - "application/json" parameters: - name: "status" in: "query" description: "Valores de status que precisam ser considerados para o filtro dos pedidos. Ex: available,disponivel pending e/ou soldpendente" required: true type: "array" items: type: "string" enum: - "availabledisponivel" - "pendingpendente" default: "availabledisponivel" collectionFormat: "multi" responses: 200: description: "Operação executada com sucesso" schema: type: "array" items: $ref: "#/definitions/payloadDeRetornoPedido" **END SWAGGER** */ PROCEDURE pi-get: DEF INPUT PARAM jsonInput AS JsonObject NO-UNDO. DEF OUTPUT PARAM jsonOutput AS JsonObject NO-UNDO. ASSIGN jsonOutput = jsonInput. END. |