goflow

module
v0.0.0-...-ed71bf1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: MPL-2.0

README

GoFlow

GoFlow é um sistema flexível de integração de APIs construído em Go, projetado para criar integrações baseadas em workflows entre diferentes APIs e serviços.

Configuração

  1. Clone o repositório:
git clone https://github.com/carloskvasir/goflow.git
cd goflow
  1. Crie um arquivo .env na raiz do projeto com as seguintes variáveis:
GOFLOW_PORT=3000
OPENWEATHER_API_KEY=your_api_key_here

Nota: Você pode obter uma chave da API do OpenWeather em https://openweathermap.org/api

  1. Execute o servidor:
go run cmd/main.go

API Endpoints

  • POST /api/v1/workflows: Registra um novo workflow
  • GET /api/v1/workflows/:id: Obtém detalhes de um workflow
  • POST /api/v1/workflows/:id/execute: Executa um workflow
  • DELETE /api/v1/workflows/:id: Remove um workflow

Exemplo: Workflow de João Pessoa

O workflow de exemplo em examples/joao_pessoa_info/workflow.json demonstra como obter informações sobre João Pessoa:

  1. Obtém a hora atual usando a API TimeAPI.io
  2. Obtém a temperatura atual usando a API OpenWeatherMap
  3. Formata uma mensagem combinando os dados

Para executar o exemplo:

# Registra o workflow
curl -X POST http://localhost:3000/api/v1/workflows \
  -H "Content-Type: application/json" \
  -d @examples/joao_pessoa_info/workflow.json

# Executa o workflow
curl -X POST http://localhost:3000/api/v1/workflows/joao-pessoa-info/execute

Tipos de Steps

  • rest: Executa requisições HTTP
  • transform: Processa e formata dados usando templates
  • echo: Retorna uma mensagem simples (usado para testes)

Licença

Este projeto está licenciado sob a Mozilla Public License 2.0 - veja o arquivo LICENSE para detalhes.

Directories

Path Synopsis
cmd
example command
examples
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL