Référence de l’API partenaires
Notes d'appel et tâches
Consigner un appel d'un client (demande de rendez-vous, question médicale, réclamation…) pour que l'accueil le traite, et créer des tâches pour l'équipe d'un site. Lectures : droit agenda:read ; écritures : agenda:write. L'application agit sous son utilisateur d'intégration, auteur des notes et des tâches qu'elle crée. Une tâche créée par l'API est toujours une tâche d'équipe ; les tâches personnelles des membres de l'équipe ne sont jamais visibles. Aucune note d'appel ni tâche ne se supprime par l'API, et ces écritures n'émettent pas de notification.
Lister les notes d'appel d'un client ou d'un rendez-vous
GET/api/partner/v1/call-notes#
Rend les notes d'appel d'un client ou celles reliées à un rendez-vous, sur les sites ouverts à l'application ou le seul site demandé, toutes catégories et tous statuts confondus, triées par date de modification (updatedAt) puis par identifiant. L'un des filtres client_id ou appointment_id est obligatoire : la route ne liste pas toutes les notes d'un site. Pagination par cursor, synchronisation par updated_since ; une écriture n'apparaît dans cette liste qu'au bout de 60 secondes environ. Un client ou un rendez-vous que l'application ne peut pas lire répond 404, jamais une liste vide.
Paramètres
| client_idrequête · uuid | Notes de ce client. |
| appointment_idrequête · uuid | Notes reliées à ce rendez-vous, d'un site ouvert à l'application. |
| site_idrequête · uuid | Limite la lecture à ce site. Sans lui ni l'en-tête : tous les sites ouverts à l'application. Le paramètre l'emporte sur l'en-tête. |
| updated_sincerequête · date-time | Notes modifiées à partir de cet instant (inclus). Années 1900 à 9999. |
| cursorrequête · string | Curseur opaque rendu par la page précédente ( |
| limitrequête · integer | Nombre de notes par page. Une valeur au-delà de 200 est ramenée à 200. Défaut :50 |
| Treats-Site-Iden-tête · uuid | Équivalent de |
Réponse
200Une page de notes d'appel, par `updatedAt` puis `id` croissants.
Champs de la réponse (2)
| itemsCallNote[] | |
| iduuid | Identifiant de la note. |
| siteIduuid | Site de la note. |
| clientIduuid | Client qui a appelé. |
| patientIduuid | Animal concerné. Nul si l'appel ne porte pas sur un animal précis. peut être null |
| appointmentIduuid | Rendez-vous relié à la note (voir |
| categoryenum | Objet de l'appel. APPOINTMENT_REQUESTMEDICAL_QUESTIONCOMPLAINTRESULTS_INQUIRYOTHER |
| contentstring | Contenu de la note. Toujours renseigné pour une note créée par l'API. peut être null |
| statusenum |
PENDINGIN_PROGRESSRESOLVEDpeut être null |
| reminderAtdate-time | Rappel demandé à l'équipe. Nul sans rappel. peut être null |
| createdByobject | Auteur de la note : l'utilisateur d'intégration de l'application pour une note créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| resolvedAtdate-time | Date de traitement. Nulle tant que la note n'est pas traitée. peut être null |
| resolvedByobject | Personne qui a traité la note. Nulle tant que la note n'est pas traitée. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
| nextCursorstring | Curseur opaque de la page suivante, à repasser tel quel dans |
Erreurs propres à cette opération
| 400 FILTER_REQUIRED | Ni |
| 400 INVALID_FIELD | Paramètre illisible (UUID, instant, |
| 400 INVALID_SITE_ID |
|
| 404 SITE_NOT_FOUND | Le site demandé est inconnu, d'une autre organisation, ou non ouvert à l'application. |
| 404 CLIENT_NOT_FOUND |
|
| 404 APPOINTMENT_NOT_FOUND |
|
Et les erreurs communes à toutes les opérations : erreurs et limites.
Consigner un appel
POST/api/partner/v1/call-notes#
Crée une note d'appel sur le site donné par site_id ou Treats-Site-Id (implicite si un seul site est ouvert), à traiter par l'équipe : elle apparaît à l'accueil de la clinique en statut PENDING, avec l'utilisateur d'intégration pour auteur. Le client doit être lisible par l'application ; l'animal, s'il est donné, doit lui appartenir. La note ne crée pas de rendez-vous : reliez-la ensuite à celui que vous prenez (POST /call-notes/{id}/link-appointment).
Paramètres
| site_idrequête · uuid | Site de la note. Obligatoire (ici ou dans l'en-tête) si l'organisation a ouvert plusieurs sites à l'application. |
| Treats-Site-Iden-tête · uuid | Équivalent de |
| Idempotency-Keyen-tête · stringrequis | Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h. |
Corps de la requête application/json
| clientIduuidrequis | Client qui a appelé. |
| patientIduuid | Animal concerné, qui doit appartenir au client. |
| categoryenumrequis | Objet de l'appel. APPOINTMENT_REQUESTMEDICAL_QUESTIONCOMPLAINTRESULTS_INQUIRYOTHER |
| contentstringrequis | Contenu de la note, non vide. |
| reminderAtdate-time | Rappel demandé à l'équipe. Années 1900 à 9999. |
Réponse
201La note d'appel créée.
Champs de la réponse (14)
| iduuid | Identifiant de la note. |
| siteIduuid | Site de la note. |
| clientIduuid | Client qui a appelé. |
| patientIduuid | Animal concerné. Nul si l'appel ne porte pas sur un animal précis. peut être null |
| appointmentIduuid | Rendez-vous relié à la note (voir |
| categoryenum | Objet de l'appel. APPOINTMENT_REQUESTMEDICAL_QUESTIONCOMPLAINTRESULTS_INQUIRYOTHER |
| contentstring | Contenu de la note. Toujours renseigné pour une note créée par l'API. peut être null |
| statusenum |
PENDINGIN_PROGRESSRESOLVEDpeut être null |
| reminderAtdate-time | Rappel demandé à l'équipe. Nul sans rappel. peut être null |
| createdByobject | Auteur de la note : l'utilisateur d'intégration de l'application pour une note créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| resolvedAtdate-time | Date de traitement. Nulle tant que la note n'est pas traitée. peut être null |
| resolvedByobject | Personne qui a traité la note. Nulle tant que la note n'est pas traitée. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
Erreurs propres à cette opération
| 400 BODY_REQUIRED | Corps absent. |
| 400 INVALID_FIELD | Champ absent, illisible ou inconnu (un détail par champ) ; catégorie inconnue ; |
| 400 INVALID_SITE_ID |
|
| 404 SITE_NOT_FOUND | Le site demandé est inconnu, d'une autre organisation, ou non ouvert à l'application. |
| 404 CLIENT_NOT_FOUND | Client inconnu, d'une autre organisation, ou que l'application ne peut pas lire. |
| 404 PATIENT_NOT_FOUND | Animal inconnu, d'une autre organisation, ou dont le client n'est pas lisible par l'application. |
Et les erreurs communes à toutes les opérations : erreurs et limites.
Relier une note d'appel à un rendez-vous
POST/api/partner/v1/call-notes/{id}/link-appointment#
Relie une note d'appel non traitée à un rendez-vous d'un site ouvert à l'application, typiquement celui pris à la suite de l'appel. Un nouveau lien remplace le précédent. Le statut de la note ne change pas : traitez-la à part (POST /call-notes/{id}/resolve). Une note déjà traitée ne se relie plus. Le rendez-vous n'est pas contrôlé comme étant celui du même client.
Paramètres
| idchemin · uuidrequis | Identifiant de la note d'appel. |
| Idempotency-Keyen-tête · stringrequis | Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h. |
Corps de la requête application/json
| appointmentIduuidrequis | Rendez-vous à relier, d'un site ouvert à l'application. |
Réponse
200La note d'appel reliée.
Champs de la réponse (14)
| iduuid | Identifiant de la note. |
| siteIduuid | Site de la note. |
| clientIduuid | Client qui a appelé. |
| patientIduuid | Animal concerné. Nul si l'appel ne porte pas sur un animal précis. peut être null |
| appointmentIduuid | Rendez-vous relié à la note (voir |
| categoryenum | Objet de l'appel. APPOINTMENT_REQUESTMEDICAL_QUESTIONCOMPLAINTRESULTS_INQUIRYOTHER |
| contentstring | Contenu de la note. Toujours renseigné pour une note créée par l'API. peut être null |
| statusenum |
PENDINGIN_PROGRESSRESOLVEDpeut être null |
| reminderAtdate-time | Rappel demandé à l'équipe. Nul sans rappel. peut être null |
| createdByobject | Auteur de la note : l'utilisateur d'intégration de l'application pour une note créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| resolvedAtdate-time | Date de traitement. Nulle tant que la note n'est pas traitée. peut être null |
| resolvedByobject | Personne qui a traité la note. Nulle tant que la note n'est pas traitée. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
Erreurs propres à cette opération
| 400 BODY_REQUIRED | Corps absent. |
| 400 INVALID_FIELD |
|
| 404 CALL_NOTE_NOT_FOUND | Note inconnue, d'une autre organisation, ou d'un site non ouvert à l'application. |
| 404 NOT_FOUND |
|
| 404 APPOINTMENT_NOT_FOUND | Rendez-vous inconnu ou d'un site non ouvert à l'application. |
| 409 CALL_NOTE_RESOLVED | La note est déjà traitée : elle ne se modifie plus. |
Et les erreurs communes à toutes les opérations : erreurs et limites.
Traiter une note d'appel
POST/api/partner/v1/call-notes/{id}/resolve#
Marque une note d'appel comme traitée (status: RESOLVED), au nom de l'utilisateur d'intégration, qui devient resolvedBy. Une note traitée ne se modifie plus et ne se rouvre pas par l'API. Traiter une note déjà traitée répond 409. Aucun corps n'est lu.
Paramètres
| idchemin · uuidrequis | Identifiant de la note d'appel. |
| Idempotency-Keyen-tête · stringrequis | Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h. |
Réponse
200La note d'appel traitée.
Champs de la réponse (14)
| iduuid | Identifiant de la note. |
| siteIduuid | Site de la note. |
| clientIduuid | Client qui a appelé. |
| patientIduuid | Animal concerné. Nul si l'appel ne porte pas sur un animal précis. peut être null |
| appointmentIduuid | Rendez-vous relié à la note (voir |
| categoryenum | Objet de l'appel. APPOINTMENT_REQUESTMEDICAL_QUESTIONCOMPLAINTRESULTS_INQUIRYOTHER |
| contentstring | Contenu de la note. Toujours renseigné pour une note créée par l'API. peut être null |
| statusenum |
PENDINGIN_PROGRESSRESOLVEDpeut être null |
| reminderAtdate-time | Rappel demandé à l'équipe. Nul sans rappel. peut être null |
| createdByobject | Auteur de la note : l'utilisateur d'intégration de l'application pour une note créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| resolvedAtdate-time | Date de traitement. Nulle tant que la note n'est pas traitée. peut être null |
| resolvedByobject | Personne qui a traité la note. Nulle tant que la note n'est pas traitée. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
Erreurs propres à cette opération
| 404 CALL_NOTE_NOT_FOUND | Note inconnue, d'une autre organisation, ou d'un site non ouvert à l'application. |
| 404 NOT_FOUND |
|
| 409 CALL_NOTE_RESOLVED | La note est déjà traitée. |
Et les erreurs communes à toutes les opérations : erreurs et limites.
Lister les tâches d'équipe
GET/api/partner/v1/tasks#
Rend les tâches d'équipe des sites ouverts à l'application, ou du seul site demandé, triées par date de modification (updatedAt) puis par identifiant. Les tâches personnelles des membres de l'équipe ne sont jamais rendues, quel qu'en soit l'auteur. Pagination par cursor, synchronisation par updated_since ; une écriture n'apparaît dans cette liste qu'au bout de 60 secondes environ.
Paramètres
| site_idrequête · uuid | Limite la lecture à ce site. Sans lui ni l'en-tête : tous les sites ouverts à l'application. Le paramètre l'emporte sur l'en-tête. |
| statusrequête · enum | Seulement les tâches de ce statut. |
| updated_sincerequête · date-time | Tâches modifiées à partir de cet instant (inclus). Années 1900 à 9999. |
| cursorrequête · string | Curseur opaque rendu par la page précédente ( |
| limitrequête · integer | Nombre de tâches par page. Une valeur au-delà de 200 est ramenée à 200. Défaut :50 |
| Treats-Site-Iden-tête · uuid | Équivalent de |
Réponse
200Une page de tâches d'équipe, par `updatedAt` puis `id` croissants.
Champs de la réponse (2)
| itemsTask[] | |
| iduuid | Identifiant de la tâche. |
| siteIduuid | Site de la tâche. |
| titlestring | Titre. |
| descriptionstring | Description. Nulle sans description. peut être null |
| statusenum |
TODOIN_PROGRESSDONECANCELLEDpeut être null |
| priorityenum | Priorité : basse, moyenne, haute, urgente. LOWMEDIUMHIGHURGENTpeut être null |
| dueAtdate-time | Échéance. Seul le jour compte si |
| dateOnlyboolean |
|
| durationMinutesinteger | Durée prévue en minutes. Nulle pour une tâche à la journée créée sans durée. peut être null |
| assigneesobject[] | Personnes assignées, dans l'ordre. Vide : tâche du pool de l'équipe, que n'importe qui peut prendre. |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| patientIduuid | Animal concerné. Nul sans animal. peut être null |
| clientIduuid | Client concerné. Nul sans client. peut être null |
| createdByobject | Auteur de la tâche : l'utilisateur d'intégration de l'application pour une tâche créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| completedAtdate-time | Date à laquelle la tâche a été faite. Nulle tant qu'elle ne l'est pas. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
| nextCursorstring | Curseur opaque de la page suivante, à repasser tel quel dans |
Erreurs propres à cette opération
| 400 INVALID_FIELD |
|
| 400 INVALID_SITE_ID |
|
| 404 SITE_NOT_FOUND | Le site demandé est inconnu, d'une autre organisation, ou non ouvert à l'application. |
Et les erreurs communes à toutes les opérations : erreurs et limites.
Créer une tâche d'équipe
POST/api/partner/v1/tasks#
Crée une tâche d'équipe sur le site donné par site_id ou Treats-Site-Id (implicite si un seul site est ouvert), en statut TODO, avec l'utilisateur d'intégration pour auteur. Sans assigné, elle va au pool de l'équipe du site ; chaque assigné doit faire partie de l'équipe du site. Une tâche peut être rattachée à un client et à un animal, que l'application doit pouvoir lire ; donnés ensemble, l'animal doit appartenir au client. Une tâche personnelle ne se crée pas par l'API (isPrivate refusé). Sans durationMinutes, une tâche avec heure dure 30 minutes et une tâche à la journée n'a pas de durée.
Paramètres
| site_idrequête · uuid | Site de la tâche. Obligatoire (ici ou dans l'en-tête) si l'organisation a ouvert plusieurs sites à l'application. |
| Treats-Site-Iden-tête · uuid | Équivalent de |
| Idempotency-Keyen-tête · stringrequis | Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h. |
Corps de la requête application/json
| titlestringrequis | Titre, non vide. |
| descriptionstring | Description. |
| priorityenum | Priorité. LOWMEDIUMHIGHURGENTdéfaut "MEDIUM" |
| dueAtdate-time | Échéance. Obligatoire avec |
| dateOnlyboolean |
|
| durationMinutesinteger | Durée prévue en minutes. |
| assigneeIdsuuid[] | Personnes assignées, membres de l'équipe du site (voir |
| patientIduuid | Animal concerné. |
| clientIduuid | Client concerné. |
Réponse
201La tâche créée.
Champs de la réponse (16)
| iduuid | Identifiant de la tâche. |
| siteIduuid | Site de la tâche. |
| titlestring | Titre. |
| descriptionstring | Description. Nulle sans description. peut être null |
| statusenum |
TODOIN_PROGRESSDONECANCELLEDpeut être null |
| priorityenum | Priorité : basse, moyenne, haute, urgente. LOWMEDIUMHIGHURGENTpeut être null |
| dueAtdate-time | Échéance. Seul le jour compte si |
| dateOnlyboolean |
|
| durationMinutesinteger | Durée prévue en minutes. Nulle pour une tâche à la journée créée sans durée. peut être null |
| assigneesobject[] | Personnes assignées, dans l'ordre. Vide : tâche du pool de l'équipe, que n'importe qui peut prendre. |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| patientIduuid | Animal concerné. Nul sans animal. peut être null |
| clientIduuid | Client concerné. Nul sans client. peut être null |
| createdByobject | Auteur de la tâche : l'utilisateur d'intégration de l'application pour une tâche créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| completedAtdate-time | Date à laquelle la tâche a été faite. Nulle tant qu'elle ne l'est pas. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
Erreurs propres à cette opération
| 400 BODY_REQUIRED | Corps absent. |
| 400 INVALID_FIELD | Champ absent, illisible ou inconnu, dont |
| 400 INVALID_SITE_ID |
|
| 404 SITE_NOT_FOUND | Le site demandé est inconnu, d'une autre organisation, ou non ouvert à l'application. |
| 404 CLIENT_NOT_FOUND | Client inconnu, d'une autre organisation, ou que l'application ne peut pas lire. |
| 404 PATIENT_NOT_FOUND | Animal inconnu, d'une autre organisation, ou dont le client n'est pas lisible par l'application. |
| 404 USER_NOT_FOUND | Une personne de |
Et les erreurs communes à toutes les opérations : erreurs et limites.
Marquer une tâche comme faite
POST/api/partner/v1/tasks/{id}/complete#
Passe une tâche d'équipe d'un site ouvert à l'application en status: DONE et date completedAt. Idempotent : une tâche déjà faite est rendue telle quelle, sans nouvelle date. Une tâche personnelle d'un membre de l'équipe répond 404, comme une tâche inconnue. Aucun corps n'est lu.
Paramètres
| idchemin · uuidrequis | Identifiant de la tâche. |
| Idempotency-Keyen-tête · stringrequis | Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h. |
Réponse
200La tâche, faite.
Champs de la réponse (16)
| iduuid | Identifiant de la tâche. |
| siteIduuid | Site de la tâche. |
| titlestring | Titre. |
| descriptionstring | Description. Nulle sans description. peut être null |
| statusenum |
TODOIN_PROGRESSDONECANCELLEDpeut être null |
| priorityenum | Priorité : basse, moyenne, haute, urgente. LOWMEDIUMHIGHURGENTpeut être null |
| dueAtdate-time | Échéance. Seul le jour compte si |
| dateOnlyboolean |
|
| durationMinutesinteger | Durée prévue en minutes. Nulle pour une tâche à la journée créée sans durée. peut être null |
| assigneesobject[] | Personnes assignées, dans l'ordre. Vide : tâche du pool de l'équipe, que n'importe qui peut prendre. |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| patientIduuid | Animal concerné. Nul sans animal. peut être null |
| clientIduuid | Client concerné. Nul sans client. peut être null |
| createdByobject | Auteur de la tâche : l'utilisateur d'intégration de l'application pour une tâche créée par l'API. Nul si l'auteur n'est pas connu. peut être null |
| iduuid | Identifiant de la personne. |
| namestring | Prénom et nom. Nul si la personne n'est plus lisible. peut être null |
| createdAtdate-time | Date de création. peut être null |
| completedAtdate-time | Date à laquelle la tâche a été faite. Nulle tant qu'elle ne l'est pas. peut être null |
| updatedAtdate-time | Date de la dernière modification, clé de synchronisation de |
Erreurs propres à cette opération
| 404 TASK_NOT_FOUND | Tâche inconnue, personnelle, d'une autre organisation, ou d'un site non ouvert à l'application. |
| 404 NOT_FOUND |
|
Et les erreurs communes à toutes les opérations : erreurs et limites.