Ajout d'exemple dans le swagger api
parent
c59e2a33af
commit
6b50c81091
|
@ -11,4 +11,52 @@ info:
|
|||
servers:
|
||||
- url: /api/v1/
|
||||
|
||||
paths: {}
|
||||
paths:
|
||||
/evaluate:
|
||||
post:
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
examples:
|
||||
SalaireBrutEnNet:
|
||||
value:
|
||||
{
|
||||
'situation':
|
||||
{
|
||||
'contrat salarié . rémunération . brut de base':
|
||||
{ 'valeur': 4200, 'unité': '€ / mois' },
|
||||
'contrat salarié': "'CDI'",
|
||||
},
|
||||
'expressions': ['contrat salarié . rémunération . net'],
|
||||
}
|
||||
MicroEntreprise:
|
||||
value:
|
||||
{
|
||||
situation:
|
||||
{
|
||||
"dirigeant . auto-entrepreneur . chiffre d'affaires": '42000 €/an',
|
||||
'entreprise . activité': "'libérale'",
|
||||
'entreprise . activité . libérale réglementée': 'non',
|
||||
'entreprise . catégorie juridique': "'EI'",
|
||||
'entreprise . catégorie juridique . EI . auto-entrepreneur': 'oui',
|
||||
'dirigeant . auto-entrepreneur . impôt . versement libératoire': 'non',
|
||||
'impôt . méthode de calcul': "'taux neutre'",
|
||||
},
|
||||
expressions:
|
||||
[
|
||||
{
|
||||
'valeur': 'dirigeant . auto-entrepreneur . cotisations et contributions',
|
||||
'unité': '€/an',
|
||||
},
|
||||
'dirigeant . rémunération . impôt',
|
||||
'dirigeant . auto-entrepreneur . net après impôt',
|
||||
],
|
||||
}
|
||||
/rules/{rule}:
|
||||
get:
|
||||
parameters:
|
||||
- examples:
|
||||
SalaireNet:
|
||||
value: 'contrat salarié . rémunération . net'
|
||||
Impot:
|
||||
value: 'impôt . méthode de calcul'
|
||||
|
|
|
@ -31,6 +31,13 @@ export function mergeDeep(
|
|||
target[key] as Record<string, unknown>,
|
||||
source[key] as Record<string, unknown>
|
||||
)
|
||||
} else if (Array.isArray(target[key]) && Array.isArray(source[key])) {
|
||||
return (target[key] as unknown[]).map((el, i) =>
|
||||
mergeDeep(
|
||||
el as Record<string, unknown>,
|
||||
(source[key] as unknown[])[i] as Record<string, unknown>
|
||||
)
|
||||
) as unknown as Record<string, unknown>
|
||||
} else {
|
||||
Object.assign(target, { [key]: source[key] })
|
||||
}
|
||||
|
|
|
@ -1139,17 +1139,14 @@ pages:
|
|||
this API?</2><3>The my-company api is totally open and without
|
||||
authentication, it is composed of 3 routes inspired by the methods of the
|
||||
Publicodes interpreter: <1>/evaluate</1>, <4>/rules</4> and
|
||||
<7>/rules/:rule</7>.</3><4><0>What is Publicodes?</0><1>It is a
|
||||
declarative language developed by beta.gouv.fr and the Urssaf to encode
|
||||
public interest algorithms.<1></1>All our calculation rules are written in
|
||||
this language.<3></3><4>Learn more about publicodes</4></1></4><5>POST
|
||||
/evaluate</5><6>Allows to evaluate the expressions of publicode with a
|
||||
given situation<1></1>You will find more info on the structure of the JSON
|
||||
to send on our <4>Swagger</4>.</6><7>GET /rules</7><8>Retrieve all
|
||||
publicode rules</8><9>GET /rules/:rule</9><10>Retrieve a publicodes
|
||||
rule</10><11>Example</11><12>Here is an example of how to use the
|
||||
different routes, you can explore their code in the
|
||||
<1>example</1>folder</12><13><0></0></13>"
|
||||
<7>/rules/:rule</7>.<9></9><10></10>Find more information on our
|
||||
<13>Swagger UI</13>.<15></15></3><4><0>What is Publicodes?</0><1>It is a
|
||||
declarative language developed by beta.gouv.fr and Urssaf to encode public
|
||||
interest algorithms.<1></1>All our calculation rules are therefore written
|
||||
in this language.<3></3><4>Learn more about
|
||||
publicodes</4></1></4><5>Example</5><6>Here is an example of how to use
|
||||
the different routes, you can explore their code in the
|
||||
<1>example</1>folder</6><7><0></0></7>"
|
||||
bibliothèque: "<0>Integrate our calculation library</0><1>If you think that your
|
||||
website or service would benefit from displaying salary calculations, for
|
||||
example switching from gross to net salary, good news: all the tax and
|
||||
|
|
|
@ -903,18 +903,14 @@ pages:
|
|||
mon-entreprise est totalement ouverte et sans authentification, elle se
|
||||
compose de 3 routes qui s'inspirent des méthodes de l'interpréteur
|
||||
Publicodes : <1>/evaluate</1>, <4>/rules</4> et
|
||||
<7>/rules/:rule</7>.</3><4><0>Qu'est ce que Publicodes ?</0><1>C'est un
|
||||
language déclaratif développé par beta.gouv.fr et l'Urssaf pour encoder
|
||||
des algorithmes d'intérêt public.<1></1>Toutes nos règles de calculs sont
|
||||
donc écrites dans ce language.<3></3><4>En savoir plus sur
|
||||
publicodes</4></1></4><5>POST /evaluate</5><6>Permet d'évaluer les
|
||||
expressions de publicode avec une situation donnée<1></1>Vous trouverez
|
||||
plus d'infos sur la structure du JSON à envoyer sur notre
|
||||
<4>Swagger</4>.</6><7>GET /rules</7><8>Permet de récupérer toutes les
|
||||
règles publicodes</8><9>GET /rules/:rule</9><10>Permet de récupérer une
|
||||
règle publicodes</10><11>Exemple</11><12>Voici un exemple d'utilisation
|
||||
des différentes routes, vous pouvez explorer leur code dans le dossier
|
||||
<1>example</1></12><13><0></0></13>"
|
||||
<7>/rules/:rule</7>.<9></9><10></10>Retrouvez plus d'informations sur
|
||||
notre <13>Swagger UI</13>.<15></15></3><4><0>Qu'est ce que Publicodes
|
||||
?</0><1>C'est un language déclaratif développé par beta.gouv.fr et
|
||||
l'Urssaf pour encoder des algorithmes d'intérêt public.<1></1>Toutes nos
|
||||
règles de calculs sont donc écrites dans ce language.<3></3><4>En savoir
|
||||
plus sur publicodes</4></1></4><5>Exemple</5><6>Voici un exemple
|
||||
d'utilisation des différentes routes, vous pouvez explorer leur code dans
|
||||
le dossier <1>example</1></6><7><0></0></7>"
|
||||
bibliothèque: "<0>Intégrez notre bibliothèque de calcul</0><1>Si vous pensez que
|
||||
votre site ou service gagnerait à afficher des calculs de salaire, par
|
||||
exemple passer du salaire brut au salaire net, bonne nouvelle : tous les
|
||||
|
|
|
@ -33,6 +33,11 @@ export default function API() {
|
|||
l'interpréteur Publicodes : <InlineCode>/evaluate</InlineCode>,{' '}
|
||||
<InlineCode>/rules</InlineCode> et{' '}
|
||||
<InlineCode>/rules/:rule</InlineCode>.
|
||||
<br />
|
||||
<br />
|
||||
Retrouvez plus d'informations sur notre{' '}
|
||||
<Link href="/api/v1/doc/#/publicodes-api/evaluate">Swagger UI</Link>.
|
||||
<br />
|
||||
</Body>
|
||||
|
||||
<Message type="info">
|
||||
|
@ -47,22 +52,6 @@ export default function API() {
|
|||
</Body>
|
||||
</Message>
|
||||
|
||||
<H3>POST /evaluate</H3>
|
||||
<Body>
|
||||
Permet d'évaluer les expressions de publicode avec une situation
|
||||
donnée
|
||||
<br />
|
||||
Vous trouverez plus d'infos sur la structure du JSON à envoyer sur
|
||||
notre{' '}
|
||||
<Link href="/api/v1/doc/#/publicodes-api/evaluate">Swagger</Link>.
|
||||
</Body>
|
||||
|
||||
<H3>GET /rules</H3>
|
||||
<Body>Permet de récupérer toutes les règles publicodes</Body>
|
||||
|
||||
<H3>GET /rules/:rule</H3>
|
||||
<Body>Permet de récupérer une règle publicodes</Body>
|
||||
|
||||
<H2>Exemple</H2>
|
||||
<Body>
|
||||
Voici un exemple d'utilisation des différentes routes, vous pouvez
|
||||
|
|
Loading…
Reference in New Issue