Skip to content

a client for the DILA API that publishes the french law

Notifications You must be signed in to change notification settings

SocialGouv/dila-api-client

Repository files navigation

@socialgouv/dila-api-client

NPM

Github Master CI Status NPM version codecov jest renovate

This JS package helps querying the DILA API

Usage

You need to set two environment variables : OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET.

These variables are the "oauth identifier" defined in your custom application in the AIFE portal

Envs

Env Name Value
* OAUTH_CLIENT_ID AIFE OAUTH client
* OAUTH_CLIENT_SECRET AIFE OAUTH secret
Prod API_HOST https://api.piste.gouv.fr/dila/legifrance/lf-engine-app
Prod TOKEN_HOST https://oauth.piste.gouv.fr/api/oauth/token
Sandbox API_HOST https://sandbox-api.piste.gouv.fr/dila/legifrance/lf-engine-app
Sandbox TOKEN_HOST https://sandbox-oauth.aife.economie.gouv.fr/api/oauth/token
const DilaApiClient = require("@socialgouv/dila-api-client");

const dilaApi = new DilaApiClient();

// fetch table des matières code-du-travail
dilaApi
  .fetch({
    path: "consult/code/tableMatieres",
    method: "POST",
    params: {
      date: new Date().getTime(),
      sctId: "",
      textId: "LEGITEXT000006072050",
    },
  })
  .then(console.log);

// fetch list of available codes
dilaApi
  .fetch({
    path: "list/code",
    method: "POST",
  })
  .then(console.log);

See also ./examples

Debug

you need to set the DEBUG=* environment variable in order to see the output of inner logs.

Release policy

Releases are automaticly made through our GitHub Actions strictly following the Semantic Versioning specification thanks to semantic-release.