-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #16 from MyUnisoft/navigation-enhancement
navigation enhancement
- Loading branch information
Showing
27 changed files
with
708 additions
and
601 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,47 @@ | ||
# 🔹 Authentification avec accès cabinet | ||
|
||
Notre service authentification possède un endpoint spécifique qui permet la génération d'un API Token spécialement conçu pour une utilisation avec accès cabinet. La durée de vie du token est de dix minutes. | ||
|
||
## Génération de la clé (API Token) | ||
|
||
La route (racine) pour la requête http est POST **/api/authenticate/firm**. | ||
|
||
Le body (JSON) de la requête pour l’authentification: | ||
```json | ||
{ | ||
"mail": "{{mail}}", | ||
"password": "{{password}}" | ||
} | ||
``` | ||
|
||
Les champs “**password**” et “**mail**” doivent être complétés avec le compte qui vous a été fourni. À noter qu'un champ supplémentaire "**firm**" peut être renseigné (si votre compte permet l'accès à plusieurs cabinets/entités MyUnisoft). | ||
|
||
> 👀 Le champ **firm** peut contenir l'ID numérique de l'entité/schéma ou bien le nom de celui-ci (sur MyUnisoft). Nous appelons "entité" un cabinet ou un groupement de cabinets. | ||
--- | ||
|
||
Vous devriez recevoir un status code `200` avec un JSON contenant la clé API Token. | ||
```json | ||
{ | ||
"api_token": "{{API_TOKEN}}", | ||
"expiresIn": "2021-04-12 11:54:46", | ||
"firm": { | ||
"id": 80, | ||
"label": "TESTS PARTENAIRES" | ||
} | ||
} | ||
``` | ||
|
||
## Bonus: récupérer l'id de l'entité/schéma MyUnisoft | ||
|
||
Dans l'interface MyUnisoft il est possible de récupérer l'id de l'entité par le biais du menu `Tenue` > `Liens dynamiques`. Il suffira de récupérer le "numéro du schéma". | ||
|
||
![](../images/liens_dynamique.PNG) | ||
|
||
Si vous n'avez pas vous-même accès un collaborateur de l'entité pourra toujours vous fournir l'information (N'hésitez pas non plus à demander à notre équipe). | ||
# 🔹 Authentification avec accès cabinet | ||
|
||
Notre service authentification possède un endpoint spécifique qui permet la génération d'un API Token spécialement conçu pour une utilisation avec accès cabinet. La durée de vie du token est de quatre heures. | ||
|
||
## Génération de la clé (API Token) | ||
|
||
La route (racine) pour la requête http est POST **/api/authenticate/firm**. | ||
|
||
Le body (JSON) de la requête pour l’authentification: | ||
```json | ||
{ | ||
"mail": "{{mail}}", | ||
"password": "{{password}}" | ||
} | ||
``` | ||
|
||
Les champs “**password**” et “**mail**” doivent être complétés avec le compte qui vous a été fourni. À noter qu'un champ supplémentaire "**firm**" peut être renseigné (si votre compte permet l'accès à plusieurs cabinets/entités MyUnisoft). | ||
|
||
> 👀 Le champ **firm** peut contenir l'ID numérique de l'entité/schéma ou bien le nom de celui-ci (sur MyUnisoft). Nous appelons "entité" un cabinet ou un groupement de cabinets. | ||
--- | ||
|
||
Vous devriez recevoir un status code `200` avec un JSON contenant la clé API Token. | ||
```json | ||
{ | ||
"api_token": "{{API_TOKEN}}", | ||
"expiresIn": "2021-04-12 11:54:46", | ||
"firm": { | ||
"id": 80, | ||
"label": "TESTS PARTENAIRES" | ||
} | ||
} | ||
``` | ||
|
||
## Bonus: récupérer l'id de l'entité/schéma MyUnisoft | ||
|
||
Dans l'interface MyUnisoft il est possible de récupérer l'id de l'entité par le biais du menu `Tenue` > `Liens dynamiques`. Il suffira de récupérer le "numéro du schéma". | ||
|
||
![](../images/liens_dynamique.PNG) | ||
|
||
Si vous n'avez pas vous-même accès un collaborateur de l'entité pourra toujours vous fournir l'information (N'hésitez pas non plus à demander à notre équipe). | ||
|
||
--- | ||
|
||
⬅️ [README](../../README.md) | | ||
➡️ [Utilisation des routes avec un 🔹 Accès cabinet](../endpoints/cabinet.md) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,36 @@ | ||
# 🔸 Authentification avec accès société | ||
|
||
Pour commencer, il est nécessaire de récupérer **un jeton Utilisateur**. Nous vous invitons à suivre [le guide suivant](./user.md) pour en récupérer un. | ||
|
||
## Génération de la clé (API Token) | ||
|
||
Il suffit de requêter la route `/api/v1/key/create` avec la méthode **POST**: | ||
```bash | ||
$ curl --location --request POST 'https://app.myunisoft.fr/api/v1/key/create' \ | ||
--header 'Authorization: Bearer {{ TOKEN }}' \ | ||
--header 'X-Third-Party-Secret: {{ X-Third-Party-Secret }}' \ | ||
--header 'Content-Type: application/json' \ | ||
--data-raw '{ | ||
"target": 1855 | ||
} | ||
' | ||
``` | ||
|
||
- **target**: l’id de la société qui sera lié à l’API token. Il est possible de récupérer l’id d’une société par le biais de l’application MyUnisoft (l’id sera présent dans l’URL). | ||
|
||
Si tout se passe comme prévu vous devriez recevoir un payload comme suit avec un status code `200`. | ||
|
||
<p align="center"> | ||
<img src="../images/societe_auth_key.png" height="300"> | ||
</p> | ||
|
||
La clé value est un jeton [JWT](https://jwt.io/) que vous allez devoir utiliser pour requêter les routes exposées par l’API. Nous parlerons “d’API Token” quand il est question de l’utilisation de celui-ci (A ne pas confondre avec le jeton Utilisateur). | ||
|
||
À noter qu’une fois votre API token généré il n’est plus nécessaire de refaire les étapes ci-dessus (sauf si le token a entre-temps été revoqué). | ||
|
||
# 🔸 Authentification avec accès société | ||
|
||
Pour commencer, il est nécessaire de récupérer **un jeton Utilisateur**. Nous vous invitons à suivre [le guide suivant](./user.md) pour en récupérer un. | ||
|
||
> **Note**: Le jeton utilisateur ne sera nécessaire que pour la génération de la clé API. | ||
## Génération de la clé (API Token) | ||
|
||
Il suffit de requêter la route `/api/v1/key/create` avec la méthode **POST**: | ||
```bash | ||
$ curl --location --request POST 'https://app.myunisoft.fr/api/v1/key/create' \ | ||
--header 'Authorization: Bearer {{ TOKEN }}' \ | ||
--header 'X-Third-Party-Secret: {{ X-Third-Party-Secret }}' \ | ||
--header 'Content-Type: application/json' \ | ||
--data-raw '{ | ||
"target": 1855 | ||
} | ||
' | ||
``` | ||
|
||
- **target**: l’id de la société (dossier de production) qui sera lié à l’API token. Il est possible de récupérer l’id d’une société par le biais de l’application MyUnisoft (l’id sera présent dans l’URL). | ||
|
||
Si tout se passe comme prévu vous devriez recevoir un payload comme suit avec un status code `200`. | ||
|
||
<p align="center"> | ||
<img src="../images/societe_auth_key.png" height="300"> | ||
</p> | ||
|
||
La clé value est un jeton [JWT](https://jwt.io/) que vous allez devoir utiliser pour requêter les routes exposées par l’API. Nous parlerons “d’API Token” quand il est question de l’utilisation de celui-ci (A ne pas confondre avec le jeton Utilisateur). | ||
|
||
> **Note**: une fois votre API token généré il n’est plus nécessaire de refaire les étapes ci-dessus (sauf si le token a entre-temps été **revoqué**). | ||
--- | ||
|
||
⬅️ [README](../../README.md) | | ||
➡️ [Utilisation des routes avec un 🔸 Accès société](../endpoints/societe.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,41 @@ | ||
# Authentification utilisateur | ||
|
||
Pour pouvoir créer un jeton (API Token) il est nécessaire de s'authentifier auprès de notre service authentification. Un compte vous sera créé au sein d'un schéma dédié aux tests avec nos différents partenaires. | ||
|
||
## Récupération d’un jeton sur le Service auth | ||
|
||
Les routes de l’API partenaires commençant par **/key** demandent toutes une en-tête http **Authorization** avec un **Bearer token** (l'access token). Nous parlerons de ce token comme étant le “**User token**”. | ||
|
||
La route (racine) pour la requête http est POST **/api/authenticate**. Le body (JSON) de la requête pour l’authentification: | ||
```json | ||
{ | ||
"mail": "{{mail}}", | ||
"password": "{{password}}" | ||
} | ||
``` | ||
|
||
Les champs “**password**” et “**mail**” doivent être complétés avec le compte qui vous a été fourni. | ||
|
||
> Si vous utilisez Postman, faites attention à désactiver l'utilisation des cookies. | ||
![](../images/user_cookie.png) | ||
|
||
--- | ||
|
||
Vous devriez recevoir un status code `200` avec un JSON contenant la fameuse clé JWT “**access_token**”. | ||
```json | ||
{ | ||
"status": "authenticated", | ||
"policy": "OAuth2", | ||
"firmId": 1, | ||
"details": { | ||
"expire_in": "2021-04-13 10:41:01", | ||
"access_token": "{{ACCESS_TOKEN}}", | ||
"refresh_token": "{{REFRESH_TOKEN}}", | ||
"token_type": "bearer" | ||
} | ||
} | ||
``` | ||
# Authentification utilisateur | ||
|
||
Pour pouvoir créer un jeton (API Token) il est nécessaire de s'authentifier auprès de notre service authentification. Un compte vous sera créé au sein d'un schéma dédié aux tests avec nos différents partenaires. | ||
|
||
## Récupération d’un jeton sur le Service auth | ||
|
||
Les routes de l’API partenaires commençant par **/key** demandent toutes une en-tête http **Authorization** avec un **Bearer token** (l'access token). Nous parlerons de ce token comme étant le “**User token**”. | ||
|
||
La route (racine) pour la requête http est POST **/api/authenticate**. Le body (JSON) de la requête pour l’authentification: | ||
```json | ||
{ | ||
"mail": "{{mail}}", | ||
"password": "{{password}}" | ||
} | ||
``` | ||
|
||
Les champs “**password**” et “**mail**” doivent être complétés avec le compte qui vous a été fourni. | ||
|
||
> Si vous utilisez Postman, faites attention à désactiver l'utilisation des cookies. | ||
![](../images/user_cookie.png) | ||
|
||
--- | ||
|
||
Vous devriez recevoir un status code `200` avec un JSON contenant la fameuse clé JWT “**access_token**”. | ||
```json | ||
{ | ||
"status": "authenticated", | ||
"policy": "OAuth2", | ||
"firmId": 1, | ||
"details": { | ||
"expire_in": "2021-04-13 10:41:01", | ||
"access_token": "{{ACCESS_TOKEN}}", | ||
"refresh_token": "{{REFRESH_TOKEN}}", | ||
"token_type": "bearer" | ||
} | ||
} | ||
``` | ||
|
||
--- | ||
|
||
⬅️ [🔸 Authentification avec accès société](./societe.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -174,3 +174,7 @@ interface AmountTypePaid { | |
} | ||
``` | ||
</details> | ||
|
||
--- | ||
|
||
⬅️ [README](../README.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,29 @@ | ||
# Connecteurs | ||
|
||
Les connecteurs sont des abstractions qui permettent d'interconnecter MyUnisoft avec d'autres solutions (par le biais d'implémentations techniques diverses et variées selon les contraintes et besoins de chacun). | ||
|
||
L'API partenaires offre la possibilité à nos partenaires (ainsi que les cabinets utilisant déjà la solution) de s'interconnecter eux-mêmes avec MyUnisoft par le biais d'une API Gateway qui s'occupera de dispatcher les demandes à nos micros-services internes (pour récupérer ou envoyer des informations d'une société ou d'un cabinet entier). | ||
|
||
Le gestionnaire (comptable et autres) d'un dossier aura plus tard la possibilité de gérer lui-même les outils qu'il souhaitera utiliser (dans le cadre d'un accès par société). Les différents connecteurs sont disponibles dans `Paramètres` > `Tenue` > `Connecteur (Silea, RCA...)` | ||
|
||
![](./images/connector_tab.PNG) | ||
|
||
Lors d'un clic sur un des connecteurs un pop-up s'ouvrira. Elle va permettre de générer une clé (API Token) que le comptable pourra renseigner dans votre solution. | ||
|
||
![](./images/connector_tab_evoliz.PNG) | ||
|
||
## Exemple avec Evoliz | ||
|
||
Pour mieux comprendre je vous invite à [visionner la vidéo de notre partenaire Evoliz](https://vimeo.com/432178505/b1a518283f) sûr comment connecter MyUnisoft avec leur solution. | ||
|
||
## Pourquoi | ||
|
||
Il pourrait être tentant d'essayer de s'interconnecter à MyUnisoft en exploitant directement nos API comme le ferait nos frontaux. Mais laissez-nous vous expliquer pourquoi ce serait une terrible erreur: | ||
|
||
- Le modèle d'authentification est conçu pour un Utilisateur (une personne physique). Établir une utilisation non identifiée et non autorisée aura probablement comme conséquence de compromettre la sécurité des comptes que vous exploitez. | ||
- Vous n'avez aucune garantie que les endpoints HTTP seront demain toujours accessible et identique (Il vous sera donc impossible de vous plaindre à MyUnisoft en cas d'impact). | ||
- Ce ne sont pas les mêmes garanties en termes de sécurité, monitoring et support. | ||
# Connecteurs | ||
|
||
Les connecteurs sont des abstractions qui permettent d'interconnecter MyUnisoft avec d'autres solutions (par le biais d'implémentations techniques diverses et variées selon les contraintes et besoins de chacun). | ||
|
||
L'API partenaires offre la possibilité à nos partenaires (ainsi que les cabinets utilisant déjà la solution) de s'interconnecter eux-mêmes avec MyUnisoft par le biais d'une API Gateway qui s'occupera de dispatcher les demandes à nos micros-services internes (pour récupérer ou envoyer des informations d'une société ou d'un cabinet entier). | ||
|
||
Le gestionnaire (comptable et autres) d'un dossier aura plus tard la possibilité de gérer lui-même les outils qu'il souhaitera utiliser (dans le cadre d'un accès par société). Les différents connecteurs sont disponibles dans `Paramètres` > `Tenue` > `Connecteur (Silea, RCA...)` | ||
|
||
![](./images/connector_tab.PNG) | ||
|
||
Lors d'un clic sur un des connecteurs un pop-up s'ouvrira. Elle va permettre de générer une clé (API Token) que le comptable pourra renseigner dans votre solution. | ||
|
||
![](./images/connector_tab_evoliz.PNG) | ||
|
||
## Exemple avec Evoliz | ||
|
||
Pour mieux comprendre je vous invite à [visionner la vidéo de notre partenaire Evoliz](https://vimeo.com/432178505/b1a518283f) sûr comment connecter MyUnisoft avec leur solution. | ||
|
||
## Pourquoi | ||
|
||
Il pourrait être tentant d'essayer de s'interconnecter à MyUnisoft en exploitant directement nos API comme le ferait nos frontaux. Mais laissez-nous vous expliquer pourquoi ce serait une terrible erreur: | ||
|
||
- Le modèle d'authentification est conçu pour un Utilisateur (une personne physique). Établir une utilisation non identifiée et non autorisée aura probablement comme conséquence de compromettre la sécurité des comptes que vous exploitez. | ||
- Vous n'avez aucune garantie que les endpoints HTTP seront demain toujours accessible et identique (Il vous sera donc impossible de vous plaindre à MyUnisoft en cas d'impact). | ||
- Ce ne sont pas les mêmes garanties en termes de sécurité, monitoring et support. | ||
|
||
--- | ||
|
||
⬅️ [README](../README.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,3 +40,7 @@ Retour JSON de l'API: | |
"56" | ||
] | ||
``` | ||
|
||
--- | ||
|
||
⬅️ [README](../README.md) |
Oops, something went wrong.