Ce guide a pour objectif de vous aider à gérer l’analytique d’un dossier MyUnisoft par API.
Dans MyUnisoft la configuration de l’analytique s’effectue à partir de: Paramètres
> Dossier
> Analytique
.
[!WARNING] Par défaut l’analytique n’est pas activée.
L’intégralité des routes présentées dans ce guide est disponible sur le postman en ligne (dossier Analytic). Les interfaces TypeScript peuvent être consultées en ligne ici.
Terme | Description |
---|---|
Axe | Un axe est une analyse spécifique de la comptabilité. L’axe est proposé en général sur les comptes 6 et 7 (voire 2). Ils permettent de catégoriser les écritures afin de pouvoir les suivre et les analyser. Ils peuvent par exemple indiquer de quel projet, département, établissement provient une écriture. Chaque axe possède au minimum une section “ATTENTE” qui sera la valeur sélectionnée/assignée par défaut. |
Section | Les sections correspondent à un sous-élément de l’axe. C’est sur les sections que les répartitions sont faites. Chaque section est affiliée à un compte (ou plus précisément à une classe de comptes). |
Clé de répartition | Permets de spécifier les règles de répartition (ventilation) pour les sections d’un Axe. Ces règles seront utilisées par le back-end pour automatiquement ventiler les écritures. |
Ventilation | La ventilation comptable est une technique utilisée en comptabilité, permettant de répartir les entrées ou les sorties de fonds sur un nombre de sections donné. La ventilation comptable permet la répartition de charges et de produits.Qu’est-ce que la ventilation comptable ? |
Charges & Produits | Corresponds aux comptes de classe 6 et 7 du plan comptable général. |
Lien bonus: Comptabilité analytique : définition, rôle et exemple de calculs de coûts
La route https://api.myunisoft.fr/api/v1/society/:id_society
permet de modifier les paramètres d’une société (dossier).
$ curl --location --request PUT 'https://api.myunisoft.fr/api/v1/society/3' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"analytics": true
}'
La route https://api.myunisoft.fr/api/v1/analytics/axes
permet de récupérer l’intégralité des axes pour un dossier.
[!NOTE] Il est possible de récupérer un axe précis par l’id, exemple avec l’id 41: https://api.myunisoft.fr/api/v1/analytics/axes/41
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/axes' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
La route https://api.myunisoft.fr/api/v1/analytics/axes
permet de créer un axe.
$ curl --location --request POST 'https://api.myunisoft.fr/api/v1/analytics/axes' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"code": "EQUIPE",
"label": "AxeEquipe"
}'
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe
permet de modifier un axe en renseignant les paramètres que l’on souhaite modifier ainsi que les nouvelles valeurs comme dans l’exemple ci-dessous.
Voici la liste des paramètres modifiables d’un axe:
$ curl --location --request PUT 'https://api.myunisoft.fr/api/v1/analytics/axes/48' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"code": "TEAM",
}'
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe
permet de supprimer un axe.
$ curl --location --request DELETE 'https://api.myunisoft.fr/api/v1/analytics/axes/48' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/sections
permet de récupérer l’intégralité des sections pour un axe identifié.
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/axes//sections' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
Il est possible de récupérer une section par son id (mais aussi de récupérer la section par défaut).
https://api.myunisoft.fr/api/v1/analytics/sections/:id_section
https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/defaultsection
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/sections
permet de créer une section.
[!NOTE] Dans le cas de la création de la section par défaut, le paramètre
by_default
doit être renseigné dans le payload de la requête comme dans l’exemple ci-dessous.
$ curl --location --request POST 'https://api.myunisoft.fr/api/v1/analytics/axes/48/sections' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"code": "ATTENTE",
"label": "Waiting section",
"by_default": true
}'
La route https://api.myunisoft.fr/api/v1/analytics/sections/:id_section
permet de modifier une section.
$ curl --location --request PUT 'https://api.myunisoft.fr/api/v1/analytics/sections/58' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"closed": true
}'
La route https://api.myunisoft.fr/api/v1/analytics/sections/:id_section
permet de supprimer une section.
[!NOTE] Il est impossible de supprimer la section par défaut.
$ curl --location --request DELETE 'https://api.myunisoft.fr/api/v1/analytics/sections/58' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
Par défaut sans configuration le back-end utilisera le numéro du compte pour effectuer la répartition correctement (ou sur la section “en attente” si le compte ne correspond à aucune section).
Néanmoins il est possible de configurer la répartition directement au sein de l’interface MyUnisoft:
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/repartition_keys
permet de récupérer l’intégralité des clés de répartitions pour un axe identifié.
[!NOTE] Il est possible de récupérer une clé de répartition avec l’id de l’axe + l’id de clé:
https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/repartition_keys/:id_repartition_key
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/axes//repartition_keys' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/repartition_keys
permet de créer une clé de répartition à laquelle sera associée des répartitions
$ curl --location --request POST 'https://api.myunisoft.fr/api/v1/analytics/axes/48/repartition_keys' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"key": "PAYS",
"condition": "6"
}'
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/repartition_keys/:id_repartition_key
permet de modifier une clé de répartition.
$ curl --location --request PUT 'https://api.myunisoft.fr/api/v1/analytics/axes/48/repartition_keys/5' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '{
"key": "COUNTRY"
}'
La route https://api.myunisoft.fr/api/v1/analytics/axes/:id_axe/repartition_keys/:id_repartition_key
permet de supprimer une clé de répartition.
$ curl --location --request DELETE 'https://api.myunisoft.fr/api/v1/analytics/axes/48/repartition_keys/5' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
L’API vous permet de récupérer les taux des répartitions par section à l’aide de l’id de la clé de répartition.
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/repartition_keys//repartition' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
La route retournera un tableau défini par l’interface TypeScript RateOfRepartitionKey
RateOfRepartitionKey
.[!IMPORTANT] 📢 Cela correspond à la partie droite de l’image.
La route https://api.myunisoft.fr/api/v1/analytics/repartition_keys/:id_repartition_key/repartition
permet de définir des taux de répartitions par section.
[!NOTE] La somme des taux de répartitions doit obligatoirement être égale à 100.
$ curl --location --request POST 'https://api.myunisoft.fr/api/v1/analytics/repartition_keys/5/repartition' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
--data-raw '[
{
"id_section": 219,
"rate": 10
},
{
"id_section": 249,
"rate": 10
},
{
"id_section": 454,
"rate": 80
}
]'
Les formats supportant l’analytique chez MyUnisoft sont:
analytique
sur chaque ligne de l’écriture).À noter que pour le format JSON il est possible de récupérer la répartition directement par API:
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/repartitions?account=601000&value=1000' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
L’API prend le numéro du compte (account) ainsi que la valeur (le montant) a ventilé. Si vous voulez mieux comprendre comment l’endpoint fonctionne nous vous invitons à lire le chapitre sur la gestion des clés de répartitions.
La route retournera un tableau défini par l’interface TypeScript AnalyticRepartition
.
AnalyticRepartition
.Le JSON retourné sera à utiliser pour la création d’une écriture au format JSON. Voir le guide Création d’une entrée comptable avec le format JSON pour plus d’informations.
À ce jour nous n’avons pas encore d’endpoint qui supporte un export de toutes les écritures + les répartitions analytique. Nos équipes travaillent à l’ajout des répartitions sur POST /entries.
Il est néanmoins possible (mais fortement déconseillé ⚠️) de récupérer la répartition à l’aide de l’id de la ligne d’écriture (le mouvement).
$ curl --location --request GET 'https://api.myunisoft.fr/api/v1/analytics/line_entries//repartitions' \
--header 'X-Third-Party-Secret: nompartenaire-L8vlKfjJ5y7zwFj2J49xo53V' \
--header 'Authorization: Bearer '
Le retour sera là aussi identique à la définition AnalyticRepartition
présent dans le chapitre précédent.