Material Bônus

Preparamos um material bônus com algumas dicas para manipulação do pacote SDK PHP.

Método Auxiliar de Credenciais de Uso

O pacote SDK PHP oferece um método auxiliar para definição das credenciais de uso.

Mais Utilizado

Método mais utilizado para definição das credenciais:

<?php

require 'vendor/autoload.php';

use ZapMeSdk\Base as ZapMeSdk;

$zapMeSdk = (new ZapMeSdk())
                ->withApi('SUA_API_AQUI')
                ->withSecret('SUA_CHAVE_SECRETA_AQUI');

Método Alternativo

Método alternativo para definição das credenciais:

<?php

require 'vendor/autoload.php';

use ZapMeSdk\Base as ZapMeSdk;

$zapMeSdk = (new ZapMeSdk())
                ->withCredentials([
                    'api'    => 'SUA_API_AQUI',
                    'secret' => 'SUA_CHAVE_SECRETA_AQUI'
                ]);

Alterando Destino das Requisições

Se por alguma razão você for instruído pelo suporte da ZapMe a enviar as requisições para uma URL de API diferente, use o método toUrl:

<?php

require 'vendor/autoload.php';

use ZapMeSdk\Base as ZapMeSdk;

$zapMeSdk = (new ZapMeSdk())
                ->toUrl('https://exemplo.zapme.com.br')
                ->withApi('SUA_API_AQUI')
                ->withSecret('SUA_CHAVE_SECRETA_AQUI');

Framework Laravel

No Laravel uma dica valiosa é atribuir a responsabilidade do pacote SDK PHP a pequenas classes de ações:

<?php

namespace App/Actions/ZapMe;
use ZapMeSdk\Base as ZapMeSdk;

class SendMessage
{
    private ZapMeSdk $zapMeSdk;

    public function __construct()
    {
        $this->zapMeSdk = (new ZapMeSdk())
            ->withApi(config('services.zapme.api'))
            ->withSecret(config('services.zapme.secret'));
    }

    public function __invoke(string $phone, string $message, array $attachment = [])
    {
        return $this->zapMeSdk->sendMessage($phone, $message, $attachment);
    }
}

Feito isso, basta utilizar a classe como uma classe invocável onde quiser:

$response = (new \App\Actions\ZapMe\SendMessage())('5511985080505', 'Teste via Laravel!');

Dica

Em um futuro próximo nossos desenvolvedores irão criar um pacote específico para o framework Laravel.

PHP Orientado a Objetos

Se o projeto em que você está incluíndo o pacote SDK PHP for orientado à objetos, então você pode instanciar a classe do SDK em um método construtor e assim ter a instância do objeto disponível em toda classe para fazer o que quiser, veja exemplo abaixo:

class Invoice
{
    private ZapMeSdk $zapMeSdk;

    public function __construct()
    {
        $this->zapMeSdk = (new ZapMeSdk())
            ->withApi('SUA_API_AQUI')
            ->withSecret('SUA_CHAVE_SECRETA_AQUI');
    }

    // ...

    public function createUserInvoice()
    {
        $this->zapMeSdk->sendMessage('5511985850505', 'Olá! Aqui está a sua fatura.');
    }
}