A Contact API construída com Rails para receber mensagens de usuários via uma página de "Entre em Contato" e enviar essas mensagens por e-mail.
- Ruby on Rails (API mode)
- Action Mailer para envio de e-mails
- SMTP (configurado com Gmail por padrão)
- Gem
mail_form
-
Clone o repositório:
git clone https://github.com/Jmspter/ContactAPI-.git cd contact_api -
Instale as dependências:
bundle install
-
Configure o banco de dados (se houver):
rails db:create db:migrate
-
Configure o envio de e-mails. No arquivo
config/environments/development.rbeconfig/environments/production.rb, adicione suas credenciais SMTP:config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: 'smtp.gmail.com', port: 587, user_name: ENV['GMAIL_USERNAME'], password: ENV['GMAIL_PASSWORD'], authentication: 'plain', enable_starttls_auto: true }
-
Crie um arquivo
.envna raiz do projeto e adicione suas variáveis de ambiente:GMAIL_USERNAME=your-email@gmail.com GMAIL_PASSWORD=your-email-password
-
Inicie o servidor:
rails s
Envia uma mensagem de contato por e-mail.
Envie uma requisição POST para o seguinte endpoint:
http://localhost:3000/api/v1/contacts
name: (string) Nome do usuário que está enviando a mensagem.subject: (string) Assunto da mensagem.message: (string) Corpo da mensagem.
curl -X POST http://localhost:3000/api/v1/contacts \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"subject": "Support Request",
"message": "I need help with my account."
}'{
"status": "Message sent"
}Você pode consumir esta API diretamente a partir da sua aplicação Next.js. Exemplo de como fazer uma requisição POST com fetch:
const sendMessage = async () => {
const response = await fetch('http://localhost:3000/api/v1/contacts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'John Doe',
subject: 'Support Request',
message: 'I need help with my account.',
}),
});
const data = await response.json();
console.log(data); // { status: "Message sent" }
};Para testar a API localmente:
-
Inicie o servidor com:
rails s
-
Use uma ferramenta como Postman ou Insomnia para enviar requisições
POSTao endpoint/api/v1/contacts.
Configure suas variáveis de ambiente no servidor de produção para o envio de e-mails corretamente. Certifique-se de ter um SMTP configurado e todas as credenciais de e-mail em ambiente seguro.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests para melhorias.
Este projeto está licenciado sob a licença MIT.
Este arquivo dá instruções claras sobre como instalar, configurar, testar e usar a API, além de incluir exemplos de como integrá-la em uma aplicação Next.js.