# Intégration à DonorPerfect

Nous vous proposons ci-dessous différentes méthodes d'intégration à un système distinct de gestion des donateurs. Nous savons que les besoins de chaque organisation sont uniques, alors n'hésitez pas à nous contacter à <contact@zeffy.com> pour discuter de l'option d'intégration qui vous convient le mieux !

## Intégration directe

Si vous utilisez DonorPerfect pour la gestion des donateurs, Zeffy offre une intégration directe à la plateforme. Ainsi, les données de vos donateurs reçues dans Zeffy sont automatiquement intégrées dans DonorPerfect.&#x20;

Pour configurer l'intégration, contactez-nous à <contact@zeffy.com> avec votre clé API DonorPerfect et vos informations de compte Zeffy. Une fois que notre équipe aura confirmé que l'intégration est complète, vous commencerez à recevoir vos dons directement dans votre système de gestion des donateurs.&#x20;

{% hint style="danger" %}
Nous recommandons l'intégration directe pour les besoins simples de collecte de fonds, comme les dons ponctuels à partir d'un seul formulaire Zeffy. Pour des campagnes plus complexes comme le pair-à-pair, veuillez nous contacter à <contact@zeffy.com> pour plus d'options.
{% endhint %}

## Import et export

Bien qu'il ne s'agisse pas d'une intégration, c'est parfois la méthode la plus efficace pour transférer vos données de Zeffy vers un système de gestion des donateurs distinct. Pour les campagnes à court terme, nous recommandons d'exporter les rapports sur les donateurs de Zeffy et de les importer directement dans DonorPerfect.&#x20;

Zeffy fournit des rapports complets avec toutes vos données sur les donateurs ou les acheteurs, qui peuvent être exportés vers excel. Vous pouvez ensuite mapper vos rapports en fonction de vos utilisations spécifiques dans DonorPerfect et les importer directement.

## Intégration directe

{% hint style="danger" %}
Veuillez noter que la création de l'API DonorPerfect pour cette méthode d'intégration est effectuée par une source externe. Nous ne contrôlons pas la disponibilité de cette ressource.
{% endhint %}

Simplyk a une application sur la plateforme de connection d'API [Zapier](https://simplykdocs.gitbook.io/org/~/drafts/-LYxlLlx5z3bJyKhNDSw/primary/untitled/www.zapier.com) ([lien d'invitation](https://zapier.com/platform/public-invite/8680/32468dfd5dcf31120269c771d4f8f7bd/)). Cela vous permet de récupérer facilement les données de Simplyk lorsqu'un nouveau don est reçu ou un nouveau billet est vendu, pour envoyer l'information dans Donor Perfect.

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYqyQBtS2KMEk8OmbDg%2F-LYxlLpE10QbpCoPeAkm%2F-LYxmUhpDddxKq9mKfRD%2Fimage.png?alt=media\&token=85bb5333-6807-48ed-a791-9b36fd38def3)

Une fois que vous avez connecté Simplyk à Zapier, vous devez configurer la communication avec l'API de Donor Perfect. Pour se faire, utilisez le guide ci-dessous. Pour de plus amples informations, contactez nous à <contact@simplyk.io>.&#x20;

La configuration est rapide, sécuritaire, et personnalisable.

### Créer l'interface API de DonorPerfect

Pour créer une interface d'API avec DonorPrefect, vous devez vous créer un compte au lien suivant: [http://api.warrenbti.com](http://api.warrenbti.com/).

Une fois le compte créé avec ...., vous obtiendrez une **API key** à garder précieusement.

### Ajouter une donation à un donateur dans DP

Une fois la liaison avec Simplyk réalisée dans Zapier, avec *New donation* comme action de *trigger* dans votre zap, ajouter une étape **Action/search**.

Cette étape va permettre de rechercher, dans votre base de données Donor Perfect existante, le donateur, s'il existe.&#x20;

Sélectionner le type d'action **GET**. L'idée va être ici de voir si le donateur existe déjà dans la base de données.

Dans le champ **URL**, entrer [https://www.simplyk.io/api/v1/dpo](https://simplyk.io/api/v1/dpo).

Ensuite, entrer tous les champs nécessaires dans **Query String Params:**

* *apikey*: renseigner l'api key que vous avez obtenu sur l'interface Donor Perfect api.warrenbti.com
* *action*: Select donor\_id, first\_name, last\_name,email from dp where email='**step1-email**'

en remplaçant **step1-email** par l'adresse email du donateur, qui est obtenu en cliquant sur le **+** à droite.

{% hint style="info" %}
Toutes les prochaines inscriptions en gras commençant par **step** correspondent aux variables des étapes précédentes (exemple: **step1-email**). Pour les introduire, il faut cliquer sur le **+** à droite du champ.
{% endhint %}

Une fois cette étape fini, nous avons en notre possession une liste avec l'id du donateur, s'il a été trouvé dans la base de donnée, sinon, nous avons une liste vide.

Il va maintenant falloir formater cette liste pour avoir un seul id du donateur, ou un 0 si le donateur n'existe pas encore. Pour cela, il faut ajouter une étape dans le zapier et choisir **non pas Action/Search mais Formatter**.

Choisissez ensuite **Utilities**.

Choisissez **Pick from list** dans **Transform**, **Choose first** dans **Opération**, le champ **step2-donor\_id** en cliquant sur **+** pour le champ **Input** et dans **Default**, inscrivez **0**.&#x20;

* *params*: @gift\_id=0, @donor\_id=**step2-donor\_id**, @record\_type='G', @gift\_date='**step1-date**', @amount=**step1-amount**, @gl\_code=NULL, @solicit\_code=NULL, @sub\_solicit\_code=NULL, @campaign=NULL, @gift\_type=NULL, @split\_gift=NULL, @pledge\_payment=NULL, @reference=NULL, @memory\_honor=NULL, @gfname=NULL, @glname=NULL, @fmv=0, @batch\_no=0, @gift\_narrative=**step1-donation\_title**, @ty\_letter\_no=NULL, @glink=NULL, @plink=NULL, @nocalc=NULL, @old\_amount=NULL, @receipt=NULL, @user\_id='Simplyk', @gift\_aid\_date=NULL, @gift\_aid\_amt=NULL, @gift\_aid\_eligible\_g=NULL, @currency='**currency**’

Avec: currency CAD ou USD.

Le résultat est qu'un don par Simplyk mettra à jour un donateur dans DonorPerfect.

{% hint style="info" %}
Zapier offre un prix préférentiel pour les organismes de charités. Il faudra cependant compter une vingtaine de dollars par mois.
{% endhint %}

###

### Détecter si le donateur est déjà dans la base de données

Pour formater le fait d'avoir trouver ou non un donateur dans la DonorPerfect avec cet email, il faut rajouter une étape **Formatter**.

![App d'action à ajouter](/files/-LiKm4qGQ08M9XSDRSPk)

Vous choisissez alors **Utilities** dans les 4 choix proposés, et vous le configurez de la façon suivante :

![Configuration de Utilities](/files/-LiKmZSknA6grr1PYGFR)

Notez bien que l'input est nécessaire et doit être le résultat de **l'étape 2,** et que la valeur de défaut doit être 0.

### Ajouter/mettre à jour le donateur

Pour ajouter (ou mettre à jour, suivant le résultat de l'étape précédente) le donateur, il faut ajouter une étape, qui est encore un **GET** avec **Webhooks**.

Les paramètres :

* url: <https://www.simplyk.io/api/v1/dpo>
* action: dp\_savedonor
* apikey: votre apikey comme précédemment
* params:&#x20;

![Champs params du GET](/files/-LiKq588wmsuO1ZSlmBZ)

&#x20;Le reste des paramètres est intact comme précédemment.

Ensuite, une avant-dernière étape très simple qui consiste à additionner les id des donateurs avec la configuration suivante :&#x20;

![Configuration de l'étape d'addition](/files/-LiKrjtVbhCyPFjVozd-)

Et pour finir, une dernière étape **Webhooks**, un **GET** encore avec la configuration suivante :

![Configuration du dernier GET](/files/-LiKsYOSYrFrP-lzElh3)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zeffy.com/org/master/gestions-des-contacts/base-de-donnee/integration-a-donorperfect.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
