73 votes

Quelques exemples de base d'API Mailchimp requis

Je suis nouveau sur Mailchimp et ont besoin d'un peu d'aide.

Avec leur base formulaire d'inscription à la newsletter... il vous suffit d'incorporer certains préemballés code HTML sur votre page. Cependant le problème est qu'il n'est pas très intelligent. En cliquant sur "soumettre" qui ouvre une fenêtre avec Mailchimp url, etc. (Je ne veux pas faire de redirection vers MailChimp, je veux de l'utilisateur/redirection vers ma propre page après avoir cliquer sur soumettre.)

Ils fournissent une API et l'abondance de la documentation, mais pas trop nombreux exemples utiles. L'API est censé me permettre de faire une intégration complète de mon site afin que satanés fenêtre ne s'ouvre pas sur la soumission. Il semble que, lorsque j'ai lu quelque chose dans leurs docs qui s'applique à moi, je clique sur le lien pour obtenir plus d'informations et je finis par tourner en rond. Ils vous disent comment faire, mais ils ne parviennent pas à "montrer" comment il. Je suis membre mais apparemment, vous avez aussi besoin de savoir une poignée de main secrète avant qu'ils vous permettent de rejoindre leur forum de support.

Génial.... si je peux obtenir une Clé API, ...ils ont des tonnes de documentation et de tout un tas de papiers, et les plugins... PHP, Drupal, Wordpress, etc...

Le problème avec l'aide de leur pré-emballés solutions, c'est que j'ai juste une page que j'ai créé avec HTML, pas de Wordpress, pas de PHP, pas de Drupal... alors je ne sais pas par où commencer ... je ne sais même pas si je suis censé utiliser POST ou GET.

Je ne suis pas un newbie de l'API... je fais très bien avec l'obtention de l'API Google Maps pour faire ce que je veux. Toutefois, Google dans le monde réel exemples de travail en plus de leur documentation détaillée qui est la façon dont je l'ai appris. Je veux juste le voir en action avant que je puisse en saisir les subtilités de l'API.

Où sont donc toutes les API Mailchimp exemples? Un tutoriel simple? Seulement une base de HTML formulaire d'inscription à l'aide de l'API?

Merci à quelqu'un qui peut me pointer dans la bonne direction!

68voto

Sparky Points 36014

EDIT: Puisque l'envoi de cette réponse MailChimp a publié la version 2 de leur API. Jusqu'à ce que j'ai une chance de la tester, cette réponse ne contient que l'exemple de version de l'API 1.


Après tâtonner pendant un certain temps, j'ai trouvé un site en utilisant le PHP, par exemple avec jQuery. Depuis que j'ai été en mesure de créer une simple page HTML avec jQuery contenant la base de formulaire d'inscription. Les fichiers PHP sont "cachés" dans le contexte où l'utilisateur ne les voit encore le jQuery pouvez toujours accéder et utiliser.

1) Télécharger le PHP 5, jQuery exemple ici...

http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip

Si vous n'avez que PHP 4, il suffit de télécharger la version 1.2 de l'MCAPI et remplacer la correspondante MCAPI.class.php le fichier ci-dessus.

http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip

2) Suivez les instructions dans le fichier Lisezmoi en ajoutant votre clé API et l'ID de la Liste de de la store-address.php le fichier à l'endroit approprié.

3) Vous pouvez également recueillir vos utilisateurs nom et/ou d'autres informations. Vous devez ajouter un tableau à l' store-address.php le fichier à l'aide de la correspondante de Variables de Fusion.

Voici ce que ma store-address.php fichier ressemble à celui où j'ai aussi de recueillir les nom, prénom et e-mail de type:

<?php

function storeAddress(){

    require_once('MCAPI.class.php');  // same directory as store-address.php

    // grab an API Key from http://admin.mailchimp.com/account/api/
    $api = new MCAPI('123456789-us2');

    $merge_vars = Array( 
        'EMAIL' => $_GET['email'],
        'FNAME' => $_GET['fname'], 
        'LNAME' => $_GET['lname']
    );

    // grab your List's Unique Id by going to http://admin.mailchimp.com/lists/
    // Click the "settings" link for the list - the Unique Id is at the bottom of that page. 
    $list_id = "123456a";

    if($api->listSubscribe($list_id, $_GET['email'], $merge_vars , $_GET['emailtype']) === true) {
        // It worked!   
        return 'Success!&nbsp; Check your inbox or spam folder for a message containing a confirmation link.';
    }else{
        // An error ocurred, return error message   
        return '<b>Error:</b>&nbsp; ' . $api->errorMessage;
    }

}

// If being called via ajax, autorun the function
if($_GET['ajax']){ echo storeAddress(); }
?>

4) Créer votre code HTML/CSS/jQuery formulaire. Il n'est pas nécessaire d'être sur une page PHP.

Voici ce que ma index.html le fichier ressemble à ceci:

<form id="signup" action="index.html" method="get">
    <input type="hidden" name="ajax" value="true" />
    First Name: <input type="text" name="fname" id="fname" />
    Last Name: <input type="text" name="lname" id="lname" />
    email Address (required): <input type="email" name="email" id="email" />
    HTML: <input type="radio" name="emailtype" value="html" checked="checked" />
    Text: <input type="radio" name="emailtype" value="text" />
    <input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>

<script src="jquery.min.js"></script>
<script>
$(document).ready(function() {
    $('#signup').submit(function() {
        $("#message").html("Adding your email address...");
        $.ajax({
            url: 'inc/store-address.php', // proper url to your "store-address.php" file
            data: $('#signup').serialize(),
            success: function(msg) {
                $('#message').html(msg);
            }
        });
        return false;
    });
});
</script>

Pièces nécessaires...

  • index.html construit comme ci-dessus ou similaires. Avec jQuery, l'apparence et les options sont infinies.

  • store-address.php fichier téléchargé dans le cadre de PHP exemples sur Mailchimp site et modifié avec votre CLÉ API et de l' ID de la LISTE. Vous devez ajouter vos autres champs facultatifs à la matrice.

  • MCAPI.class.php fichier téléchargé à partir de Mailchimp site (la version 1.3 de PHP 5 ou version 1.2 pour PHP 4). Le placer dans le même répertoire que votre store-address.php ou vous devez mettre à jour le chemin de l'url à l'intérieur de store-address.php de sorte qu'il peut trouver.

20voto

Jonas Äppelgran Points 421

Voici un exemple d'utilisation de la version 2.0 de l'API Mailchimp avec mailchimp-api (une classe d'abstraction php minimale permettant de traiter avec l'API Mailchimp).

 <?php

include('MailChimp.php');

$MailChimp = new MailChimp('API_KEY');
$result = $MailChimp->call('lists/subscribe', array(
    'id'                => 'LIST_ID',
    'email'             => array( 'email' => $_POST['email'] ),
    'merge_vars'        => array(
        'MERGE2' => $_POST['name'] // MERGE name from list settings
        // there MERGE fields must be set if required in list settings
    ),
    'double_optin'      => false,
    'update_existing'   => true,
    'replace_interests' => false
));

if( $result === false ) {
    // response wasn't even json
}
else if( isset($result->status) && $result->status == 'error' ) {
    // Error info: $result->status, $result->code, $result->name, $result->error
}

?>
 

Pour en savoir plus sur ce que vous pouvez envoyer avec l'appel API, consultez la documentation de l'API MailChimp .

7voto

davidnknight Points 146

Voici un autre exemple de l'utilisation de la version 2.0 de l'API Mailchimp à l'aide de la Officielle de PHP Wrapper.

La différence entre mon exemple et celui ci-dessus, c'est que je suis en utilisant le abonnez-vous la méthode de la Mailchimp_Lists classe plutôt que le générique de l' appel de méthode.

$api_key = "MAILCHIMP_API_KEY";
$list_id = "MAILCHIMP_LIST_ID";

require('Mailchimp.php');
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => $_POST['email'] ) );

if ( ! empty( $subscriber['leid'] ) ) {
    // Success
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X