Skip to content

Repository files navigation

Open Finance Orders API

Requisitos

  • Go 1.26.2
  • Docker

Como Subir a Aplicação Completa

Crie o arquivo de ambiente:

cp .env.example .env

Revise no .env os valores de:

  • POSTGRES_PASSWORD
  • LOCAL_DATABASE_URL
  • DOCKER_DATABASE_URL
  • API_KEY

Use Docker Compose pelo Makefile:

make up

Esse comando faz build das imagens e sobe:

  • PostgreSQL
  • migrations
  • API Go
  • rede e volume Docker

A API ficará disponível em:

http://localhost:8080

Swagger UI:

http://localhost:8080/swagger/index.html

Valide a aplicação:

make ps

Para acompanhar logs:

make logs

Para derrubar a stack e remover volumes:

make down

Autenticação Local

As rotas versionadas exigem uma API key:

X-API-Key: <valor de API_KEY no .env>

Também é aceito:

Authorization: Bearer <valor de API_KEY no .env>

Endpoints

  • POST /api/v1/orders
  • GET /api/v1/orders/{id}
  • PATCH /api/v1/orders/{id}/status
  • GET /api/v1/orders

Filtros da listagem:

  • status
  • customer
  • from
  • to
  • page
  • page_size

Exemplo de Uso

Criar pedido:

set -a
. ./.env
set +a

curl -X POST http://localhost:8080/api/v1/orders \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: ${API_KEY}" \
  -d '{
    "customer": "customer-1",
    "idempotency_key": "order-key-1",
    "items": [
      {
        "product_id": "sku-1",
        "name": "Keyboard",
        "quantity": 2,
        "unit_price_cents": 15000
      }
    ]
  }'

Listar pedidos:

curl -H "X-API-Key: ${API_KEY}" \
  'http://localhost:8080/api/v1/orders?page=1&page_size=10'

Documentação

  • Swagger UI: http://localhost:8080/swagger/index.html

Diagrama da arquitetura e Respostas das questões discursivas.

Encontra-se no diretório: /docs

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages