Docs
Connexion partenaire →

Référence de l’API partenaires

Catalogue

Lire le catalogue de la clinique (actes et produits, appelés Treats dans l'application) avec le prix pratiqué par un site, l'arbre des catégories, et chercher un acte ou un produit par son nom. Lecture seule : aucune route ne crée ni ne modifie un article, une catégorie ou un prix. Seul le catalogue propre à l'organisation est visible, jamais le référentiel des centrales. Droit exigé : catalog:read.

Lire l'arbre des catégories

GET/api/partner/v1/catalog/categories#

catalog:read

Rend toutes les catégories du catalogue de l'organisation, actives et inactives, sous forme d'arbre : les racines dans items, les sous-catégories dans children. Tri à chaque niveau : produits puis actes, ordre d'affichage choisi par la clinique, puis nom. L'arbre tient en une seule réponse (nextCursor toujours null). Les catégories sont communes à l'organisation : aucun site n'est à préciser.

Paramètres

typerequête · enum

Restreint à l'arbre des produits ou à celui des actes. Insensible à la casse. Absent : les deux.

Réponse

200Les catégories racines et leurs descendantes.

Champs de la réponse (2)
itemsCatalogCategory[]
iduuid

Identifiant de la catégorie.

codestring

Code de la catégorie.

peut être null
namestring

Nom de la catégorie.

parentIduuid

Catégorie parente ; null pour une racine.

peut être null
itemTypeenum

Type des articles rangés dans la catégorie.

PRODUCTSERVICEpeut être null
activeboolean

false : catégorie désactivée par la clinique.

childrenCatalogCategory[]

Sous-catégories, triées comme les racines. Liste vide pour une feuille.

nextCursorstring

Curseur opaque de la page suivante, à repasser tel quel dans cursor. null : dernière page.

peut être null

Erreurs propres à cette opération

400 INVALID_FIELD

type autre que PRODUCT ou SERVICE.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Lister les articles du catalogue

GET/api/partner/v1/catalog/items#

catalog:read

Rend une page des articles du catalogue de l'organisation, actifs et inactifs, avec le prix effectif du site visé : le prix propre du site s'il en a un, sinon le prix de l'organisation. Le site se donne par site_id ou Treats-Site-Id ; il est implicite quand l'organisation n'a ouvert qu'un site à l'application.

Tri par date de synchronisation (updatedAt) puis identifiant. Un changement de prix au seul site, ou l'entrée en vigueur d'un prix programmé, fait revenir l'article dans updated_since. Les modifications des 60 dernières secondes n'apparaissent qu'aux appels suivants ; la lecture par identifiant est immédiate.

Paramètres

typerequête · enum

Restreint aux produits ou aux actes. Insensible à la casse.

category_idrequête · uuid

Restreint à une catégorie, sous-catégories comprises.

qrequête · string

Texte cherché dans le nom ou le code de l'article (contient, insensible à la casse). Les caractères % et _ sont cherchés tels quels.

activerequête · boolean

true : actifs seulement ; false : inactifs seulement. Absent : les deux, pour qu'une synchronisation voie une désactivation.

site_idrequête · uuid

Site dont le prix est rendu. Obligatoire si l'organisation a ouvert plusieurs sites à l'application (ou passer l'en-tête Treats-Site-Id).

updated_sincerequête · date-time

Ne rend que les articles dont updatedAt est postérieur ou égal à cet instant (ISO 8601).

cursorrequête · string

Curseur nextCursor de la page précédente, repassé tel quel. Absent : première page.

limitrequête · integer

Nombre d'articles par page, de 1 à 200 (au-delà de 200, ramené à 200).

Défaut : 50
Treats-Site-Iden-tête · uuid

Site visé, à la place du paramètre site_id.

Réponse

200Une page d'articles.

Champs de la réponse (2)
itemsCatalogItem[]
iduuid

Identifiant de l'article.

typeenum

PRODUCT : produit (médicament, aliment, accessoire). SERVICE : acte.

PRODUCTSERVICE
codestring

Code de l'article dans le catalogue de la clinique.

peut être null
namestring

Nom de l'article.

categoryIduuid

Catégorie de l'article (voir GET /catalog/categories).

peut être null
categoryNamestring

Nom de cette catégorie.

peut être null
vatRatePercentnumber

Taux de TVA en pourcentage (20.00, 5.50…).

peut être null
siteIduuid

Site dont le prix est rendu.

priceHtCentsinteger

Prix effectif hors taxes pour ce site, en centimes. null si aucun prix n'est saisi.

peut être null
priceTtcCentsinteger

Prix effectif toutes taxes comprises pour ce site, en centimes. null si aucun prix n'est saisi.

peut être null
currencyenum

Devise des montants, toujours EUR.

EUR
priceScopeenum

Origine du prix : SITE si le site a un prix propre pour cet article, ORGANIZATION s'il applique le prix commun de l'organisation.

SITEORGANIZATION
gtinstring

Code GTIN (code-barres) d'un produit.

peut être null
prescriptionOnlyboolean

true : délivrance sur ordonnance seulement.

activeboolean

false : article désactivé par la clinique.

billableboolean

false : article qui ne se facture jamais (prescription libre, consigne).

updatedAtdate-time

Date de synchronisation : dernière modification de l'article ou d'un prix qui le concerne pour ce site, y compris l'entrée en vigueur d'un prix programmé (minuit, heure de Paris, du jour d'effet). Sert de clé à updated_since et au curseur.

nextCursorstring

Curseur opaque de la page suivante, à repasser tel quel dans cursor. null : dernière page.

peut être null

Erreurs propres à cette opération

400 INVALID_FIELD

type autre que PRODUCT ou SERVICE, active autre que true ou false, category_id ou updated_since mal formé, limit inférieur à 1 ou non entier, curseur illisible. Un détail par champ.

400 INVALID_SITE_ID

site_id (ou Treats-Site-Id) n'est pas un identifiant valide.

404 SITE_NOT_FOUND

Le site demandé n'est pas ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Lire un article du catalogue

GET/api/partner/v1/catalog/items/{id}#

catalog:read

Rend un article du catalogue de l'organisation avec le prix effectif du site visé, le même que celui de la fiche dans l'application. Le site se donne par site_id ou Treats-Site-Id ; il est implicite quand l'organisation n'a ouvert qu'un site. Un article inactif reste lisible. Un article d'une autre organisation, ou du référentiel d'une centrale, répond 404.

Paramètres

idchemin · uuidrequis

Identifiant de l'article.

site_idrequête · uuid

Site dont le prix est rendu. Obligatoire si l'organisation a ouvert plusieurs sites à l'application (ou passer l'en-tête Treats-Site-Id).

Treats-Site-Iden-tête · uuid

Site visé, à la place du paramètre site_id.

Réponse

200L'article.

Champs de la réponse (17)
iduuid

Identifiant de l'article.

typeenum

PRODUCT : produit (médicament, aliment, accessoire). SERVICE : acte.

PRODUCTSERVICE
codestring

Code de l'article dans le catalogue de la clinique.

peut être null
namestring

Nom de l'article.

categoryIduuid

Catégorie de l'article (voir GET /catalog/categories).

peut être null
categoryNamestring

Nom de cette catégorie.

peut être null
vatRatePercentnumber

Taux de TVA en pourcentage (20.00, 5.50…).

peut être null
siteIduuid

Site dont le prix est rendu.

priceHtCentsinteger

Prix effectif hors taxes pour ce site, en centimes. null si aucun prix n'est saisi.

peut être null
priceTtcCentsinteger

Prix effectif toutes taxes comprises pour ce site, en centimes. null si aucun prix n'est saisi.

peut être null
currencyenum

Devise des montants, toujours EUR.

EUR
priceScopeenum

Origine du prix : SITE si le site a un prix propre pour cet article, ORGANIZATION s'il applique le prix commun de l'organisation.

SITEORGANIZATION
gtinstring

Code GTIN (code-barres) d'un produit.

peut être null
prescriptionOnlyboolean

true : délivrance sur ordonnance seulement.

activeboolean

false : article désactivé par la clinique.

billableboolean

false : article qui ne se facture jamais (prescription libre, consigne).

updatedAtdate-time

Date de synchronisation : dernière modification de l'article ou d'un prix qui le concerne pour ce site, y compris l'entrée en vigueur d'un prix programmé (minuit, heure de Paris, du jour d'effet). Sert de clé à updated_since et au curseur.

Erreurs propres à cette opération

400 INVALID_SITE_ID

site_id (ou Treats-Site-Id) n'est pas un identifiant valide.

404 CATALOG_ITEM_NOT_FOUND

Aucun article de ce catalogue ne porte cet identifiant.

404 SITE_NOT_FOUND

Le site demandé n'est pas ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

esc
↵ ouvrir↑↓ naviguerrésultats limités à ce site