Download the PHP package sierratecnologia/integrations without Composer
On this page you can find all versions of the php package sierratecnologia/integrations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sierratecnologia/integrations
More information about sierratecnologia/integrations
Files in sierratecnologia/integrations
Package integrations
Short Description Integrations de Serviços
License MIT
Homepage https://sierratecnologia.com/packages/integrations/
Informations about the package integrations
SierraTecnologia Integrations
SierraTecnologia Integrations integration services integrations and providers for users required by various SierraTecnologia packages. Validator functionality, and basic controller included out-of-the-box.
📚 Índice
- Introdução
- Instalação
- Arquitetura e Estrutura Interna
- Principais Componentes
- Conectores Disponíveis
- Uso Prático
- Integração com o Ecossistema SierraTecnologia
- Extensão e Customização
- Exemplos Reais
- Ferramentas de Qualidade
- Guia de Contribuição
🚀 Introdução
O que é o SierraTecnologia Integrations?
O SierraTecnologia Integrations é um pacote Laravel robusto e extensível que fornece abstrações e implementações padronizadas para integração com diversos serviços externos, incluindo APIs de terceiros, provedores de pagamento, sistemas de notificações, ERPs, CRMs, plataformas de mídia social e muito mais.
Objetivo e Filosofia do Projeto
Este projeto foi desenvolvido com os seguintes princípios em mente:
- Desacoplamento: Separação clara entre a lógica de negócio e as integrações externas
- Reutilização: Componentes modulares que podem ser utilizados em diferentes contextos
- Extensibilidade: Arquitetura que facilita a adição de novos conectores
- Padronização: Interface consistente para comunicação com serviços diversos
- Manutenibilidade: Código limpo, documentado e testável
Tipos de Integrações Suportadas
O pacote oferece suporte para diversos tipos de integrações, incluindo:
- Redes Sociais: Facebook, Instagram, Twitter, LinkedIn, Pinterest, Tumblr, SnapChat, YouTube
- Armazenamento em Nuvem: Dropbox, Google Drive, Amazon S3
- Gerenciamento de Projetos: Jira, Trello, GitLab, GitHub, Bitbucket
- CRM e Marketing: Hubspot, Pipedrive, ExactSales, Zoho
- Comunicação: Gmail, Slack, ZohoMail
- Outros: Cloudflare, Sentry, Wakatime, TestLink, Wikipedia
Importância dentro do Ecossistema SierraTecnologia
O Integrations é um componente fundamental do ecossistema SierraTecnologia / Rica Soluções, fornecendo a camada de comunicação entre os sistemas internos e o mundo externo. Ele permite que outros pacotes do ecossistema (como MediaManager, Market, CMS, Locaravel) se comuniquem com serviços externos de forma consistente e confiável.
📦 Instalação
Requisitos Mínimos
- PHP 8.0 ou superior (recomendado PHP 8.2+)
- Laravel 9.x ou 10.x
- Composer 2.x
- Extensões PHP:
curl,json,mbstring,openssl
Instalação via Composer
Publicação de Configurações
Após a instalação, publique os arquivos de configuração:
Isso criará os seguintes arquivos:
config/integrations.php- Configurações gerais do pacoteconfig/services.php- Credenciais dos serviços externos (será mesclado com o existente)
Configuração do Service Provider
O pacote utiliza auto-discovery do Laravel, então o IntegrationsProvider será registrado automaticamente. Caso necessite registrar manualmente, adicione ao arquivo config/app.php:
Executar Migrations
Execute as migrations para criar as tabelas necessárias:
🏗 Arquitetura e Estrutura Interna
Estrutura de Pastas e Namespaces
Padrões de Arquitetura Adotados
1. Service Layer Pattern
O pacote utiliza uma camada de serviços para encapsular a lógica de negócio:
2. Adapter Pattern
Cada conector implementa um adaptador para o serviço específico:
3. Facade Pattern
Acesso simplificado através de Facades:
Fluxo de Comunicação Entre Camadas
Convenções e Boas Práticas de Desacoplamento
- Injeção de Dependência: Todas as dependências são injetadas via construtor
- Interfaces e Contratos: Uso de interfaces para definir contratos
- Models Eloquent: Encapsulamento de dados e relacionamentos
- Token-based Authentication: Gestão centralizada de tokens de autenticação
- Logging Dedicado: Canal de log específico para integrations (
sitec-integrations.log)
🧩 Principais Componentes
1. Classe Base Connector
Localização: src/Connectors/Connector.php
Classe abstrata que define a interface comum para todos os conectores:
2. Model Token
Localização: src/Models/Token.php
Gerencia tokens de autenticação para os serviços:
3. IntegrationsService
Localização: src/Services/IntegrationsService.php
Serviço principal para gerenciamento de integrações:
4. WebhookReceivedController
Localização: src/Http/WebhookReceivedController.php
Controller para receber webhooks de serviços externos:
🔌 Conectores Disponíveis
Redes Sociais
- Facebook (
Integrations\Connectors\Facebook\Facebook) - Instagram (
Integrations\Connectors\Instagram\Instagram)- Suporte a métricas (FollowNumbers)
- Like, Comment, Post, Profile
- Twitter (
Integrations\Connectors\Twitter\Twitter)- Análise de sentimento via DatumboxAPI
- LinkedIn (
Integrations\Connectors\Linkedin\Linkedin) - Pinterest (
Integrations\Connectors\Pinterest\Pinterest) - Tumblr (
Integrations\Connectors\Tumblr\Tumblr) - SnapChat (
Integrations\Connectors\SnapChat\SnapChat) - YouTube (
Integrations\Connectors\Youtube\Youtube)
Armazenamento e Infraestrutura
- Amazon S3 (
Integrations\Connectors\Amazon\Amazon) - Dropbox (
Integrations\Connectors\Dropbox\Dropbox) - Google Drive (
Integrations\Connectors\Googledrive\Googledrive) - Cloudflare (
Integrations\Connectors\Cloudflare\Cloudflare)
Gerenciamento de Projetos e Versionamento
- Jira (
Integrations\Connectors\Jira\Jira)- Create, Update, Delete, Import
- Trello (
Integrations\Connectors\Trello\Trello) - GitLab (
Integrations\Connectors\Gitlab\Gitlab) - GitHub (
Integrations\Connectors\GitHub\GitHub) - Bitbucket (
Integrations\Connectors\BitBucket\BitBucket)
CRM, Marketing e Vendas
- Hubspot (
Integrations\Connectors\Hubspot\Hubspot)- Create, Update, Import
- Pipedrive (
Integrations\Connectors\Pipedrive\Pipedrive)- Create, Update, Import
- ExactSales (
Integrations\Connectors\ExactSales\ExactSales)- Create, Update, Import
- Zoho (
Integrations\Connectors\Zoho\Zoho)
Comunicação
- Gmail (
Integrations\Connectors\Gmail\Gmail) - Slack (
Integrations\Connectors\Slack\Slack) - ZohoMail (
Integrations\Connectors\ZohoMail\ZohoMail)
Outros Serviços
- Sentry (
Integrations\Connectors\Sentry\Sentry)- Monitoramento de erros
- Wakatime (
Integrations\Connectors\Wakatime\Wakatime)- Rastreamento de tempo de desenvolvimento
- TestLink (
Integrations\Connectors\Testlink\Testlink)- Gerenciamento de testes
- Wikipedia (
Integrations\Connectors\Wikipedia\Wikipedia)- Busca e integração com Wikipedia
💡 Uso Prático
Configurando Integrações em um Projeto Laravel
1. Configurar Credenciais no .env
2. Configurar no config/services.php
Exemplo: Integração com API Externa (Jira)
Exemplo: Integração com Hubspot (CRM)
Como Lidar com Callbacks e Webhooks
Configurar Rotas
Processar Webhook
Boas Práticas de Segurança, Timeout e Logging
Segurança
Timeout e Retry
Logging
🔗 Integração com o Ecossistema SierraTecnologia
Conexão com Bibliotecas Irmãs
O Integrations se integra perfeitamente com outros pacotes do ecossistema:
1. sierratecnologia/muleta
Dependência principal que fornece traits e helpers:
2. Market (E-commerce)
Integração com gateways de pagamento e ERPs:
3. MediaManager
Upload de mídias para serviços de armazenamento:
4. CMS (Content Management)
Publicação de conteúdo em redes sociais:
Padrões de Versionamento e CI/CD
O projeto segue o Semantic Versioning (SemVer):
- MAJOR: Mudanças incompatíveis na API
- MINOR: Funcionalidades novas compatíveis com versões anteriores
- PATCH: Correções de bugs
Workflow de CI/CD
O projeto utiliza GitHub Actions para automação:
Casos de Uso Multi-Serviço
Exemplo: Pipeline de Marketing Automation
🛠 Extensão e Customização
Como Criar Novos Drivers ou Conectores Customizados
Passo 1: Criar a Estrutura
Passo 2: Implementar o Conector Base
Passo 3: Implementar Ações Específicas
Passo 4: Registrar o Conector
Como Estender Classes Base Sem Quebrar Compatibilidade
Usando Traits
Sobrescrevendo Métodos com Cuidado
Recomendações para Integração Segura e Isolada
1. Usar Filas para Operações Pesadas
2. Implementar Circuit Breaker
3. Validar Dados Antes de Enviar
📊 Exemplos Reais
Caso de Uso 1: Sistema de Gerenciamento de Projetos
Cenário: Empresa de software que usa Jira para gerenciar projetos e deseja integrar com seu sistema interno.
Benefícios Observados:
- Sincronização bidirecional entre Jira e sistema interno
- Redução de 70% no tempo de atualização manual de projetos
- Visibilidade centralizada do status dos projetos
Caso de Uso 2: Automação de Marketing e Vendas
Cenário: E-commerce que integra Hubspot (CRM), Instagram (marketing) e Slack (comunicação interna).
Benefícios Observados:
- Automação completa do funil de vendas
- Redução de 80% no tempo de entrada de dados no CRM
- Aumento de 45% na taxa de conversão por notificação em tempo real
- Visibilidade instantânea de performance de campanhas
Caso de Uso 3: Monitoramento e Notificações
Cenário: Sistema que monitora erros via Sentry e notifica a equipe técnica via Slack.
Benefícios Observados:
- Tempo de resposta a erros críticos reduzido de horas para minutos
- Rastreabilidade completa de bugs desde detecção até resolução
- Redução de 60% em downtime não planejado
🧪 Ferramentas de Qualidade
O projeto utiliza um conjunto robusto de ferramentas para garantir qualidade de código:
PHPUnit - Testes Automatizados
Executar testes:
Configuração: phpunit.xml
PHPCS - Padrão de Código PSR-12
Verificar código:
Configuração: phpcs.xml
PHPStan - Análise Estática (Nível 5)
Analisar código:
Configuração: phpstan.neon
PHPMD - Detecção de Code Smells
Analisar complexidade:
Configuração: phpmd.xml
GrumPHP - Git Hooks
Configuração automática de hooks:
GitHub Actions - CI/CD
O workflow .github/workflows/ci.yml executa automaticamente:
- ✅ Testes em PHP 8.0, 8.1, 8.2
- ✅ Testes em Laravel 9.x e 10.x
- ✅ PHPCS (Code Standards)
- ✅ PHPStan (Static Analysis)
- ✅ PHPMD (Mess Detection)
🤝 Guia de Contribuição
Agradecemos seu interesse em contribuir com o SierraTecnologia Integrations! Este guia fornece todas as informações necessárias para você começar.
Como Contribuir
- Fork o repositório
- Clone seu fork localmente
- Crie uma branch para sua feature ou correção
- Faça suas alterações seguindo os padrões do projeto
- Commit suas mudanças com mensagens descritivas
- Push para sua branch
- Abra um Pull Request
Padrões de Commits
Utilizamos mensagens de commit semânticas:
Nomenclatura de Branches
Executar Ferramentas Localmente
Antes de fazer commit, execute as ferramentas de qualidade:
Requisitos para Pull Requests
Para que seu PR seja aceito, certifique-se de que:
- ✅ Todos os testes passam
- ✅ Código segue o padrão PSR-12
- ✅ PHPStan não reporta erros no nível configurado
- ✅ Documentação foi atualizada (se aplicável)
- ✅ Novos testes foram adicionados para novas funcionalidades
- ✅ CHANGELOG.md foi atualizado
- ✅ Mensagens de commit são descritivas e seguem o padrão
Adicionando um Novo Conector
Se você deseja adicionar suporte para um novo serviço:
- Crie a estrutura de diretórios em
src/Connectors/NomeServico/ - Implemente a classe base estendendo
Connector - Adicione classes auxiliares (Create, Update, Import, etc.)
- Escreva testes unitários em
tests/Unit/Connectors/NomeServicoTest.php - Adicione documentação na seção "Conectores Disponíveis" do README
- Registre o conector no banco de dados
Exemplo de estrutura:
Política de Licença
Este projeto está licenciado sob a MIT License. Ao contribuir, você concorda que suas contribuições sejam licenciadas sob os mesmos termos.
Reportar Bugs
Para reportar bugs, abra uma Issue com:
- Descrição clara do problema
- Passos para reproduzir
- Comportamento esperado vs. comportamento observado
- Versões (PHP, Laravel, pacote)
- Logs relevantes
Solicitar Novas Funcionalidades
Para solicitar novas funcionalidades:
- Abra uma Issue
- Use o label
enhancement - Descreva detalhadamente o caso de uso
- Explique como isso beneficiaria outros usuários
Contato da Equipe Técnica
- Email: [email protected]
- Slack: bit.ly/sierratecnologia-slack
- Twitter: @sierratecnologia
Changelog
Refer to the Changelog for a full history of the project.
Support
The following support channels are available at your fingertips:
- Chat on Slack
- Help on Email
- Follow on Twitter
Contributing & Protocols
Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.
Bug reports, feature requests, and pull requests are very welcome.
- Versioning
- Pull Requests
- Coding Standards
- Feature Requests
- Git Flow
Security Vulnerabilities
If you discover a security vulnerability within this project, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
About SierraTecnologia
SierraTecnologia is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Rio de Janeiro, Brazil since June 2008. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.
License
This software is released under The MIT License (MIT).
(c) 2008-2020 SierraTecnologia, This package no has rights reserved.
All versions of integrations with dependencies
aws/aws-sdk-php Version ^3.0
cache/filesystem-adapter Version >=1.0
fideloper/proxy Version >=4.0
geerlingguy/ping Version *
google/photos-library Version >=1.4
guzzlehttp/guzzle Version ^6.0 || ^7.0
hubspot/hubspot-php Version ^3.0
league/climate Version >=3.4
league/csv Version ^9.0|^8.0|^7.1
league/flysystem-aws-s3-v3 Version *
league/pipeline Version *
league/plates Version ^3.1|^4.0
m4tthumphrey/php-gitlab-api Version *
raiym/instagram-php-scraper Version >=0.9.10
ricasolucoes/atlassian Version ^0.4.0
sabre/xml Version *
sierratecnologia/muleta Version ^0.4.0
srmklive/flysystem-dropbox-v2 Version *
texthtml/docker-links Version *