{"id":18613039,"url":"https://github.com/eduzz/contact-center-php","last_synced_at":"2025-04-10T23:31:45.835Z","repository":{"id":42647818,"uuid":"186040662","full_name":"eduzz/contact-center-php","owner":"eduzz","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-10T20:01:59.000Z","size":313,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-25T06:23:16.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/eduzz.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}},"created_at":"2019-05-10T19:02:52.000Z","updated_at":"2023-01-03T18:34:44.000Z","dependencies_parsed_at":"2023-02-01T08:45:45.528Z","dependency_job_id":null,"html_url":"https://github.com/eduzz/contact-center-php","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduzz%2Fcontact-center-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduzz%2Fcontact-center-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduzz%2Fcontact-center-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduzz%2Fcontact-center-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eduzz","download_url":"https://codeload.github.com/eduzz/contact-center-php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247967020,"owners_count":21025694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T03:19:38.783Z","updated_at":"2025-04-10T23:31:45.460Z","avatar_url":"https://github.com/eduzz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contact Center (PHP Package)\n\nEsta lib tem como objetivo integrar os sistemas com o serviço Contact Center de uma forma mais simples e eficaz. Com algumas linhas de código, já será possível enviar e-mail e/ou sms de formas separadas, ou exatamente no mesmo momento.\n\n## Instalação (via composer)\n\nPrimeiro, vamos adicionar a dependência e o repositório do pacote no nosso arquivo composer.json:\n\n\n```json\n{\n    \"require\": {\n        \"eduzz/contact-center-php\": \"~1.0\"\n    },\n    \"repositories\": [\n        {\n            \"type\": \"vcs\",\n            \"url\":  \"git@github.com:eduzz/contact-center-php.git\"\n        }\n    ]\n}\n```\n\nApós configurado o composer, utilize o comando abaixo para instalar os pacotes do projeto.\n\n```sh\n    composer install\n```\n\n## Projetos Laravel\n\nApós realizado os passos anteriores, é necessário realizar o seguinte comando no terminal, que gerará o arquivo **config/contactcenter.php**.\n\n```sh\n    php artisan vendor:publish --tag=\"config\"\n```\n\nNo arquivo **config/app.php**\n\n```php\n// ...\n'providers' =\u003e [\n    // ...\n    Eduzz\\ContactCenter\\ContactCenterServiceProvider::class,\n],\n```\n\n## Projetos Lumen\n\nNo Lumen o arquivo config deve ser copiado manualmente. Após a instalação dos pacotes do composer, crie uma pasta **config** na raíz do projeto, e copie o arquivo **vendor/eduzz/contact-center-php/src/config/contactcenter.php** para o diretório criado.\n\nNo arquivo **bootstrap/app.php**\n\n```php\n// ...\n$app-\u003econfigure('contactcenter');\n// ...\n$app-\u003eregister(Eduzz\\ContactCenter\\ContactCenterServiceProvider::class);\n// ...\n```\n##\n\n## Configurando o Contact Center\n\nNo arquivo **config/contactcenter.php**, tem duas configurações iniciais a se fazer:\n\n* **ApplicationKey** =\u003e é o hash da aplicação que usará o Contact Center. Necessário entrar em contato com a equipe para adquirir esta chave.\n* **BaseUrl** =\u003e Endpoint do contact center fornecido pela equipe. \n\n## Usando o Contact Center\n\nPara realizar o envio de email simples utilize a seguinte estrutura:\n\n```php\n    $contaccenter\n        -\u003ecreateEmailMessage() //Cria mensagem de email\n        -\u003eto([new Person('email@dominio.com.br', 'Nome do destinatario')]) // Destinatario\n        -\u003efrom('no-reply@dominio.com', 'Nome da empresa') // Remetente\n        -\u003etemplate('HRGJJDIISIW3424') // fornecido pela equipe \n        -\u003eparams([\n            'saudacao' =\u003e 'Olá ContactCenter',\n            'link_acesso'=\u003e 'http://github.com'\n        ]) // Parametros para montar o email\n        -\u003emetadata([\n            'track_id' =\u003e '123'\n        ]) // Usado para colocar qualquer informação relevante para rastreio\n        -\u003eonError(function($e) {\n            echo \"Envio de email não realizado\" . $e-\u003egetMessage();\n        }) // Suprime o erro dentro de uma rotina de fallback\n        -\u003esend();\n```\n\nAgora, tem um novo recurso implementado, em que você também, em uma única requisição (método send() do EmailMessage) é possível mandar, vários emails com parâmetros diferentes para cada usuário.\n\n```php\n    $contaccenter\n        -\u003ecreateEmailMessage() //Cria mensagem de email\n        -\u003eto(new Person('email@dominio.com.br', \n                        'Nome do destinatario', \n                        ['mensagem'=\u003e 'Olá destinatario'])) // Destinatario com parametros opcionais\n        -\u003efrom('no-reply@dominio.com', 'Nome da empresa') // Remetente\n        -\u003etemplate('HRGJJDIISIW3424') // fornecido pela equipe\n        -\u003eparams(['mensagem' =\u003e 'Olá fulano']) // será substituido pelo parametro passado no usuário \n        -\u003emetadata([\n            'track_id' =\u003e '123'\n        ]) // Usado para colocar qualquer informação relevante para rastreio\n        -\u003eonError(function($e) {\n            echo \"Envio de email não realizado\" . $e-\u003egetMessage()\n        }) // Suprime o erro dentro de uma rotina de fallback\n        -\u003esend();\n```\n\n\nPara realizar o envio de vários e-mails simultaneamente, recomendamos a utilizacao do **DeliveryManager**\n\n```php\n    $deliveryManager = $contaccenter-\u003edelivery();\n\n    for ($i = 1; $i \u003c= 10; $i++) {\n        $emailMessage = $contactCenter-\u003ecreateEmailMessage();\n    \n        $emailMessage-\u003eto(new Person('email@dominio.com.br', 'Nome do destinatario'))\n        -\u003efrom('no-reply@dominio.com', 'Nome da empresa')\n        -\u003etemplateId('HRGJJDIISIW3424')\n        -\u003eparams([\n            'saudacao' =\u003e 'Olá ContactCenter',\n            'link_acesso'=\u003e 'http://github.com'\n        ])\n        -\u003emetadata([\n            'track_id' =\u003e $i\n        ]);\n\n        $deliveryManager-\u003eadd($emailMessage);\n    }\n\n    $deliveryManager-\u003esend();\n```\n\nCom o **DeliveryManager**, você pode mandar tanto email como SMS ao mesmo tempo\n\n```php\n    $deliveryManager = $contaccenter-\u003edelivery();\n\n    $emailMessage = $contactCenter-\u003ecreateEmailMessage();\n    $smsMessage = $contactCenter-\u003ecreateSMSMessage();\n\n    $emailMessage-\u003eto(new Person('email@dominio.com.br', 'Nome do destinatario'))\n    -\u003efrom('no-reply@dominio.com', 'Nome da empresa')\n    -\u003etemplateId('HRGJJDIISIW3424')\n    -\u003eparams([\n        'saudacao' =\u003e 'Olá ContactCenter',\n        'link_acesso'=\u003e 'http://github.com'\n    ])\n    -\u003emetadata([\n        'track_id' =\u003e $i\n    ]);\n\n    $smsMessage\n        -\u003eto(new Phone('+55', '15', '99999999'))\n        -\u003etemplateId('HRGJJDIISIWadsad')\n        -\u003eparams([\n            'nome' =\u003e 'Contact Center'\n        ]);\n\n    $deliveryManager-\u003eadd($emailMessage);\n    $deliveryManager-\u003eadd($smsMessage);\n    $deliveryManager-\u003esend();\n```\n\n## Políticas para criação de templates\n\nO **Contact Center** possui todos os templates de e-mails, SMS, push notification e outros. Por se tratar de algumas mensagens diretamente direcionadas aos clientes, entre em contato com a equipe responsável para saber o codigo de template utilizado em determinada situação, e os par6Ametros necessários para envio. Assim garantimos uma comunicação mais uniforme de todos os produtos da empresa.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduzz%2Fcontact-center-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feduzz%2Fcontact-center-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduzz%2Fcontact-center-php/lists"}