Coder Social home page Coder Social logo

chimpanze's Introduction

Chimpanze MailChimp API

Uso simples do MailChimp API v3, em PHP.

projeto com base em https://raw.githubusercontent.com/drewm/mailchimp-api

Requer no minimo PHP 5.3.

Installation

Você pode instalar chimpanze usando Composer:

composer require fabricio/chimpanze

Você vai precisar:

  • rodar composer install para pegar as depêndencias na pasta vendor
  • adicione o autoloader na sua aplicação com esta linha: require("vendor/autoload.php")

Examplos

Adicione sua API key em library/mailchimp/config/Data.php Adicione o nome dos grupos de interesse em library/mailchimp/config/InterestGroup.php Adicione o nome dos interesse em library/mailchimp/config/Interest.php

Recupera suas listas de emails

use \max\mailchimp\Lista;

$lista = new Lista();
$lista_array = $lista->get();

Insere um novo membro se não existir

use \max\mailchimp\Lista;
use \max\mailchimp\Membro;
use \max\mailchimp\config\ListaName;

$lista = new Lista();
$lsita_id = $lista->getByName(ListaName::$NOMELISTA);
$membro = new Membro($lsita_id);

$dadosMembro = new \max\mailchimp\entity\Membro();
$dadosMembro->setEmailAddress('[email protected]');
$dadosMembro->setNome('novo','membrp'); //nome e sobrenome
$retorno = $membro->find($dadosMembro->getEmailAddress());

if($membro->success()){
	var_dump($retorno); 
	die('Membro ja existe');
}

$result = $membro->post($dadosMembro);

if($membro->success()){
	die('membro adicionado com sucesso!');
}else{
	die('houve falha no processo, favor verificar');
}

Recupera todos os grupos e seus interesses

use \max\mailchimp\Lista;
use \max\mailchimp\InterestGroup;
use \max\mailchimp\Interest;
use \max\mailchimp\config;

$lista = new Lista();
$lista_id = $lista->getByName(config\ListaName::$NOMELISTA);

$iGroup = new InterestGroup($lista_id);
$iStatus_id = $iGroup->getByName(config\InterestGroup::$NOMEDOGRUPO);

$interest = new Interest($lista_id,$iStatus_id);
$interest_id = $interest->get();

var_dump($interest->get());

Atualiza um membro em grupo de interesse

use \max\mailchimp\Lista;
use \max\mailchimp\Membro;
use \max\mailchimp\Interest;
use \max\mailchimp\InterestGroup;
use \max\mailchimp\config\ListaName;
use \max\mailchimp\entity;
use \max\mailchimp\config;

//Recupera a lista
$lista = new Lista();
$lista_id = $lista->getByName(ListaName::$MAX);

//recupera grupo
$iGroup = new InterestGroup($lista_id);
$iStatus_id = $iGroup->getByName(config\InterestGroup::$STATUS);

//recupera interesse
$interest = new Interest($lista_id,$iStatus_id);
$interests = $interest->get();

// define qual o interesse será salvo
// recupera o id de cada interesse
// e define quais fazem parte do membro com boolean
$dados = array();

$client_id = $interest->getByNameWithList($interests, config\Interest::$CLIENTE);
$pedido_id = $interest->getByNameWithList($interests, config\Interest::$PEDIDO);
$cancelado_id = $interest->getByNameWithList($interests, config\Interest::$CANCELADO);

$dados[$client_id] = false;
$dados[$pedido_id] = true;
$dados[$cancelado_id] = false;

// carrega os dados de membro
$dadosMembro = new \max\mailchimp\entity\Membro();
$dadosMembro->setEmailAddress('[email protected]');
$dadosMembro->setInterests($dados);

// recupera a classe de membro
$membro = new Membro($lista_id);

//encontra o membro
$apiMembro = $membro->find($dadosMembro->getEmailAddress());

if($membro->success()){
	$result = $membro->patch($apiMembro['id'], $dadosMembro);
}else{
	die('membro nao existe');
}

if($membro->success()){
	var_dump($result);
	die('membro atualizado com sucesso');
}else{
	die('Falha ao atualizar cliente');
}

Remove um email da automacao

$auto = new Automation();
$worflow_id = $auto->getByName(AutomationName::$PEDIDO);
$result = $auto->removeEmail($worflow_id, '[email protected]');

if($auto->success()){
	die('email removido')
}else{
	die('error ao remover email');
}

Pega todos os e-mails da workflow

$auto = new Automation();
$workflow_id = $auto->getByName(AutomationName::$PEDIDO);

$workflow_emails = new WorkflowEmail($workflow_id);
$dados = $workflow_emails->get();

Pega todos os e-mails na fila do workflow

$auto = new Automation();
$workflow_id = $auto->getByName(AutomationName::$PEDIDO);

$workflow_emails = new WorkflowEmail($workflow_id);
$dados = $workflow_emails->queueAllEmails();

Contribuição

Toda contribuição e ajuda será bem vinda

chimpanze's People

Contributors

baricio avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.