eduzz/contact-center-php

此包的最新版本(1.5.7)没有可用的许可证信息。

用于 Contact Center Eduzz 的包


README

这个库的目的是以更简单、更有效的方式将系统与 Contact Center 服务集成。通过几行代码,就可以分别或同时发送电子邮件和/或 SMS。

安装(通过 composer)

首先,将包的依赖和仓库添加到我们的 composer.json 文件中。

{
    "require": {
        "eduzz/contact-center-php": "~1.0"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@github.com:eduzz/contact-center-php.git"
        }
    ]
}

配置好 composer 后,使用以下命令安装项目包。

    composer install

Laravel 项目

完成上述步骤后,需要在终端中执行以下命令,这将生成 config/contactcenter.php 文件。

    php artisan vendor:publish --tag="config"

config/app.php 文件中

// ...
'providers' => [
    // ...
    Eduzz\ContactCenter\ContactCenterServiceProvider::class,
],

Lumen 项目

在 Lumen 中,需要手动复制配置文件。安装 composer 包后,在项目根目录下创建一个 config 文件夹,并将 vendor/eduzz/contact-center-php/src/config/contactcenter.php 文件复制到该目录。

bootstrap/app.php 文件中

// ...
$app->configure('contactcenter');
// ...
$app->register(Eduzz\ContactCenter\ContactCenterServiceProvider::class);
// ...

配置 Contact Center

config/contactcenter.php 文件中,需要进行以下两个初始配置

  • ApplicationKey => 使用 Contact Center 的应用程序的哈希值。需要联系团队获取此密钥。
  • BaseUrl => 由团队提供的 contact center 端点。

使用 Contact Center

要发送简单的电子邮件,请使用以下结构

    $contaccenter
        ->createEmailMessage() //Cria mensagem de email
        ->to([new Person('email@dominio.com.br', 'Nome do destinatario')]) // Destinatario
        ->from('no-reply@dominio.com', 'Nome da empresa') // Remetente
        ->template('HRGJJDIISIW3424') // fornecido pela equipe 
        ->params([
            'saudacao' => 'Olá ContactCenter',
            'link_acesso'=> 'http://github.com'
        ]) // Parametros para montar o email
        ->metadata([
            'track_id' => '123'
        ]) // Usado para colocar qualquer informação relevante para rastreio
        ->onError(function($e) {
            echo "Envio de email não realizado" . $e->getMessage();
        }) // Suprime o erro dentro de uma rotina de fallback
        ->send();

现在,有一个新功能实现了,在单个请求(EmailMessage 的 send() 方法)中,您还可以发送多个具有不同参数的电子邮件。

    $contaccenter
        ->createEmailMessage() //Cria mensagem de email
        ->to(new Person('email@dominio.com.br', 
                        'Nome do destinatario', 
                        ['mensagem'=> 'Olá destinatario'])) // Destinatario com parametros opcionais
        ->from('no-reply@dominio.com', 'Nome da empresa') // Remetente
        ->template('HRGJJDIISIW3424') // fornecido pela equipe
        ->params(['mensagem' => 'Olá fulano']) // será substituido pelo parametro passado no usuário 
        ->metadata([
            'track_id' => '123'
        ]) // Usado para colocar qualquer informação relevante para rastreio
        ->onError(function($e) {
            echo "Envio de email não realizado" . $e->getMessage()
        }) // Suprime o erro dentro de uma rotina de fallback
        ->send();

要同时发送多个电子邮件,我们建议使用 DeliveryManager

    $deliveryManager = $contaccenter->delivery();

    for ($i = 1; $i <= 10; $i++) {
        $emailMessage = $contactCenter->createEmailMessage();
    
        $emailMessage->to(new Person('email@dominio.com.br', 'Nome do destinatario'))
        ->from('no-reply@dominio.com', 'Nome da empresa')
        ->templateId('HRGJJDIISIW3424')
        ->params([
            'saudacao' => 'Olá ContactCenter',
            'link_acesso'=> 'http://github.com'
        ])
        ->metadata([
            'track_id' => $i
        ]);

        $deliveryManager->add($emailMessage);
    }

    $deliveryManager->send();

使用 DeliveryManager,您可以同时发送电子邮件和 SMS

    $deliveryManager = $contaccenter->delivery();

    $emailMessage = $contactCenter->createEmailMessage();
    $smsMessage = $contactCenter->createSMSMessage();

    $emailMessage->to(new Person('email@dominio.com.br', 'Nome do destinatario'))
    ->from('no-reply@dominio.com', 'Nome da empresa')
    ->templateId('HRGJJDIISIW3424')
    ->params([
        'saudacao' => 'Olá ContactCenter',
        'link_acesso'=> 'http://github.com'
    ])
    ->metadata([
        'track_id' => $i
    ]);

    $smsMessage
        ->to(new Phone('+55', '15', '99999999'))
        ->templateId('HRGJJDIISIWadsad')
        ->params([
            'nome' => 'Contact Center'
        ]);

    $deliveryManager->add($emailMessage);
    $deliveryManager->add($smsMessage);
    $deliveryManager->send();

模板创建策略

Contact Center 拥有所有电子邮件、SMS、推送通知和其他模板。由于某些消息是直接面向客户的,请联系相关团队了解特定情况下使用的模板代码以及发送所需的参数。这样,我们可以确保所有产品的沟通更加一致。