softcomtecnologia/softsend-client

0.2.1 2018-03-28 12:57 UTC

This package is not auto-updated.

Last update: 2024-04-28 02:27:07 UTC


README

Instalação

Em seu arquivo composer.json adicione ao "require":

    "require": {
        "softcomtecnologia/softsend-client": "*",
    },

Exemplo de Uso

Obtendo suas Credenciais

    $clientCnpj = '<your-cnpj>';
    $name = '<you-app-name>';
    $options = [
        'cpf_cnpj'      => '<your-cpf_cpnj>',
        'nome'          => '<your-nome>',       //exemplo, razão social da empresa
        'nome_envio'    => '<your-nome_envio>', //facultativo
    ];
    
    $storeClient = new StoreClient($options);
    
    $response = $storeClient->support();
    
    echo $response;
    /* json response
      {
          "code":1,
          "message":"OK",
          "human":"Sucesso",
          "data":{
              "client_id":"v2eFDOO7gl56Y1C9vfF7bi56.d8gYXoX.voHSqsa",
              "client_secret":"Lb94cPejcZGA.XkrpIs8S4UqB1GqfOdiw1jZVYol8mBo96uGBMVyg9efMm13",
              "device_id":"<id-yout-device>",
              "device_name":"<you-app-name>"
          },
          "meta":[]
      }
    */

Autenticação para Acesso a Aplicação

Obtendo Url para Acesso

    $clientId = 'v2eFDOO7gl56Y1C9vfF7bi56.d8gYXoX.voHSqsa';
    $clientSecret = 'Lb94cPejcZGA.XkrpIs8S4UqB1GqfOdiw1jZVYol8mBo96uGBMVyg9efMm13';
    $domain = 'http://<domain-for-application>';//facultativo
    
    $autentication = new AutenticationClient($clientId, $clientSecret, $domain);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $autentication->support();
    
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
              "url" => "http://<domain-for-application>/oauth/token?token=f0bd4ed91d0b956be5906a867858a87a8141283e",
              "redirect" => true,
            ]
            "meta" => []
        ]
    */

Redirecionando

Com a url de acesso, pode-se realizar o redirecionamento da seguinte forma:

    if (isset($response['data']['url'])) {
        header("Location: {$response['data']['url']}");
        exit;
    }
    

Envios

Email

Para o envio de email deve-se informar o tipo (type) que deseja enviar. Cada tipo pode e deve ter suas regras, segue abaixo dois exemplos um para Aniversario e outro para Recuperação de Senha:

  • Exemplo Aniversário
    $clientId = 'w9KKB5E_PFdzF1aM-bEL.BJNw-yTnovUFn53.pJe';
    $clientSecret = '5uOuxxzuS-SIT9aMmGd1-C9Jr-XXnONjabYj6WlXbgdURD6aEgoLsOxTVuBz';
    $envios = [
        'type'   => 'ANIVERSARIO',
        'emails' => [
            [
                'nome'  => '<Nome do Usuário>',
                'data'  => '01/10/1998',
                'email' => 'email-destinatario@host.com',
            ],
            //...
        ]
    ];

    $support = new SendEmail($envios, $clientId, $clientSecret);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $support->support();
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
                "message" => "Emails enviados",
                "sended" => [
                    [
                        "email" => "your@email.com",
                        //demais campos utilizados por cada type
                    ],
                    //...
                ],
                "fails" => [
                    //emails que não foram validados, vazio caso todos tenha validados.
                ] 
            ]
            "meta" => []
        ]
    */
  • Exemplo Recuperação de Senha
    $clientId = 'w9KKB5E_PFdzF1aM-bEL.BJNw-yTnovUFn53.pJe';
    $clientSecret = '5uOuxxzuS-SIT9aMmGd1-C9Jr-XXnONjabYj6WlXbgdURD6aEgoLsOxTVuBz';
    $envios = [
        'type'   => 'ENVIO_SENHA',
        'emails' => [
            [
                'nome'  => '<Nome do Usuário>',
                'email' => 'email-destinatario@host.com',
                'recuperar_senha' => '<token-da-senha>'
            ],
            //...
        ],
    ];

    $support = new SendEmail($envios, $clientId, $clientSecret);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $support->support();
    
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
                "message" => "Emails enviados",
                "sended" => [
                    [
                        "email" => "your@email.com",
                        //demais campos utilizados por cada type
                    ],
                    //...
                ],
                "fails" => [
                    //emails que não foram validados, vazio caso todos tenha validados.
                ] 
            ]
            "meta" => []
        ]
    */
  • Email com Anexo
    $clientId = 'w9KKB5E_PFdzF1aM-bEL.BJNw-yTnovUFn53.pJe';
    $clientSecret = '5uOuxxzuS-SIT9aMmGd1-C9Jr-XXnONjabYj6WlXbgdURD6aEgoLsOxTVuBz';
    $envios = [
        'type'   => 'ENVIO_SENHA',
        'emails' => [
            [
                'nome'  => '<Nome do Usuário>',
                'email' => 'email-destinatario@host.com',
                'recuperar_senha' => '<token-da-senha>'
            ],
            //...
        ],
        'attachment' => [
            "<absolute-path-your-application>/your-attachment.pdf",
            "<absolute-path-your-application>/other-attachment.docx"
        ],
    ];

    $support = new SendEmailAttachment($envios, $clientId, $clientSecret);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $support->support();
    
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
                "message" => "Emails enviados",
                "sended" => [
                    [
                        "email" => "your@email.com",
                        //demais campos utilizados por cada type
                    ],
                    //...
                ],
                "fails" => [
                    //emails que não foram validados, vazio caso todos tenha validados.
                ] 
            ]
            "meta" => []
        ]
    */

SMS

Para o envio de sms deve-se informar o tipo (type) que deseja enviar. Cada tipo pode e deve ter suas regras, segue abaixo dois exemplos um para Aniversario e outro para Cobrança:

  • Exemplo Aniversário
    $clientId = 'w9KKB5E_PFdzF1aM-bEL.BJNw-yTnovUFn53.pJe';
    $clientSecret = '5uOuxxzuS-SIT9aMmGd1-C9Jr-XXnONjabYj6WlXbgdURD6aEgoLsOxTVuBz';
    $envios = [
        'type' => 'ANIVERSARIO',
        'sms' => [
            [
                'nome'  => '<Nome do Usuário>',
                'fone' => '<numero-com-ddd>',
            ],
            //...
        ]
    ];

    $support = new SendSms($envios, $clientId, $clientSecret);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $support->support();
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
                "message" => "Enviados 10/10. Não enviados 0",
                "sended" => [
                    [
                        "fone" => "<your-fone>",
                        //demais campos utilizados por cada type
                    ],
                    //...
                ],
                "fails" => [
                    //sms que não foram validados, vazio caso todos tenha validados.
                ]
            ]
            "meta" => []
        ]
    */
  • Exemplo Cobrança
    $clientId = 'w9KKB5E_PFdzF1aM-bEL.BJNw-yTnovUFn53.pJe';
    $clientSecret = '5uOuxxzuS-SIT9aMmGd1-C9Jr-XXnONjabYj6WlXbgdURD6aEgoLsOxTVuBz';
    $envios = [
        'type' => 'COBRANCA',
        'sms' => [
            [
                'nome'  => '<Nome do Usuário>',
                'fone' => '<numero-com-ddd>',
            ],
            //...
        ],
    ];

    $support = new SendSms($envios, $clientId, $clientSecret);
    
    //optional
    $autentication->responseType(SoftsendConfigs::RESPONSE_TYPE_ARRAY);
    
    $response = $support->support();
    print_r($response);
    /* array response
        [
            "code" => 1,
            "message" => "OK",
            "human" => "Sucesso",
            "data" => [
                "message" => "Enviados 10/10. Não enviados 0",
                "sended" => [
                    [
                        "fone" => "<your-fone>",
                        //demais campos utilizados por cada type
                    ],
                    //...
                ],
                "fails" => [
                    //sms que não foram validados, vazio caso todos tenha validados.
                ]
            ]
            "meta" => []
        ]
    */