Après avoir initié notre module Api pour se connecter à Active Campaign, nous allons chercher à le finir, et l’utiliser dans un serveur de test.
Objectifs :
- Finalisation de l’api
- Ajout de la configuration
- Finalisation du module
- Publication du module
Finalisation de la classe Api
Pour envoyer un mail, il faut soit avoir un contact déjà existant, soit l’ajouter d’abord, et envoyer le mail, selon le forum d’Active Campaign.
Nous remarquons que la V3 de l’API, qui se veut en RESTfull, n’est pas encore terminée. Elle ne propose pas par exemple une méthode d’envoi d’une campagne, alors que la V1 en propose encore une.
Nous allons donc utiliser pour l’instant cette version de l’API, exceptionnellement.
Or, nous souhaitons un code évolutif.
Ainsi, nous allons améliorer le code où l’on trouve un fort couplage entre l’Api et le Sender :
constructor(domainName, authToken) {
this._sender = new Sender(domainName, authToken);
}
Nous allons passer une Fabrique (Factory pattern) à la classe Api.
Suivant la méthode en cours d’appel, on renverra tel ou tel sender (le sender actuel, ou le OldSender qui appelle l’ancienne version de l’api AcitveCampaign).
Question, comment faire de l’héritage en javascript ?
Nous allons étendre Sender avec OldV1Sender.
Pour étendre une classe, nous devons utiliser le mot clef : extends.
Changement de stratégie
Au lieu de relancer une campagne, nous avons choisi d’ajouter un contact à une automation existante.
Cet ajout va déclencher l’envoi de l’email !
Et ça fonctionne : l’email est bien envoyé !
Tiens d’ailleurs, voici le démarrage du projet sur github.
On va utiliser la méthode contactAutomations de l’Api.
Avec le bon objet à envoyer dans la form :
const contact = {
contactAutomation: {
contact: 1234,
automation: 567
}
};
ça fonctionne ! Le mail est envoyé : yes !
Maintenant, reste à comprendre pourquoi le contact n’est pas ajouté à l’automation.
Nous avons contacté le support : on vient tient au courant au plus vite !
De la nécessité de garder le contact dans l’automation : le Wait until
Pas besoin d’attendre le retour du SAV : nous avons trouvé !
L’automation doit garder le contact avec un Wait Until (99 années, par exemple).
En attendant, nous allons passer, dans le prochain article à l’ajout dans le contact d’un custom field : l’url pour valider l’email !