NAV
json

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).
email 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
email 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
email 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.
email 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."
email 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."
email 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.