Introduction
Bienvenue sur l'API OHME ! Vous pouvez utiliser cette API pour récupérer, ajouter ou modifier des contacts, des paiements ou des interactions sur OHME.
Nous ne proposons pas de support OHME pour l'utilisation de l'API. Nous avons des tests internes permettant de vérifier la continuité du service ; si vous avez un message d'erreur, cela est a priori lié à un souci d'implémentation de votre côté. En cas de doute sur l'usage, nous vous invitons à contacter un développeur expérimenté.
Authentification
OHME utilise des clés d'API pour vous authentifier. Vous pouvez trouver vos identifiants dans la section API OHME de la plateforme.
Toutes les requêtes à l'API doivent contenir les headers suivants :
Accept: application/json
client-name: {mon-asso}
client-secret: {mon-secret}
Vous pouvez effectuer un maximum de 100 requêtes par minute. Si vous dépassez ce quota, le serveur renverra une erreur 429 (Too Many Requests).
Contacts
Récupérer les contacts
Exemple de requête :
curl -i --request GET \
--url https://api-ohme.oneheart.fr/api/v1/contacts?limit=20&tag=Mon+%C3%A9tiquette \
--header 'Accept: application/json' \
--header 'client-name: mon-asso' \
--header 'client-secret: mon-secret'
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"ohme_id": 2,
"email": "test2@example.com",
"firstname": "Maggie",
"lastname": "Paul",
"civility": "Madame",
"birthdate": "1970-08-24T00:00:00+01:00",
"address": {
"street_prefix_1": null,
"street_prefix_2": null,
"street": "5, avenue de Lagarde",
"street_2": null,
"city": "Joly-les-Bains",
"state": null,
"post_code": "17457",
"french_departement": "Charente-Maritime",
"french_region": "Nouvelle-Aquitaine",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"structures": ["MonAsso"],
"structure_ohme_ids": [1],
"structure_position_names": ["Président"],
"tags": ["Mon étiquette"],
"groups": ["Groupe 1", "Groupe 2"],
"emailing_lists": [
{
"name": "Abonnés Newsletter",
"app_name": "Brevo",
"external_id": "123"
}
],
"secondary_emails": [],
"attachments": [{
"id": 1125899906842625,
"name": "MonFichier.pdf"
}],
"segment_ids": [1, 2],
"created_at": "2019-11-04T11:25:04+01:00",
"updated_at": "2019-11-04T11:25:04+01:00"
},
{
"id": 1125899906842625,
"ohme_id": 1,
"email": "test@example.com",
"firstname": "Léon",
"lastname": "Gauthier",
"civility": "Monsieur",
"birthdate": "1982-07-03T00:00:00+01:00",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"structures": [],
"structure_ohme_ids": [],
"structure_position_names": [],
"tags": ["Mon étiquette"],
"groups": [],
"emailing_lists": [],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
},
...
]
}
]
Cette requête renvoie tous les contacts.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/contacts
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
ohme_id | null |
Filtrer les contacts par ID OHME (champ ID de l'interface OHME). |
null |
Filtrer les contacts par email (principal ou secondaire). | |
firstname | null |
Filtrer les contacts par prénom. |
lastname | null |
Filtrer les contacts par nom. |
phone | null |
Filtrer les contacts par numéro de téléphone (le format doit être exactement identique). |
structure | null |
Filtrer les contacts par structure. |
tag | null |
Filtrer les contacts par étiquette. |
group | null |
Filtrer les contacts par groupe. |
segment_id | null |
Filtrer les contacts par segment. |
updated_since | null |
Ne renvoyer que les contacts mis à jour depuis la date indiquée (format : "YYYY-MM-DD" ). |
deleted_since | null |
Ne renvoyer que les contacts supprimés (dans la corbeille) depuis la date indiquée (format : "YYYY-MM-DD" ). |
include | null |
Renvoyer des éléments supplémentaires pour chaque contact (voir ci-dessous). |
mon_champ | null |
Filtrer les contacts par champ personnalisé. |
Renvoyer des éléments supplémentaires
Élément | Paramètre | Réponse |
---|---|---|
Numéros des reçus appartenant au contact | include[]=receipt_ids |
"receipts_ids": ["RF-2021-00000043"] |
Créer un contact
Exemple de requête :
curl -i --request POST \
--url https://api-ohme.oneheart.fr/api/v1/contacts \
--header 'Accept: application/json' \
--header 'client-name: mon-asso' \
--header 'client-secret: mon-secret' \
--data '
{
"email": "test@example.com",
"firstname": "Jacques",
"lastname": "Dupont"
}
'
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"email": "test@example.com",
"firstname": "Jacques",
"lastname": "Dupont",
"civility": "Monsieur",
"birthdate": "1980-02-28T00:00:00+01:00",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"structures": ["MonAsso"],
"structure_ohme_ids": [1],
"structure_position_names": ["Président"],
"tags": ["Mon étiquette"],
"groups": ["Groupe 1"],
"emailing_lists": [
{
"name": "Abonnés Newsletter",
"app_name": "Brevo",
"external_id": "123"
}
],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête crée un nouveau contact.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/contacts
Paramètres
Paramètre | Description | Exemple |
---|---|---|
L'adresse email du contact | "test@example.com" |
|
firstname | Le prénom du contact | "Jacques" |
lastname | Le nom du contact | "Dupont" |
civility | La civilité du contact | "Monsieur" |
birthdate | La date de naissance du contact | "1980-02-28" |
address | L'adresse du contact | Voir ci-dessous |
phone | Numéro de téléphone | "0601020304" |
structures | Les noms des structures du contact | ["MonAsso"] |
structure_ohme_ids | Les IDs OHME des structures du contact (écrase le champ "structures") | [1] |
structure_position_names | La fonction du contact dans chaque structure | ["Président"] |
structure_position_start_dates | La date de début de chaque fonction | ["2022-01-20"] |
structure_position_end_dates | La date de fin de chaque fonction | ["2022-12-10"] |
app_name | Nom de l'appli | "Mon Appli" |
tags | Les étiquettes à ajouter au contact | ["Mon étiquette"] |
remove_tags | Les étiquettes à retirer du contact | ["Mon ancienne étiquette"] |
groups | Les groupes auxquels ajouter le contact | ["Groupe 1"] |
secondary_emails | Les emails secondaires à ajouter au contact | ["testing@example.com"] |
mon_champ | Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Civilité
Valeurs possibles par défaut : Monsieur, Madame, Messieurs, Mesdames, Monsieur & Madame, Messieurs & Mesdames
Adresse
Paramètre | Description | Exemple |
---|---|---|
street_prefix_1 | Point de remise (N° appt etc.) | "Appt. 2" |
street_prefix_2 | Point géographique (Entrée, bât, etc.) | "Entrée C" |
street | N° et voie | "66, avenue de Vidal" |
street_2 | Complément d'adresse | "3e droite" |
city | Ville | "Carlierdan" |
state | État / Région | |
post_code | Code postal | "57277" |
country | Pays (nom complet ou code ISO) | "France" / "FR" |
Étiquettes
Les étiquettes automatiques seront ignorées.
Modifier un contact
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"email": "test@example.com",
"firstname": "Jacques",
"lastname": "Dupont",
"civility": "Monsieur",
"birthdate": "1980-02-28T00:00:00+01:00",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"structures": ["MonAsso"],
"structure_ohme_ids": [1],
"structure_position_names": ["Président"],
"tags": ["Mon étiquette"],
"groups": ["Groupe 1"],
"emailing_lists": [
{
"name": "Abonnés Newsletter",
"app_name": "Brevo",
"external_id": "123"
}
],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête met à jour un contact existant.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/contacts/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
L'adresse email du contact | "test@example.com" |
|
firstname | Le prénom du contact | "Jacques" |
lastname | Le nom du contact | "Dupont" |
civility | La civilité du contact | "Monsieur" |
birthdate | La date de naissance du contact | "1980-02-28" |
address | L'adresse du contact | Voir ci-dessous |
phone | Numéro de téléphone | "0601020304" |
structures | Les noms des structures du contact | ["MonAsso"] |
structure_ohme_ids | Les IDs OHME des structures du contact (écrase le champ "structures") | [1] |
structure_position_names | La fonction du contact dans chaque structure | ["Président"] |
structure_position_start_dates | La date de début de chaque fonction | ["2022-01-20"] |
structure_position_end_dates | La date de fin de chaque fonction | ["2022-12-10"] |
app_name | Nom de l'appli | "Mon Appli" |
tags | Les étiquettes à ajouter au contact | ["Mon étiquette"] |
remove_tags | Les étiquettes à retirer du contact | ["Mon ancienne étiquette"] |
groups | Les groupes auxquels ajouter le contact | ["Groupe 1"] |
secondary_emails | Les emails secondaires à ajouter au contact | ["testing@example.com"] |
mon_champ | Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Civilité
Valeurs possibles par défaut : Monsieur, Madame, Messieurs, Mesdames, Monsieur & Madame, Messieurs & Mesdames
Adresse
Paramètre | Description | Exemple |
---|---|---|
street_prefix_1 | Point de remise (N° appt etc.) | "Appt. 2" |
street_prefix_2 | Point géographique (Entrée, bât, etc.) | "Entrée C" |
street | N° et voie | "66, avenue de Vidal" |
street_2 | Complément d'adresse | "3e droite" |
city | Ville | "Carlierdan" |
state | État / Région | |
post_code | Code postal | "57277" |
country | Pays (nom complet ou code ISO) | "France" / "FR" |
Étiquettes
Les étiquettes automatiques seront ignorées.
Récupérer un contact
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"email": "test@example.com",
"firstname": "Jacques",
"lastname": "Dupont",
"civility": "Monsieur",
"birthdate": "1980-02-28T00:00:00+01:00",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"structures": ["MonAsso"],
"structure_ohme_ids": [1],
"structure_position_names": ["Président"],
"tags": ["Mon étiquette"],
"groups": ["Groupe 1"],
"emailing_lists": [
{
"name": "Abonnés Newsletter",
"app_name": "Brevo",
"external_id": "123"
}
],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête renvoie un contact spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/contacts/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du contact à récupérer |
Supprimer un contact
Exemple de réponse :
Status: 204 No Content
Cette requête supprime un contact spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/contacts/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du contact à supprimer |
Paiements
Récupérer les paiements
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": "structure",
"collector_id": 2125899906842629,
"payment_type_id": 1,
"amount": 132,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "individual",
"comment": null,
"recurring": false,
"recurring_payment_id": null,
"is_first_recurring_payment_occurrence": false,
"payment_completed": true,
"payment_status": null,
"tags": [],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"cheque_number": null,
"compta_lot_number": null,
"receipt_id": "RF-2021-000000043",
"receipt_created_at": "2018-05-18T00:00:00+02:00",
"receipt_status": "available",
"app_name": null,
"external_id": "OHP2",
"adhesion_start_date": null,
"adhesion_end_date": null,
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
},
{
"id": 1125899906842625,
"date": "2016-03-08T00:00:00+01:00",
"contact_id": 2125899906842623,
"structure_id": 2125899906842627,
"beneficiary_id": 2125899906842626,
"collector_type": "contact",
"collector_id": 1125899906842629,
"payment_type_id": 2,
"amount": 596,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "company",
"comment": null,
"recurring": true,
"recurring_payment_id": 2125899906842629,
"is_first_recurring_payment_occurrence": true,
"payment_completed": false,
"payment_status": "cheque_rejected",
"tags": ["Mon étiquette"],
"structure_name": "Solidarité Inc.",
"payment_source_name": null,
"payment_source_campaign_code": null,
"payment_method_name": "Chèque",
"iban": null,
"rum": null,
"mandate_signature_date": null,
"bic": null,
"cheque_number": "CH1234",
"compta_lot_number": 123,
"receipt_id": null,
"receipt_created_at": null,
"receipt_status": "non_applicable",
"app_name": null,
"external_id": "OHP1",
"adhesion_start_date": "2016-04-01T00:00:00+01:00",
"adhesion_end_date": "2016-06-30T23:59:59+01:00",
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-04T16:58:46+01:00"
},
...
]
}
]
Cette requête renvoie tous les paiements.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/payments
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
contact_id | null |
Ne renvoyer que les paiements du contact spécifié. |
structure_id | null |
Ne renvoyer que les paiements de la structure spécifiée. |
payment_type_id | null |
Ne renvoyer que les paiements du type spécifié. |
beneficiary_id | null |
Ne renvoyer que les paiements correspondant au bénéficiaire spécifié. |
collector_type | null |
Ne renvoyer que les paiements correspondant au type de collecteur spécifié ("contact" ou "structure"). |
collector_id | null |
Ne renvoyer que les paiements correspondant au collecteur spécifié (le champ "collector_type" doit être rempli également). |
app_name | null |
Ne renvoyer que les paiements provenant de l'appli spécifiée. |
external_id | null |
Ne renvoyer que les paiements avec l'ID de paiement spécifié. |
recurring | null |
Ne renvoyer que les paiements réguliers (1 ) ou ponctuels (0 ). |
since_date | null |
Ne renvoyer que les paiements dont la date est postérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
until_date | null |
Ne renvoyer que les paiements dont la date est antérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
updated_since | null |
Ne renvoyer que les paiements mis à jour depuis la date indiquée (format : "YYYY-MM-DD" ). |
payment_status | null |
Ne renvoyer que les paiements validés (1 ) ou non validés (0 ), ou filtrer les paiements par statut (valeurs ci-dessous). |
segment_id | null |
Filtrer les paiements par recherche enregistrée. |
mon_champ | null |
Filtrer les paiements par champ personnalisé. |
Types de paiements
ID | Description |
---|---|
1 |
Don |
2 |
Adhésion |
3 |
Billetterie |
4 |
Crowdfunding |
5 |
Boutique |
Statuts de paiement
ID | Description |
---|---|
"pending_customer_approval" |
En attente d'autorisation |
"pending_submission" |
En attente d'envoi |
"submitted" |
En attente de traitement |
"confirmed" |
Paiement validé |
"paid_out" |
Reversé |
"cancelled" |
Annulé |
"customer_approval_denied" |
Autorisation refusée |
"failed" |
Échoué |
"charged_back" |
Remboursé |
"cheque_received" |
Chèque reçu |
"cheque_deposited" |
Chèque déposé |
"cheque_cashed" |
Chèque encaissé |
"cheque_rejected" |
Chèque refusé |
"disputed" |
Contesté |
Statuts de reçu
ID | Description |
---|---|
"available" |
Disponible |
"to_be_generated" |
Éligible |
"info_missing" |
Informations manquantes |
"payment_waiting" |
Paiement en attente |
"not_specified" |
Non renseigné |
"see_recurring_payment" |
Voir engagement |
"see_payments" |
Voir paiements |
"non_applicable" |
Critères non concernés |
"generated_elsewhere" |
Généré ailleurs |
Créer un paiement
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "individual",
"comment": null,
"recurring": false,
"recurring_payment_id": null,
"is_first_recurring_payment_occurrence": false,
"payment_completed": true,
"payment_status": "confirmed",
"tags": ["Mon étiquette"],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"cheque_number": null,
"compta_lot_number": null,
"receipt_id": "RF-2021-000000043",
"receipt_created_at": "2018-05-18T00:00:00+02:00",
"receipt_status": "available",
"app_name": null,
"external_id": "OHP2",
"adhesion_start_date": null,
"adhesion_end_date": null,
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
}
}
]
Cette requête crée un nouveau paiement.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/payments
Pour envoyer un fichier de reçu (receipt_file
) avec la requête, veuillez utiliser le format multipart/form-data
.
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
date | obligatoire | Date du paiement | "2018-05-18" |
amount | obligatoire | Montant du paiement | 132.00 |
payment_type_id | obligatoire | Type de paiement | 1 |
donator_nature | obligatoire | Nature du donateur | "individual" |
contact | obligatoire si structure est vide | Spécifier l'ID ou les attributs du contact associé | { "id": 1125899906842625 } |
structure | obligatoire si contact est vide | Spécifier l'ID ou les attributs de la structure associée (sera également rattachée au contact) | { "id": 2251799813685249 } |
donation_nature | obligatoire si payment_type_id est 1 |
Nature du don | "cash" |
donation_form | obligatoire si payment_type_id est 1 |
Forme du don | "manual" |
app_name | null |
Nom de l'appli | "Mon Appli" |
external_id | null |
ID de paiement (interface OHME) | "PP-0001" |
payment_status | null |
Statut du paiement | "confirmed" |
payment_method_name | null |
Moyen de paiement utilisé | "IBAN" |
payment_source_name | null |
Source du paiement | "Campagne 2018" |
payment_source_campaign_code | null |
Code campagne associé à la source du paiement (ajout uniquement) | "C18" |
iban | null |
IBAN | "FR0000000000000000000000000" |
rum | null |
Code RUM | "ABCD-123456" |
mandate_signature_date | null |
Date de signature du mandat | "2018-05-17" |
bic | null |
Code BIC | "ABCDEFGH" |
cheque_number | null |
Numéro de chèque | "CH1234" |
can_edit_receipt | false |
Générer un reçu ? | true |
receipt_file | null |
Le fichier (brut) du reçu, taille maximum : 3Mo. | |
receipt_id | null |
Numéro de reçu | "RF-2021-000000043" |
receipt_created_at | null |
Date de génération du reçu | "2018-05-18" |
comment | null |
Commentaire | |
tags | null |
Étiquettes de paiement | ["Mon étiquette"] |
beneficiary | null |
Adhésions, billetterie ou boutique uniquement : Spécifier l'ID ou les attributs du contact bénéficiaire | { "id": 1125899906842625 } |
collector | null |
Don ou crowdfunding uniquement : Spécifier l'ID ou les attributs du collecteur | { "person_type": "contact", "id": 1125899906842625 } |
adhesion_start_date | null |
Adhésions uniquement : Début de validité de l'adhésion | "2016-04-01 00:00:00" |
adhesion_end_date | null |
Adhésions uniquement : Fin de validité de l'adhésion | "2016-06-30 23:59:59" |
event_date | null |
Billetterie uniquement : Date de l'événement | "2016-04-01 00:00:00" |
event_end_date | null |
Billetterie uniquement : Date de fin de l'événement | "2016-06-30 23:59:59" |
structure_name (obsolète) | null |
Structure (sera également rattachée au contact) | "Solidarité Inc." |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Types de paiements
ID | Description |
---|---|
1 |
Don |
2 |
Adhésion |
3 |
Billetterie |
4 |
Crowdfunding |
5 |
Boutique |
Statuts de paiement
ID | Description | Paiement effectué ? |
---|---|---|
"confirmed" |
Paiement validé | Oui |
"paid_out" |
Reversé | Oui |
"pending_customer_approval" |
En attente d'autorisation | Non |
"pending_submission" |
En attente d'envoi | Non |
"submitted" |
En attente de traitement | Non |
"cancelled" |
Annulé | Non |
"customer_approval_denied" |
Autorisation refusée | Non |
"failed" |
Échoué | Non |
"charged_back" |
Remboursé | Non |
"cheque_cashed" |
Chèque encaissé (chèques uniquement) | Oui |
"cheque_received" |
Chèque reçu (chèques uniquement) | Non |
"cheque_deposited" |
Chèque déposé (chèques uniquement) | Non |
"cheque_rejected" |
Chèque refusé (chèques uniquement) | Non |
Moyens de paiement
Nom |
---|
"Carte de crédit" |
"Chèque" |
"Espèces" |
"IBAN" |
"IDeal" |
"Virement" |
"PayPal" |
"Chèque-Vacances" |
"Virement instantané" |
"Apple Pay" |
"Bancontact" |
Natures de dons
ID | Description |
---|---|
"cash" |
Numéraire |
"shares_of_companies" |
Titres de sociétés cotées |
"skills_sponsorship" |
Mécénat de compétences |
"nature" |
Don en nature |
"goods" |
Don de biens |
"not_deductible" |
Don non déductible |
"expenses" |
Abandon de frais |
"surrender_incomes_products" |
Abandon exprès de revenus ou de produits |
"other" |
Autre |
Formes de dons
ID | Description |
---|---|
"manual" |
Don manuel |
"other" |
Autre |
"authentic_act" |
Acte authentique |
"private_deed" |
Acte sous seing privé |
Natures de donateurs
ID | Description |
---|---|
"individual" |
Particulier |
"company" |
Entreprise |
"association" |
Association |
"association_with_commercial_activity" |
Association (avec activité commerciale) |
"foundation" |
Fondation |
"endowment_fund" |
Fonds de dotation |
"other" |
Autre structure non éligible à la déduction fiscale |
Modifier un paiement
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842626,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "individual",
"comment": null,
"recurring": false,
"recurring_payment_id": null,
"is_first_recurring_payment_occurrence": false,
"payment_completed": true,
"payment_status": "confirmed",
"tags": ["Mon étiquette"],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"cheque_number": null,
"compta_lot_number": null,
"receipt_id": "RF-2021-000000043",
"receipt_created_at": "2018-05-18T00:00:00+02:00",
"receipt_status": "available",
"app_name": null,
"external_id": "OHP2",
"adhesion_start_date": null,
"adhesion_end_date": null,
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
}
}
]
Cette requête met à jour un paiement existant.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/payments/<ID>
Pour envoyer un fichier de reçu (receipt_file
) avec la requête, veuillez utiliser une requête POST au format multipart/form-data
et ajouter un paramètre _method
avec la valeur "PUT"
.
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
date | null |
Date du paiement | "2018-05-18" |
amount | null |
Montant du paiement | 132.00 |
donator_nature | null |
Nature du donateur | "individual" |
payment_status | null |
Statut du paiement | "confirmed" |
payment_method_name | null |
Moyen de paiement utilisé | "IBAN" |
payment_source_name | null |
Source du paiement | "Campagne 2018" |
payment_source_campaign_code | null |
Code campagne associé à la source du paiement (ajout uniquement) | "C18" |
donation_nature | null |
Nature du don | "cash" |
donation_form | null |
Forme du don | "manual" |
iban | null |
IBAN | "FR0000000000000000000000000" |
rum | null |
Code RUM | "ABCD-123456" |
mandate_signature_date | null |
Date de signature du mandat | "2018-05-17" |
bic | null |
Code BIC | "ABCDEFGH" |
cheque_number | null |
Numéro de chèque | "CH1234" |
receipt_file | null |
Le fichier (brut) du reçu, taille maximum : 3Mo. | |
receipt_id | null |
Numéro de reçu | "RF-2021-000000043" |
receipt_created_at | null |
Date de génération du reçu | "2018-05-18" |
comment | null |
Commentaire | |
tags | null |
Étiquettes de paiement | ["Mon étiquette"] |
beneficiary | null |
Adhésions, billetterie ou boutique uniquement : Spécifier l'ID ou les attributs du contact bénéficiaire | { "id": 1125899906842625 } |
collector | null |
Don ou crowdfunding uniquement : Spécifier l'ID ou les attributs du collecteur | { "person_type": "contact", "id": 1125899906842625 } |
adhesion_start_date | null |
Adhésions uniquement : Début de validité de l'adhésion | "2016-04-01 00:00:00" |
adhesion_end_date | null |
Adhésions uniquement : Fin de validité de l'adhésion | "2016-06-30 23:59:59" |
event_date | null |
Billetterie uniquement : Date de l'événement | "2016-04-01 00:00:00" |
event_end_date | null |
Billetterie uniquement : Date de fin de l'événement | "2016-06-30 23:59:59" |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Récupérer un paiement
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "individual",
"comment": null,
"recurring": false,
"recurring_payment_id": null,
"is_first_recurring_payment_occurrence": false,
"payment_completed": true,
"payment_status": null,
"tags": ["Mon étiquette"],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"cheque_number": null,
"compta_lot_number": 123,
"receipt_id": "RF-2021-000000043",
"receipt_created_at": "2018-05-18T00:00:00+02:00",
"receipt_status": "available",
"app_name": null,
"external_id": "OHP1",
"adhesion_start_date": null,
"adhesion_end_date": null,
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
}
}
]
Cette requête renvoie un paiement spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/payments/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du paiement à récupérer |
Supprimer un paiement
Exemple de réponse :
Status: 204 No Content
Cette requête supprime un paiement spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/payments/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du paiement à supprimer |
Télécharger le reçu fiscal ou l'attestation d'un paiement
Exemple de réponse :
[
{
"status": 200,
"data": {
"url": "https://...",
"expires_at": "2019-11-18T15:51:03+01:00"
}
}
]
Cette requête renvoie un lien temporaire de téléchargement du reçu fiscal ou de l'attestation (au format PDF).
Le lien expire automatiquement au bout de 5 minutes.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/payments/<ID>/receipt
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du paiement à récupérer |
Engagements
Récupérer les engagements
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"start_date": "2018-01-01T00:00:00+02:00",
"end_date": "2018-02-03T00:00:00+02:00",
"interval_unit": "monthly",
"first_payment_date": "2018-01-01T00:00:00+02:00",
"next_payment_date": null,
"contact_id": 2125899906842626,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 2,
"amount": 25,
"donator_nature": "individual",
"comment": null,
"status": "cancelled",
"tags": [],
"structure_name": null,
"payment_source_name": "Adhésions 2018",
"payment_source_campaign_code": "A18",
"payment_method_name": "Carte de crédit",
"iban": null,
"rum": null,
"mandate_signature_date": null,
"bic": null,
"app_name": null,
"external_id": "OHE2",
"created_at": "2019-01-04T16:58:46+01:00",
"updated_at": "2019-01-07T14:40:39+01:00"
},
{
"id": 1125899906842625,
"start_date": "2018-05-18T00:00:00+02:00",
"end_date": null,
"interval_unit": "monthly",
"first_payment_date": "2018-05-18T00:00:00+02:00",
"next_payment_date": "2019-01-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donator_nature": "individual",
"comment": null,
"status": null,
"tags": [],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"app_name": null,
"external_id": "OHE1",
"created_at": "2019-01-04T16:58:46+01:00",
"updated_at": "2019-01-07T14:40:39+01:00"
},
...
]
}
]
Cette requête renvoie tous les engagements.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/recurring-payments
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
contact_id | null |
Ne renvoyer que les engagements du contact spécifié. |
structure_id | null |
Ne renvoyer que les engagements de la structure spécifiée. |
payment_type_id | null |
Ne renvoyer que les engagements du type spécifié. |
beneficiary_id | null |
Ne renvoyer que les engagements correspondant au bénéficiaire spécifié. |
collector_type | null |
Ne renvoyer que les engagements correspondant au type de collecteur spécifié ("contact" ou "structure"). |
collector_id | null |
Ne renvoyer que les engagements correspondant au collecteur spécifié (le champ "collector_type" doit être rempli également). |
external_id | null |
Ne renvoyer que les engagements avec l'ID d'engagement spécifié. |
start_date_after | null |
Ne renvoyer que les engagements dont la date de début est postérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
start_date_before | null |
Ne renvoyer que les engagements dont la date de début est antérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
end_date_after | null |
Ne renvoyer que les engagements dont la date de fin est postérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
end_date_before | null |
Ne renvoyer que les engagements dont la date de fin est antérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
next_payment_date_after | null |
Ne renvoyer que les engagements dont la date du prochain paiement est postérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
next_payment_date_before | null |
Ne renvoyer que les engagements dont la date du prochain paiement est antérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
recurring_payment_status | null |
Ne renvoyer que les engagements actifs (1 ) ou inactifs (0 ), ou filtrer les engagements par statut (valeurs ci-dessous). |
segment_id | null |
Filtrer les engagements par recherche enregistrée. |
mon_champ | null |
Filtrer les engagements par champ personnalisé. |
Types d'engagements
ID | Description |
---|---|
1 |
Don |
2 |
Adhésion |
4 |
Crowdfunding |
5 |
Boutique |
Périodicités d'engagement
ID | Description |
---|---|
"weekly" |
Hebdomadaire |
"monthly" |
Mensuelle |
"yearly" |
Annuelle |
"trimestrial" |
Trimestrielle |
"semestrial" |
Semestrielle |
Statuts d'engagement
ID | Description |
---|---|
"active" |
Actif |
"cancelled" |
Suspendu |
"finished" |
Terminé |
"paused" |
En pause |
"failed" |
Échoué |
"submitted" |
En attente de traitement |
"pending_customer_approval" |
En attente d'autorisation |
"customer_approved" |
Autorisation acceptée |
"customer_approval_denied" |
Autorisation refusée |
"past_due" |
En retard de paiement |
"trialing" |
En période d'essai |
Récupérer un engagement
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"start_date": "2018-05-18T00:00:00+02:00",
"end_date": null,
"interval_unit": "monthly",
"first_payment_date": "2018-05-18T00:00:00+02:00",
"next_payment_date": "2019-01-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donator_nature": "individual",
"comment": null,
"status": null,
"tags": [],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"app_name": null,
"external_id": "OHE1",
"created_at": "2019-01-04T16:58:46+01:00",
"updated_at": "2019-01-07T14:40:39+01:00"
}
}
]
Cette requête renvoie un engagement spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/recurring-payments/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de l'engagement à récupérer |
Engagements d'applis
Créer ou modifier un engagement (appli externe)
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"start_date": "2018-05-18T00:00:00+02:00",
"end_date": "2019-05-18T00:00:00+02:00",
"interval_unit": "monthly",
"first_payment_date": null,
"next_payment_date": null,
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": 2125899906842626,
"collector_type": "contact",
"collector_id": 2125899906842628,
"payment_type_id": 1,
"amount": 132,
"donator_nature": "individual",
"comment": null,
"status": null,
"tags": ["Mon étiquette"],
"structure_name": "Ma structure",
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"app_name": "Mon Appli",
"external_id": "EE-0001",
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
}
}
]
Cette requête crée ou met à jour un engagement. Vous pouvez utiliser cette méthode pour créer un engagement qui n'a pas encore généré de paiements, ou pour arrêter ou modifier le statut d'un engagement existant. Pour créer ou mettre à jour un engagement en même temps qu’une occurrence de cet engagement, nous vous recommandons d'utiliser la requête "Créer ou modifier un paiement régulier (appli externe)".
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/external-recurring-payments
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
app_name | obligatoire | Nom de l'appli | "Mon Appli" |
external_id | obligatoire | ID de l'engagement dans l'appli | "EE-0001" |
start_date | obligatoire si l'engagement n'existe pas | Date de début | "2018-05-18" |
end_date | null |
Date de fin | "2019-05-18" |
interval_unit | obligatoire si l'engagement n'existe pas | Périodicité | "monthly" |
status | "active" |
Statut de l'engagement | "cancelled" |
amount | obligatoire si l'engagement n'existe pas | Montant du paiement | 132.00 |
payment_type_id | obligatoire si l'engagement n'existe pas | Type d'engagement | 1 |
payment_status | null |
Statut du paiement | "confirmed" |
payment_method_name | null |
Moyen de paiement utilisé | "IBAN" |
payment_source_name | null |
Source du paiement | "Campagne 2018" |
payment_source_campaign_code | null |
Code campagne associé à la source du paiement (ajout uniquement) | "C18" |
donator_nature | obligatoire si l'engagement n'existe pas | Nature du donateur | "individual" |
iban | null |
IBAN | "FR0000000000000000000000000" |
rum | null |
Code RUM | "ABCD-123456" |
mandate_signature_date | null |
Date de signature du mandat | "2018-05-17" |
bic | null |
Code BIC | "ABCDEFGH" |
comment | null |
Commentaire | |
tags | null |
Étiquettes de paiement | ["Mon étiquette"] |
contact | obligatoire si structure est vide | Spécifier l'ID ou les attributs du contact associé | { "id": 2125899906842625 } |
structure | obligatoire si contact est vide | Spécifier l'ID ou les attributs de la structure associée (sera également rattachée au contact) | { "id": 2125899906842627 } |
beneficiary | null |
Adhésions, billetterie ou boutique uniquement : Spécifier l'ID ou les attributs du contact bénéficiaire | { "id": 2125899906842626 } |
collector | null |
Don ou crowdfunding uniquement : Spécifier l'ID ou les attributs du collecteur | { "person_type": "contact", "id": 2125899906842628 } |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Types d'engagements
ID | Description |
---|---|
1 |
Don |
2 |
Adhésion |
4 |
Crowdfunding |
5 |
Boutique |
Périodicités d'engagement
ID | Description |
---|---|
"weekly" |
Hebdomadaire |
"monthly" |
Mensuelle |
"yearly" |
Annuelle |
"trimestrial" |
Trimestrielle |
"semestrial" |
Semestrielle |
Statuts d'engagement
ID | Description |
---|---|
"active" |
Actif |
"cancelled" |
Suspendu |
"finished" |
Terminé |
"paused" |
En pause |
"failed" |
Échoué |
"submitted" |
En attente de traitement |
"pending_customer_approval" |
En attente d'autorisation |
"customer_approved" |
Autorisation acceptée |
"customer_approval_denied" |
Autorisation refusée |
"past_due" |
En retard de paiement |
"trialing" |
En période d'essai |
Moyens de paiement
Nom |
---|
"Carte de crédit" |
"Chèque" |
"Espèces" |
"IBAN" |
"IDeal" |
"Virement" |
"PayPal" |
"Chèque-Vacances" |
"Virement instantané" |
"Apple Pay" |
"Bancontact" |
Natures de donateurs
ID | Description |
---|---|
"individual" |
Particulier |
"company" |
Entreprise |
"association" |
Association |
"association_with_commercial_activity" |
Association (avec activité commerciale) |
"foundation" |
Fondation |
"endowment_fund" |
Fonds de dotation |
"other" |
Autre structure non éligible à la déduction fiscale |
Créer ou modifier un paiement régulier (appli externe)
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": null,
"beneficiary_id": null,
"collector_type": null,
"collector_id": null,
"payment_type_id": 1,
"amount": 132,
"donation_nature": "cash",
"donation_form": "manual",
"donator_nature": "individual",
"comment": null,
"recurring": true,
"recurring_payment_id": 2125899906842629,
"is_first_recurring_payment_occurrence": true,
"payment_completed": true,
"payment_status": "confirmed",
"tags": ["Mon étiquette"],
"structure_name": null,
"payment_source_name": "Campagne 2018",
"payment_source_campaign_code": "C18",
"payment_method_name": "IBAN",
"iban": "FR0000000000000000000000000",
"rum": "ABCD-123456",
"mandate_signature_date": "2018-05-17T00:00:00+02:00",
"bic": "ABCDEFGH",
"cheque_number": null,
"compta_lot_number": null,
"receipt_id": null,
"receipt_created_at": null,
"receipt_status": "see_recurring_payment",
"app_name": null,
"external_id": "OHP2",
"adhesion_start_date": null,
"adhesion_end_date": null,
"event_date": null,
"event_end_date": null,
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-07T14:40:39+01:00"
}
}
]
Cette requête crée ou met à jour un paiement régulier (occurrence d'engagement), et crée ou met à jour l'engagement associé.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/external-recurring-payment-occurrences
Pour envoyer un fichier de reçu (receipt_file
) avec la requête, veuillez utiliser le format multipart/form-data
.
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
app_name | obligatoire | Nom de l'appli | "Mon Appli" |
external_id | obligatoire | ID du paiement dans l'appli | "PP-0001" |
recurring_payment | obligatoire | Spéficier les attributs de l'engagement (voir ci-dessous) | {"external_id": "EE-0001"} |
date | obligatoire | Date du paiement | "2018-05-18" |
amount | obligatoire | Montant du paiement | 132.00 |
payment_type_id | obligatoire | Type d'engagement | 1 |
payment_status | null |
Statut du paiement | "confirmed" |
payment_method_name | null |
Moyen de paiement utilisé | "IBAN" |
payment_source_name | null |
Source du paiement | "Campagne 2018" |
payment_source_campaign_code | null |
Code campagne associé à la source du paiement (ajout uniquement) | "C18" |
donator_nature | obligatoire | Nature du donateur | "individual" |
iban | null |
IBAN | "FR0000000000000000000000000" |
rum | null |
Code RUM | "ABCD-123456" |
mandate_signature_date | null |
Date de signature du mandat | "2018-05-17" |
bic | null |
Code BIC | "ABCDEFGH" |
cheque_number | null |
Numéro de chèque | "CH1234" |
receipt_file | null |
Le fichier (brut) du reçu, taille maximum : 3Mo. | |
receipt_id | null |
Numéro de reçu | "RF-2021-000000043" |
receipt_created_at | null |
Date de génération du reçu | "2018-05-18" |
comment | null |
Commentaire | |
tags | null |
Étiquettes de paiement | ["Mon étiquette"] |
contact | obligatoire si structure est vide | Spécifier l'ID ou les attributs du contact associé | { "id": 2125899906842625 } |
structure | obligatoire si contact est vide | Spécifier l'ID ou les attributs de la structure associée (sera également rattachée au contact) | { "id": 2125899906842627 } |
beneficiary | null |
Adhésions, billetterie ou boutique uniquement : Spécifier l'ID ou les attributs du contact bénéficiaire | { "id": 840 } |
collector | null |
Don ou crowdfunding uniquement : Spécifier l'ID ou les attributs du collecteur | { "person_type": "contact", "id": 840 } |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Champs d'engagement
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
external_id | obligatoire | ID de l'engagement dans l'appli | "EE-0001" |
start_date | Date du premier paiement | Date de début | "2018-05-18" |
end_date | null |
Date de fin | "2019-05-18" |
interval_unit | obligatoire | Périodicité | "monthly" |
status | "active" |
Statut de l'engagement | "cancelled" |
Types d'engagements
ID | Description |
---|---|
1 |
Don |
2 |
Adhésion |
4 |
Crowdfunding |
5 |
Boutique |
Périodicités d'engagement
ID | Description |
---|---|
"weekly" |
Hebdomadaire |
"monthly" |
Mensuelle |
"yearly" |
Annuelle |
"trimestrial" |
Trimestrielle |
"semestrial" |
Semestrielle |
Statuts d'engagement
ID | Description |
---|---|
"active" |
Actif |
"cancelled" |
Suspendu |
"finished" |
Terminé |
"paused" |
En pause |
"failed" |
Échoué |
"submitted" |
En attente de traitement |
"pending_customer_approval" |
En attente d'autorisation |
"customer_approved" |
Autorisation acceptée |
"customer_approval_denied" |
Autorisation refusée |
"past_due" |
En retard de paiement |
"trialing" |
En période d'essai |
Statuts de paiement
ID | Description | Paiement effectué ? |
---|---|---|
"confirmed" |
Paiement validé | Oui |
"paid_out" |
Reversé | Oui |
"pending_customer_approval" |
En attente d'autorisation | Non |
"pending_submission" |
En attente d'envoi | Non |
"submitted" |
En attente de traitement | Non |
"cancelled" |
Annulé | Non |
"customer_approval_denied" |
Autorisation refusée | Non |
"failed" |
Échoué | Non |
"charged_back" |
Remboursé | Non |
"cheque_cashed" |
Chèque encaissé (chèques uniquement) | Oui |
"cheque_received" |
Chèque reçu (chèques uniquement) | Non |
"cheque_deposited" |
Chèque déposé (chèques uniquement) | Non |
"cheque_rejected" |
Chèque refusé (chèques uniquement) | Non |
Moyens de paiement
Nom |
---|
"Carte de crédit" |
"Chèque" |
"Espèces" |
"IBAN" |
"IDeal" |
"Virement" |
"PayPal" |
"Chèque-Vacances" |
"Virement instantané" |
"Apple Pay" |
"Bancontact" |
Natures de donateurs
ID | Description |
---|---|
"individual" |
Particulier |
"company" |
Entreprise |
"association" |
Association |
"association_with_commercial_activity" |
Association (avec activité commerciale) |
"foundation" |
Fondation |
"endowment_fund" |
Fonds de dotation |
"other" |
Autre structure non éligible à la déduction fiscale |
Interactions
Récupérer les interactions
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"date": "2019-10-16T00:00:00+02:00",
"contact_id": 2125899906842629,
"structure_id": null,
"interaction_category_name": "Relations donateurs",
"interaction_type_name": "Appel téléphonique",
"interaction_label_name": "Relance fin 2019",
"comment": null,
"details": null,
"attachments": [],
"created_at": "2019-10-16T17:24:33+01:00",
"updated_at": "2019-10-16T17:24:33+01:00"
},
{
"id": 1125899906842625,
"date": "2018-05-18T00:00:00+02:00",
"contact_id": 2125899906842625,
"structure_id": 2125899906842627,
"interaction_category_name": "Paiement",
"interaction_type_name": "Crowdfunding",
"interaction_label_name": null,
"comment": null,
"details": "132,00 € - IBAN",
"attachments": [],
"created_at": "2019-11-04T16:58:46+01:00",
"updated_at": "2019-11-04T16:58:46+01:00"
},
...
]
}
]
Cette requête renvoie toutes les interactions.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/interactions
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
contact_id | null |
Ne renvoyer que les interactions du contact spécifié. |
structure_id | null |
Ne renvoyer que les interactions de la structure spécifiée. |
interaction_category_name | null |
Ne renvoyer que les interactions de la catégorie spécifiée. |
interaction_type_name | null |
Ne renvoyer que les interactions du type spécifiée. |
interaction_label_name | null |
Ne renvoyer que les interactions du libellé spécifiée. |
since_date | null |
Ne renvoyer que les interactions dont la date est postérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
until_date | null |
Ne renvoyer que les interactions dont la date est antérieure ou égale à la date spécifiée (format : "YYYY-MM-DD" ). |
mon_champ | null |
Filtrer les interactions par champ personnalisé. |
Créer une interaction
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"date": "2019-10-16T00:00:00+02:00",
"contact_id": 2125899906842629,
"structure_id": null,
"interaction_category_name": "Relations donateurs",
"interaction_type_name": "Appel téléphonique",
"interaction_label_name": "Relance fin 2019",
"comment": null,
"details": null,
"attachments": [],
"created_at": "2019-10-16T17:24:33+01:00",
"updated_at": "2019-10-16T17:24:33+01:00"
}
}
]
Cette requête crée une nouvelle interaction.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/interactions
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
date | obligatoire | Date de l'interaction | "2019-10-16" |
interaction_type_name | obligatoire | Type de l'interaction | "Appel téléphonique" |
contact | obligatoire si structure est vide | Spécifier l'ID ou les attributs du contact associé | { "id": 1125899906842625 } |
structure | obligatoire si contact est vide | Spécifier l'ID ou les attributs de la structure associée (sera également rattachée au contact) | { "id": 2251799813685249 } |
app_name | null |
Nom de l'appli | "Mon Appli" |
interaction_category_name | null |
Catégorie de l'interaction | "Relations donateurs" |
interaction_label_name | null |
Libellé de l'interaction | "Relance fin 2019" |
comment | null |
Commentaire | |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Modifier une interaction
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842626,
"date": "2019-10-16T00:00:00+02:00",
"contact_id": 838,
"structure_id": null,
"interaction_category_name": "Relations donateurs",
"interaction_type_name": "Appel téléphonique",
"interaction_label_name": "Relance fin 2019",
"comment": null,
"details": null,
"attachments": [],
"created_at": "2019-10-16T17:24:33+01:00",
"updated_at": "2019-10-16T19:43:14+01:00"
}
}
]
Cette requête met à jour une interaction existante.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/interactions/<ID>
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
date | null |
Date de l'interaction | "2019-10-16" |
app_name | null |
Nom de l'appli | "Mon Appli" |
interaction_category_name | null |
Catégorie de l'interaction | "Relations donateurs" |
interaction_type_name | null |
Type de l'interaction | "Appel téléphonique" |
interaction_label_name | null |
Libellé de l'interaction | "Relance fin 2019" |
comment | null |
Commentaire | |
mon_champ | null |
Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Récupérer une interaction
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842626,
"date": "2019-10-16T00:00:00+02:00",
"contact_id": 2125899906842629,
"structure_id": null,
"interaction_category_name": "Relations donateurs",
"interaction_type_name": "Appel téléphonique",
"interaction_label_name": "Relance fin 2019",
"comment": null,
"details": null,
"attachments": [],
"created_at": "2019-10-16T17:24:33+01:00",
"updated_at": "2019-10-16T19:43:14+01:00"
}
}
]
Cette requête renvoie une interaction spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/interactions/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de l'interaction à récupérer |
Supprimer une interaction
Exemple de réponse :
Status: 204 No Content
Cette requête supprime une interaction spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/interactions/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de l'interaction à supprimer |
Structures
Récupérer les structures
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"ohme_id": 2,
"name": "Fondation Jacques Dupont",
"email": "info@fondation.org",
"address": {
"street_prefix_1": null,
"street_prefix_2": null,
"street": "5, avenue de Lagarde",
"street_2": null,
"city": "Joly-les-Bains",
"state": null,
"post_code": "17457",
"french_departement": "Charente-Maritime",
"french_region": "Nouvelle-Aquitaine",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"siren": null,
"forme_juridique": null,
"tags": ["Mon étiquette"],
"secondary_emails": [],
"attachments": [],
"segment_ids": [3, 4],
"created_at": "2019-11-04T11:25:04+01:00",
"updated_at": "2019-11-04T11:25:04+01:00"
},
{
"id": 1125899906842625,
"ohme_id": 1,
"name": "Solidarité Inc.",
"email": "info@solidarite.org",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"siren": "123456789",
"forme_juridique": "SARL",
"tags": [],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
},
...
]
}
]
Cette requête renvoie toutes les structures.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/structures
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
ohme_id | null |
Filtrer les structures par ID OHME (champ ID de l'interface OHME). |
name | null |
Filtrer les structures par nom. |
null |
Filtrer les structures par email. | |
siren | null |
Filtrer les structures par numéro SIREN. |
phone | null |
Filtrer les structures par numéro de téléphone (le format doit être exactement identique). |
tag | null |
Filtrer les structures par étiquette. |
segment_id | null |
Filtrer les structures par segment. |
updated_since | null |
Ne renvoyer que les structures mises à jour depuis la date indiquée (format : "YYYY-MM-DD" ). |
deleted_since | null |
Ne renvoyer que les structures supprimées (dans la corbeille) depuis la date indiquée (format : "YYYY-MM-DD" ). |
mon_champ | null |
Filtrer les structures par champ personnalisé. |
Créer une structure
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"name": "Solidarité Inc.",
"email": "info@solidarite.org",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"siren": "123456789",
"forme_juridique": "SARL",
"tags": ["Mon étiquette"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête crée une nouvelle structure.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/structures
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom de la structure | "Solidarité Inc." |
L'adresse email de la structure | "info@example.org" |
|
address | L'adresse de la structure | Voir ci-dessous |
phone | Numéro de téléphone | "0601020304" |
siren | Numéro SIREN | "123456789" |
forme_juridique | Forme juridique | "SARL" |
app_name | Nom de l'appli | "Mon Appli" |
tags | Les étiquettes à ajouter à la structure | ["Mon étiquette"] |
remove_tags | Les étiquettes à retirer de la structure | ["Mon ancienne étiquette"] |
secondary_emails | Les emails secondaires à ajouter à la structure | ["testing@example.com"] |
mon_champ | Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Adresse
Paramètre | Description | Exemple |
---|---|---|
street_prefix_1 | Point de remise (N° appt etc.) | "Appt. 2" |
street_prefix_2 | Point géographique (Entrée, bât, etc.) | "Entrée C" |
street | N° et voie | "66, avenue de Vidal" |
street_2 | Complément d'adresse | "3e droite" |
city | Ville | "Carlierdan" |
state | État / Région | |
post_code | Code postal | "57277" |
country | Pays (nom complet ou code ISO) | "France" / "FR" |
Modifier une structure
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"name": "Solidarité Inc.",
"email": "info@solidarite.org",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"siren": "123456789",
"forme_juridique": "SARL",
"tags": ["Mon étiquette"],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête met à jour une structure existante.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/structures/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom de la structure | "Solidarité Inc." |
L'adresse email de la structure | "info@example.org" |
|
address | L'adresse de la structure | Voir ci-dessous |
phone | Numéro de téléphone | "0601020304" |
siren | Numéro SIREN | "123456789" |
forme_juridique | Forme juridique | "SARL" |
app_name | Nom de l'appli | "Mon Appli" |
tags | Les étiquettes à ajouter à la structure | ["Mon étiquette"] |
remove_tags | Les étiquettes à retirer de la structure | ["Mon ancienne étiquette"] |
secondary_emails | Les emails secondaires à ajouter à la structure | ["testing@example.com"] |
mon_champ | Champ personnalisé | "Valeur" / ["Valeur 1", "Valeur 2"] |
Adresse
Paramètre | Description | Exemple |
---|---|---|
street_prefix_1 | Point de remise (N° appt etc.) | "Appt. 2" |
street_prefix_2 | Point géographique (Entrée, bât, etc.) | "Entrée C" |
street | N° et voie | "66, avenue de Vidal" |
street_2 | Complément d'adresse | "3e droite" |
city | Ville | "Carlierdan" |
state | État / Région | |
post_code | Code postal | "57277" |
country | Pays (nom complet ou code ISO) | "France" / "FR" |
Récupérer une structure
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"ohme_id": 1,
"name": "Solidarité Inc.",
"email": "info@solidarite.org",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304",
"siren": "123456789",
"forme_juridique": "SARL",
"tags": ["Mon étiquette"],
"secondary_emails": ["testing@example.com"],
"attachments": [],
"segment_ids": [],
"created_at": "2019-11-04T11:25:03+01:00",
"updated_at": "2019-11-04T11:25:03+01:00"
}
}
]
Cette requête renvoie une structure spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/structures/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la structure à récupérer |
Supprimer une structure
Exemple de réponse :
Status: 204 No Content
Cette requête supprime une structure spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/structures/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la structure à supprimer |
Récupérer les fonctions
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"name": "Responsable communication"
},
{
"id": 1125899906842625,
"name": "Dirigeant"
},
...
]
}
]
Cette requête renvoie toutes les fonctions.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/structure-positions
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
Créer une fonction
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"name": "Dirigeant"
}
}
]
Cette requête crée une nouvelle fonction.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/structure-positions
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom de la fonction | "Dirigeant" |
Modifier une fonction
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"name": "Dirigeant"
}
}
]
Cette requête met à jour une fonction existante.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/structure-positions/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom de la fonction | "Dirigeant" |
Supprimer une fonction
Exemple de réponse :
Status: 204 No Content
Cette requête supprime une fonction spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/structure-positions/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la fonction à supprimer |
Foyers
Récupérer les foyers
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"household_type_name": "Couple",
"primary_contact_id": 2125899906842629,
"appellation": "Jacques & Anne",
"denomination": "Jacques Dupuis & Anne Duchamp",
"email": "ja.duchamp@example.com",
"address": null,
"phone": "06 01 02 03 04",
"contacts": [
{
"id": 1125899906842627,
"firstname": "Jacques",
"lastname": "Dupuis",
"email": "jacques@example.com",
"household_role_name": "Conjoint",
},
{
"id": 1125899906842628,
"firstname": "Anne",
"lastname": "Duchamp",
"email": "anne@example.com",
"household_role_name": "Conjointe",
}
]
},
{
"id": 1125899906842625,
"household_type_name": "Famille",
"primary_contact_id": 2125899906842625,
"appellation": "Jean & Marie",
"denomination": "Jean & Marie Dupont",
"email": "famille-dupont@example.com",
"address": {
"street_prefix_1": null,
"street_prefix_2": null,
"street": "5, avenue de Lagarde",
"street_2": null,
"city": "Joly-les-Bains",
"state": null,
"post_code": "17457",
"french_departement": "Charente-Maritime",
"french_region": "Nouvelle-Aquitaine",
"country": "France",
"country_code": "FR"
},
"phone": "01 02 04 05 05",
"contacts": [
{
"id": 2125899906842625,
"firstname": "Jean",
"lastname": "Dupont",
"email": "jean@example.com",
"household_role_name": "Parent",
},
{
"id": 1125899906842626,
"firstname": "Marie",
"lastname": "Dupont",
"email": null,
"household_role_name": "Enfant",
}
]
},
...
]
}
]
Cette requête renvoie toutes les foyers.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/households
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
contact_id | null |
Ne renvoyer que les foyers du contact spécifié. |
Récupérer un foyer
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"household_type_name": "Famille",
"primary_contact_id": 2125899906842625,
"appellation": "Jean & Marie",
"denomination": "Jean & Marie Dupont",
"email": "famille-dupont@example.com",
"address": {
"street_prefix_1": null,
"street_prefix_2": null,
"street": "5, avenue de Lagarde",
"street_2": null,
"city": "Joly-les-Bains",
"state": null,
"post_code": "17457",
"french_departement": "Charente-Maritime",
"french_region": "Nouvelle-Aquitaine",
"country": "France",
"country_code": "FR"
},
"phone": "01 02 04 05 05",
"contacts": [
{
"id": 2125899906842625,
"firstname": "Jean",
"lastname": "Dupont",
"email": "jean@example.com",
"household_role_name": "Parent",
},
{
"id": 1125899906842626,
"firstname": "Marie",
"lastname": "Dupont",
"email": null,
"household_role_name": "Enfant",
}
]
}
}
]
Cette requête renvoie un foyer spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/households/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du foyer à récupérer |
Liaisons
Récupérer les liaisons
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"start_date": "2023-02-02T00:00:00+01:00",
"end_date": null,
"comment": null,
"people": [
{
"person_type": "contact",
"id": 1125899906842626,
"fullname": "Michèle Martin",
"email": "michele@example.com",
"linkage_role_name": "Marraine"
},
{
"person_type": "contact",
"id": 1125899906842625,
"fullname": "Jacques Dupont",
"email": "jacques@example.com",
"linkage_role_name": "Filleul"
}
]
},
{
"id": 1125899906842625,
"start_date": "2023-01-03T00:00:00+01:00",
"end_date": "2023-03-03T00:00:00+01:00",
"comment": "Note",
"people": [
{
"person_type": "contact",
"id": 1125899906842625,
"fullname": "Jacques Dupont",
"email": "jacques@example.com",
"linkage_role_name": "Responsable"
},
{
"person_type": "structure",
"id": 1125899906842625,
"fullname": "Ma structure",
"email": "societe@example.com",
"linkage_role_name": "Etablissement"
}
]
},
...
]
}
]
Cette requête renvoie toutes les liaisons.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/linkages
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
contact_id | null |
Ne renvoyer que les liaisons du contact spécifié. |
structure_id | null |
Ne renvoyer que les liaisons de la structure spécifiée. |
Créer une liaison
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"start_date": "2023-01-03T00:00:00+01:00",
"end_date": "2023-03-03T00:00:00+01:00",
"comment": "Note",
"people": [
{
"person_type": "contact",
"id": 1125899906842625,
"fullname": "Jacques Dupont",
"email": "jacques@example.com",
"linkage_role_name": "Responsable"
},
{
"person_type": "structure",
"id": 1125899906842625,
"fullname": "Ma structure",
"email": "societe@example.com",
"linkage_role_name": "Etablissement"
}
]
}
}
]
Cette requête crée une nouvelle liaison.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/linkages
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
start_date | null |
Date de début | "2023-01-03" |
end_date | null |
Date de fin | "2023-03-03" |
comment | null |
Commentaire | "Note" |
people | obligatoire | Liste des personnes associées (minimum 2 personnes) | Voir ci-dessous |
Valeurs pour chaque personne
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
person_type | obligatoire | "contact" ou "structure" |
"contact" |
id | obligatoire | ID du contact ou de la structure | 1 |
linkage_role_name | obligatoire | Rôle du contact ou de la structure | "Responsable" |
Modifier une liaison
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"start_date": "2023-01-03T00:00:00+01:00",
"end_date": "2023-03-03T00:00:00+01:00",
"comment": "Note",
"people": [
{
"person_type": "contact",
"id": 1125899906842625,
"fullname": "Jacques Dupont",
"email": "jacques@example.com",
"linkage_role_name": "Responsable"
},
{
"person_type": "structure",
"id": 1125899906842625,
"fullname": "Ma structure",
"email": "societe@example.com",
"linkage_role_name": "Etablissement"
}
]
}
}
]
Cette requête met à jour une liaison existante.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/linkages/<ID>
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
start_date | null |
Date de début | "2023-01-03" |
end_date | null |
Date de fin | "2023-03-03" |
comment | null |
Commentaire | "Note" |
people | obligatoire | Liste des personnes associées (minimum 2 personnes) | Voir ci-dessous |
Valeurs pour chaque personne
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
person_type | obligatoire | "contact" ou "structure" |
"contact" |
id | obligatoire | ID du contact ou de la structure | 1 |
linkage_role_name | obligatoire | Rôle du contact ou de la structure | "Responsable" |
Récupérer une liaison
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"start_date": "2023-01-03T00:00:00+01:00",
"end_date": "2023-03-03T00:00:00+01:00",
"comment": "Note",
"people": [
{
"person_type": "contact",
"id": 1125899906842625,
"fullname": "Jacques Dupont",
"email": "jacques@example.com",
"linkage_role_name": "Responsable"
},
{
"person_type": "structure",
"id": 1125899906842625,
"fullname": "Ma structure",
"email": "societe@example.com",
"linkage_role_name": "Etablissement"
}
]
}
}
]
Cette requête renvoie une liaison spécifique.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/linkages/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la liaison à récupérer |
Supprimer une liaison
Exemple de réponse :
Status: 204 No Content
Cette requête supprime une liaison spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/linkages/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la liaison à supprimer |
Pièce jointes
Envoyer une pièce jointe
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"name": "MonFichier.pdf"
}
}
]
Cette requête permet de joindre un fichier à un contact, une structure ou une interaction.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/attachments
Pour envoyer un fichier (file
) avec la requête, veuillez utiliser le format multipart/form-data
.
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
contact_id | obligatoire pour joindre le fichier à un contact | L'ID du contact associé | 1 |
structure_id | obligatoire pour joindre le fichier à une structure | L'ID de la structure associée | 1 |
interaction_id | obligatoire pour joindre le fichier à une interaction | L'ID de l'interaction associée | 1 |
file | obligatoire | Le fichier (brut) à importer, taille maximum : 3Mo. | |
name | obligatoire | Le nom de la pièce jointe | "MonFichier.pdf" |
Télécharger une pièce jointe
Exemple de réponse :
[
{
"status": 200,
"data": {
"url": "https://...",
"expires_at": "2019-11-18T15:51:03+01:00"
}
}
]
Cette requête renvoie un lien temporaire de téléchargement de la pièce jointe.
Le lien expire automatiquement au bout de 5 minutes.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/attachments/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la pièce jointe à télécharger |
Champs personnalisés
Récupérer les champs personnalisés
Exemple de réponse :
[
{
"status": 200,
"data": [
{
"id": 1125899906842625,
"data_type": "string",
"name": "nom_du_parrain",
"label": "Nom du parrain",
"options": null,
"payment_type_ids": null,
"group_type_ids": null,
"custom_fields_group_id": 2125899906842629,
"position": 0
},
{
"id": 1125899906842626,
"data_type": "dropdown_multiselect",
"name": "disponibilites",
"label": "Disponibilités",
"options": ["Matin", "Après-midi", "Soir"],
"payment_type_ids": null,
"group_type_ids": null,
"custom_fields_group_id": null,
"position": 1
},
...
]
}
]
Cette requête renvoie tous les champs personnalisés de la ressource sélectionnée.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/custom-fields
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
model | Contact | La ressource pour laquelle renvoyer les champs ("Contact" , "Structure" , "Group" , "Payment" ou "Interaction" ). |
payment_type_id | null |
(Paiements uniquement) Filtrer les champs par type de paiement. |
group_type_id | null |
(Groupes uniquement) Filtrer les champs par type de groupe. |
Créer un champ personnalisé
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"data_type": "dropdown_multiselect",
"name": "abonnements",
"label": "Abonnements",
"options": ["Papier", "Numérique"],
"payment_type_ids": [1, 2],
"group_type_ids": null,
"custom_fields_group_id": 2125899906842629,
"position": 1
}
}
]
Cette requête crée un nouveau champ personnalisé.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/custom-fields
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
model | obligatoire | Ressource associée ("Contact" , "Structure" , "Group" , "Payment" ou "Interaction" ) |
"Contact" |
label | obligatoire | Nom du champ | "Abonnements" |
data_type | obligatoire | Type de champ | "string" |
options | obligatoire pour les champs "dropdown" ou "dropdown_multiselect" | Valeurs possibles | ["Papier", "Numérique"] |
payment_type_ids | null | (Paiements uniquement) Types de paiement associés | [1, 2] |
group_type_ids | null | (Groupes uniquement) Types de groupe associés | [1, 2] |
custom_fields_group_id | null | Famille de champs | 1 |
position | dernière position | Position dans la liste des champs (à partir de zéro) | 1 |
Types de champs ("data_type")
Identifiant | Description |
---|---|
string | Champ texte court |
integer | Champ nombre entier |
float | Champ nombre à virgule |
boolean | Champ oui / non |
date | Champ date |
phone | Champ téléphone |
dropdown | Menu déroulant |
dropdown_multiselect | Menu déroulant à choix multiple |
hyperlink | Champ lien hypertexte |
Modifier un champ personnalisé
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"data_type": "dropdown_multiselect",
"name": "abonnements",
"label": "Abonnements",
"options": ["Courrier", "Numérique"],
"payment_type_ids": [1, 2],
"group_type_ids": null,
"custom_fields_group_id": 2125899906842629,
"position": 1
}
}
]
Cette requête met à jour un champ personnalisé existant.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/custom-fields/<ID>
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
label | obligatoire | Nom du champ | "Abonnements" |
update_options | [] | Valeurs à modifier (voir ci-dessous) | [{"old_value": "Papier", "new_value": "Courrier"}] |
payment_type_ids | null | (Paiements uniquement) Types de paiement associés | [1, 2] |
group_type_ids | null | (Groupes uniquement) Types de groupe associés | [1, 2] |
custom_fields_group_id | null | Famille de champs | 1 |
position | dernière position | Position dans la liste des champs (à partir de zéro) | 1 |
Modifier les valeurs possibles
Pour modifier les valeurs possibles d'un champ Menu déroulant ou Menu déroulant à choix multiple, vous devez envoyer une liste des modifications sous la forme suivante :
{
"update_options": [
{
"old_value": "Valeur existante",
"new_value": "Nouvelle valeur"
}
]
}
Voir exemple ci-contre ➡️
Si "old_value"
et "new_value"
sont remplis, la valeur existante sera remplacé par la nouvelle valeur (et les ressources concernées seront mises à jour).
Si "old_value"
est vide, la nouvelle valeur sera ajoutée à la liste des valeurs possibles.
Si "new_value"
est vide, la valeur existante sera supprimée de la liste des valeurs possibles.
Supprimer un champ personnalisé
Exemple de réponse :
Status: 204 No Content
Cette requête supprime un champ personnalisé spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/custom-fields/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du champ à supprimer |
Récupérer les familles de champs personnalisés
Exemple de réponse :
[
{
"status": 200,
"data": [
{
"id": 1125899906842625,
"name": "Champs généraux",
"position": 0
},
{
"id": 1125899906842626,
"name": "Champs adhésion",
"position": 1
},
...
]
}
]
Cette requête renvoie toutes les familles de champs personnalisés de la ressource sélectionnée.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/custom-fields-groups
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
model | Contact | La ressource pour laquelle renvoyer les familles ("Contact" , "Structure" ou "Group" ). |
Créer une famille de champs personnalisés
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"name": "Champs adhésion",
"position": 1
}
}
]
Cette requête crée une nouvelle famille de champs personnalisés.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/custom-fields-groups
Paramètres
Paramètre | Par défaut | Description | Exemple |
---|---|---|---|
model | obligatoire | Ressource associée ("Contact" , "Structure" ou "Group" ) |
"Contact" |
name | obligatoire | Nom de la famille | "Champs adhésion" |
position | dernière position | Position dans la liste des familles (à partir de zéro) | 1 |
Modifier une famille de champs personnalisés
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842626,
"name": "Informations importantes",
"position": 0
}
}
]
Cette requête met à jour une famille de champs personnalisés existante.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/custom-fields-groups/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom de la famille | "Informations importantes" |
position | Position dans la liste des familles (à partir de zéro) | 0 |
Supprimer une famille de champs personnalisés
Exemple de réponse :
Status: 204 No Content
Cette requête supprime une famille de champs personnalisés spécifique. Les champs associés ne seront pas supprimés mais ne feront plus partie d'aucune famille.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/custom-fields-groups/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de la famille à supprimer |
Segments / Recherches enregistrées
Récupérer les segments et recherches enregistrées
Exemple de réponse :
[
{
"status": 200,
"data": [
{
"id": 1125899906842625,
"type": "payment",
"name": "Adhésions expirées",
"payment_type_id": 2
},
{
"id": 1125899906842626,
"type": "contact",
"name": "Donateurs réguliers",
"segment_folder_id": 1125899906842727
},
...
]
}
]
Cette requête renvoie tous les segments (de contacts ou structures) et les recherches enregistrées (de paiements, engagements, interactions, reçus ou groupes).
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/segments
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
type | null |
Filtrer les segments ou les recherches enregistrées par type ("contact" , "structure" , "group" , "payment" , "recurring_payment" , "interaction" , "receipt" , ou "group" ). |
segment_folder_id | null |
Filtrer les segments par dossier de segments. |
Utilisateurs
Récupérer les utilisateurs
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"firstname": "Jacqueline",
"lastname": "Durand",
"email": "admin@example.com",
"role_id": null,
"contacts_table_columns": ["firstname", "lastname", "email"],
"structures_table_columns": ["name", "email"],
},
{
"id": 1125899906842625,
"firstname": "Jacques",
"lastname": "Dupont",
"email": "jacques@example.com",
"role_id": 2125899906842625,
"contacts_table_columns": ["firstname", "lastname", "email"],
"structures_table_columns": ["name", "email"],
},
...
]
}
]
Cette requête renvoie tous les utilisateurs.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/users
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
Modifier un utilisateur
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"firstname": "Jacques",
"lastname": "Dupont",
"email": "jacques@example.com",
"role_id": 2125899906842625,
"contacts_table_columns": ["firstname", "lastname", "email"],
"structures_table_columns": ["name", "email"],
}
}
]
Cette requête met à jour un utilisateur existant.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/users/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
role_id | ID du profil à assigner à l'utilisateur (null = Administrateur) |
1 |
contacts_table_columns | Colonnes à afficher sur le tableau de contacts | ["firstname", "lastname", "email"] |
structures_table_columns | Colonnes à afficher sur le tableau de structures | ["name", "email"] |
Supprimer un utilisateur
Exemple de réponse :
Status: 204 No Content
Cette requête supprime un utilisateur spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/users/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID de l'utilisateur à supprimer |
Profils utilisateur
Récupérer les profils
Exemple de réponse :
[
{
"status": 200,
"count": 50,
"data": [
{
"id": 1125899906842626,
"name": "Stagiaire",
"users_count": 1,
"config": {...}
},
{
"id": 1125899906842625,
"name": "Secrétariat",
"users_count": 3,
"config": {...}
},
...
]
}
]
Cette requête renvoie tous les profils.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/roles
Paramètres
Paramètre | Par défaut | Description |
---|---|---|
limit | 20 |
Nombre d'éléments renvoyés (maximum : 100). |
offset | 0 |
Nombre d'éléments à sauter. |
Créer un profil
Exemple de réponse :
[
{
"status": 201,
"data": {
"id": 1125899906842625,
"name": "Secrétariat",
"users_count": 3,
"config": {...}
}
}
]
Cette requête crée un nouveau profil.
Requête HTTP
POST https://api-ohme.oneheart.fr/api/v1/roles
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom du profil | "Secrétariat" |
config | Les paramètres du profil | {"contacts_level": 1} |
Modifier un profil
Exemple de réponse :
[
{
"status": 200,
"data": {
"id": 1125899906842625,
"name": "Secrétariat",
"users_count": 3,
"config": {...}
}
}
]
Cette requête met à jour un profil existant.
Requête HTTP
PUT https://api-ohme.oneheart.fr/api/v1/roles/<ID>
Paramètres
Paramètre | Description | Exemple |
---|---|---|
name | Le nom du profil | "Secrétariat" |
config | Les paramètres du profil | {"contacts_level": 1} |
Supprimer un profil
Exemple de réponse :
Status: 204 No Content
Cette requête supprime un profil spécifique.
Requête HTTP
DELETE https://api-ohme.oneheart.fr/api/v1/roles/<ID>
Paramètres
Paramètre | Description |
---|---|
ID | L'ID du profil à supprimer |
Ma structure
Récupérer les informations de ma structure
Exemple de réponse :
[
{
"status": 200,
"data": {
"name": "Mon Asso",
"address": {
"street_prefix_1": "Appt. 2",
"street_prefix_2": "Entrée C",
"street": "66, avenue de Vidal",
"street_2": "3e droite",
"city": "Carlierdan",
"state": null,
"post_code": "57277",
"french_departement": "Moselle",
"french_region": "Grand Est",
"country": "France",
"country_code": "FR"
},
"phone": "0601020304"
}
}
]
Cette requête renvoie les informations de ma structure.
Requête HTTP
GET https://api-ohme.oneheart.fr/api/v1/structure-info
Codes pays acceptés
Voici la liste des codes pays acceptés : AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GG, GH, GI, GL, GM, GN, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MG, MH, MK, ML, MM, MN, MO, MP, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PG, PH, PK, PL, PN, PR, PS, PT, PW, PY, QA, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WS, XK, YE, ZA, ZM, ZW
.
Les codes des DROM-COM (BL, GF, GP, MF, MQ, NC, PF, PM, RE, TF, WF, YT
) peuvent être envoyés, mais le pays enregistré sur l'adresse et renvoyé sera "France".
Codes HTTP
L'API OHME utilise les codes de réponse suivants :
Code | Signification |
---|---|
200 - OK | Requête traitée avec succès. La réponse dépendra de la méthode de requête utilisée. |
201 - Created | La ressource a bien été crée. |
202 - Accepted | Lors d'une requête de création de ressource, une ressource existante a été trouvée et mise à jour à la place. |
204 - No Content | Requête traitée avec succès mais pas d’information à renvoyer. |
L'API OHME utilise les codes d'erreur suivants :
Code | Signification |
---|---|
401 - Unauthorized | Vous n'avez pas renseigné votre clé d'API correctement. |
404 - Not Found | La ressource demandée n'existe pas. |
405 - Method Not Allowed | La méthode utilisée n'est pas valide. |
422 - Unprocessable entity | Les données envoyées sont invalides (détails dans le champ "errors"). |
429 - Too Many Requests | Vous avez dépassé le quota de requêtes autorisées. |
500 - Internal Server Error | Une erreur inattendue est survenue sur notre serveur. Veuillez réessayer plus tard. |
503 - Service Unavailable | Notre serveur est temporairement indisponible. Veuillez réessayer plus tard. |
Avancé
Champs multiples
Par défaut, lorsque vous modifiez un champ personnalisé de type "Menu déroulant à choix multiple", les nouvelles valeurs sont ajoutées au valeurs existantes.
Par exemple, si vous avez un champ "Couleurs" sur la ressource Contact, avec les valeurs possibles "Bleu", "Jaune", et "Rouge", et un contact qui a la valeur "Couleurs": ["Jaune"]
, si vous modifiez ce contact en spécifiant "Couleurs": ["Bleu"]
, le résultat sera "Couleurs": ["Jaune", "Bleu"]
.
Si vous souhaitez plutôt écraser les valeurs existantes et ne garder que les valeurs précisées dans votre requête, vous pouvez ajouter le paramètre suivant à votre requête :
"overwrite_multiple_fields": true
Cela s'appliquera à tous les champs personnalisés (de contacts, structures, paiements et interactions) présents dans la requête.