templateria/zenmail-php

Zenmail PHP API Client

dev-master 2020-07-13 20:17 UTC

This package is auto-updated.

Last update: 2024-04-14 05:14:55 UTC


README

Zenmail é a ferramenta de envio de email marketing criada pela Templateria. Esta biblioteca PHP é um cliente de sua API que permite a automação de qualquer recurso disponível no painel web.

O próprio painel do Zenmail consome sua API - essa é a nossa maneira de garantir uma API completa e fácil de usar.

Instalação

Usando Composer:

composer require templateria/zenmail-php

Autenticação

Solicite um token de acesso ao suporte enviando um email para suporte@zenmail.com.br.

Introdução

Todas as requisições à API passam por uma instância de Zenmail\Client:

$zenmail = new Zenmail\Client([
    'token'      => 'seu token aqui'
    'account_id' => 9999
])

Através de interfaces fluentes, você acessa todos os recursos disponíveis na API:

$contact = $zenmail->contacts->get('pedro@templateria.com'); // obtém um contato pelo email
$contact = $zenmail->contacts->get(58978456);                // ou então diretamente pelo ID

Roadmap

Esta biblioteca encontra-se em estágio inicial de desenvolvimento. Estão disponíveis as seguintes operações:

Contatos [x] criar contatos [x] listar contatos [x] buscar contatos [x] remover contatos [x] atualizar contatos

Listas

[x] criar uma lista

[x] adicionar um contato a uma lista

[x] buscar listas

[x] retornar uma lista

[x] remover uma lista

[x] atualizar/editar uma lista

Gerenciamento de Contatos

Criar um Contato

$zenmail->contacts->create([
    'email'   => 'pedro@templateria.com',
    'details' => ['nome' => 'Pedro']
]);

Obter um Contato

$contact = $zenmail->contacts->get('pedro@templateria.com'); // obtém um contato pelo email
$contact = $zenmail->contacts->get(58978456);                // ou então diretamente pelo ID

Listar Contatos (com busca por email)

// retorna todos os contatos do domínio templateria.com
$zenmail->contacts->find(['email' => '@templateria.com']);

Atualizar um Contato

$zenmail->contacts->update($contact->id, [
    'details' => [
        'nome'      => 'Pedro',
        'sobrenome' => 'Padron',
        'empresa'   => 'Templateria'
    ]
]);

Remover um Contato

$zenmail->contacts->delete($contact->id);

Listas

Criar uma Lista

$zenmail->contactLists->create(['name' => 'Assinantes da Newsletter']);

Adicionar um Contato a uma Lista

Se o contato ainda não existe na conta, ele será criado automaticamente. Se o contato já existe em alguma outra lista, ele apenas será adicionado a mais uma lista.

$zenmail->contactLists->append($listId, ['email' => 'pedro@templateria.com']);

Buscar uma Lista por Nome

$lists = $zenmail->contactLists->find(['name' => 'Assinantes da Newsletter']);

Retornar uma Lista

$lists = $zenmail->contacts->get(['name' => 'Assinantes da Newsletter']);

Atualizar/Editar uma Lista

$listId = 9999;
$zenmail->contactLists->update($listId, ['name' => 'Assinantes da Newsletter pelo Site']);

Remover uma Lista

$listId = 9999;
$lists  = $zenmail->contactLists->delete($listId);

Campanhas

Obter uma Campanha

$zenmail->campaigns->get(12345);

Listar Campanhas

foreach ($zenmail->campaigns->all() as $campaign) {
    echo 'Campanha #' . $campaign->id . ': ' . $campaign->subject;
}
$page = 1;

do {
    $campaigns = $zenmail->campaigns->find(['page' => $page]);
    $lastPage  = $campaigns->getPaginationData()->last_page;
    foreach ($campaigns as $campaign) {
        echo 'Campanha #' . $campaign->id . ': ' . $campaign->subject . "\n";
    }
    $page++;
} while ($page <= $lastPage);

Criar uma Campanha

$campaign = $zenmail->campaigns->create([
    'recipients' => 'lists',
    'list_ids'   => [329104],
    'subject'    => 'Novidades do Zenmail',
    'from_name'  => 'Zenmail',
    'from_email' => 'suporte@zenmail.com.br',
    'html'       => $html,
]);

Enviando uma Campanha

$zenmail->campaigns->send($campaign->id);

Editando uma Campanha

$campaign = $zenmail->campaigns->update([
    'recipients' => 'all'
]);

Remover uma Campanha

$zenmail->campaigns->delete($campaign->id);

Suporte

Acesse nossa documentação para saber mais sobre o Zenmail e envie um email para suporte@zenmail.com.br caso tenha alguma dúvida.

Segurança

Para questões de segurança como vulnerabilidades encontradas ou outros assuntos, envie um email para suporte@zenmail.com.br.

Changelog

Detalhes sobre cada versão desta biblioteca estão disponíveis no arquivo CHANGELOG.md.

Licença

MIT License. Copyright 2019 Templateria Ltda. Por favor, veja o Arquivo de Licença para mais informações.