{"id":28819534,"url":"https://github.com/matheusrodriguesdasilveira/salesforce_nodejs_integration","last_synced_at":"2026-04-15T14:31:43.273Z","repository":{"id":298799983,"uuid":"1000222123","full_name":"MatheusRodriguesdaSilveira/Salesforce_NodeJs_Integration","owner":"MatheusRodriguesdaSilveira","description":"Este projeto é uma API RESTful desenvolvida com Node.js, TypeScript e Fastify, com integração ao Salesforce via jsforce. Seu principal objetivo é fornecer endpoints seguros e escaláveis para criação, leitura e atualização de contatos na plataforma Salesforce, facilitando a comunicação entre aplicações externas e o CRM.","archived":false,"fork":false,"pushed_at":"2025-06-17T17:58:54.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-03T01:39:11.626Z","etag":null,"topics":["crm","fastify","jsforce","nodejs","salesforce","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatheusRodriguesdaSilveira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-11T12:56:30.000Z","updated_at":"2025-06-17T17:58:58.000Z","dependencies_parsed_at":"2025-06-13T01:38:51.551Z","dependency_job_id":"6617f78c-6e2c-4059-9d22-9a46a1886f29","html_url":"https://github.com/MatheusRodriguesdaSilveira/Salesforce_NodeJs_Integration","commit_stats":null,"previous_names":["matheusrodriguesdasilveira/salesforce_nodejs_integration"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MatheusRodriguesdaSilveira/Salesforce_NodeJs_Integration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRodriguesdaSilveira%2FSalesforce_NodeJs_Integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRodriguesdaSilveira%2FSalesforce_NodeJs_Integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRodriguesdaSilveira%2FSalesforce_NodeJs_Integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRodriguesdaSilveira%2FSalesforce_NodeJs_Integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatheusRodriguesdaSilveira","download_url":"https://codeload.github.com/MatheusRodriguesdaSilveira/Salesforce_NodeJs_Integration/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatheusRodriguesdaSilveira%2FSalesforce_NodeJs_Integration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31845516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crm","fastify","jsforce","nodejs","salesforce","typescript","zod"],"created_at":"2025-06-18T20:05:17.487Z","updated_at":"2026-04-15T14:31:43.266Z","avatar_url":"https://github.com/MatheusRodriguesdaSilveira.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Fastify-000000?style=for-the-badge\u0026logo=fastify\u0026logoColor=white\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Salesforce-00A1E0?style=for-the-badge\u0026logo=salesforce\u0026logoColor=white\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Jsforce-0099cc?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMDBhMWUwIiBvcGFjaXR5PSIwLjYiIHJ4PSIyIi8+PC9zdmc+\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eSalesforce - Integração com Node.js\u003c/b\u003e\u003cbr\u003e\n  \u003ci\u003eAPI RESTful para gestão de contatos no CRM Salesforce\u003c/i\u003e\u003cbr\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n---\n\n# ☁ Salesforce integração com Node.js na gestão de contatos\n\nEste projeto é uma **API RESTful** desenvolvida com **Node.js**, **TypeScript** e **Fastify**, com integração ao **Salesforce** via **Jsforce**.\nSeu principal **objetivo** é fornecer **endpoints seguros e escaláveis** para **criação**, **leitura** e **atualização de contatos na plataforma Salesforce**, facilitando a comunicação entre aplicações externas e o CRM.\n\n---\n\n## 🚀 Funcionalidades\n\n- ✅ Criar novos contatos no Salesforce\n- ✅ Listar todos os contatos salvos\n- ✅ Buscar um contato pelo ID\n- ✅ Atualizar dados de um contato específico\n\n---\n\n## 🛠️ Tecnologias utilizadas\n\n- **Node.js** – Ambiente de execução JavaScript\n- **TypeScript** – Tipagem estática e mais robustez no desenvolvimento\n- **Fastify** – Framework leve e rápido para APIs\n- **Zod** – Validação de esquemas e dados\n- **Salesforce** – Plataforma de CRM utilizada\n- **Jsforce** – Biblioteca para integração com Salesforce via Node.js\n\n---\n\n## 📁 Estrutura de Pastas\n\n```\nsrc/\n├─ @types/\n│  └─ contact.ts                 # Tipagem personalizada para contatos\n├─ config/\n│  ├─ salesforce.ts              # Configuração e autenticação com Salesforce\n│  └─ schema.ts                  # Validações de entrada com Zod\n├─ controller/\n│  ├─ create-contact.controller.ts\n│  ├─ get-contact-id.controller.ts\n│  ├─ get-contacts.controller.ts\n│  └─ update-contact.controller.ts\n├─ service/\n│  ├─ create-contact.service.ts\n│  ├─ get-contact-id.service.ts\n│  ├─ get-contacts.service.ts\n│  └─ update-contact.service.ts\n├─ route.ts                      # Definição das rotas da API\n└─ server.ts                     # Inicialização do servidor Fastify\n```\n\n---\n\n## 📜 Como rodar o projeto\n\n```bash\n# 1. Clonar o repositório\ngit clone https://github.com/MatheusRodriguesdaSilveira/Salesforce_NodeJs_Integration.git\n\n# 2. Acessar a pasta do projeto\ncd Salesforce_NodeJs_Integration\n\n# 3. Instalar as dependências\nnpm install\n\n# 4. Criar um arquivo .env com as credenciais do Salesforce\n# Exemplo de conteúdo do .env:\n# SF_USERNAME=seu-usuario\n# SF_PASSWORD=sua-senha\n# SF_LOGIN_URL=https://login.salesforce.com\n\n# 5. Iniciar o servidor em modo desenvolvimento\nnpm run dev\n```\n\n---\n\n## 📌 Observações\n\n- Este projeto simula a rotina de uma profissional de serviços com agendamentos personalizados.\n- Pode ser facilmente adaptado para **barbearias**, **clínicas de estética**, **fisioterapeutas**, **consultórios médicos**, entre outros.\n\n---\n\n## 🧠 Aprendizados\n\nDurante o desenvolvimento deste projeto, os principais aprendizados foram:\n\n- Integração completa com a API do Salesforce utilizando `jsforce`\n- Estrutura de API escalável com separação de responsabilidades\n- Boas práticas com Fastify + TypeScript\n- Autenticação baseada em variáveis de ambiente\n- Modelagem simples de dados com foco em reuso e clareza\n- Criação de rotas RESTful seguindo padrões HTTP\n- Validação de entrada com `zod` para evitar dados inválidos\n\n---\n\n## 📄 Licença\n\nEste projeto está sob a licença **MIT**.\n© 2025 - Matheus Rodrigues da Silveira\n\n---\n\n\u003cp align=\"center\"\u003e\n  Feito com 💻 por \u003cstrong\u003eMatheus Rodrigues\u003c/strong\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusrodriguesdasilveira%2Fsalesforce_nodejs_integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheusrodriguesdasilveira%2Fsalesforce_nodejs_integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusrodriguesdasilveira%2Fsalesforce_nodejs_integration/lists"}