Giter Club home page Giter Club logo

okapi-sdk-js's Introduction

NPM version Build Status Coverage Status npm

Le SDK client Okapi pour JavaScript / nodejs / navigateurs

Ce SDK facilite la consommation des Open APIs de La Poste, via la plateforme Okapi :

Developer La Poste

Pour consommer des APIs de La Poste, vous devez au préalable :

  • Créer votre compte
  • Créer une application et noter la clé d'app générée, à utiliser comme appKey dans le SDK
  • Souscrire à une API du store

Installation

$ npm i laposte-okapi-sdk --save

Utilisation

  const okapiSdk = require('laposte-okapi-sdk');
  const oka = okapiSdk({appKey: 'mySecretAppKey'});
  oka.api('superapi')
    .version(1)
    .resource('contacts')
    .get()
    .spread((data, res) => {
      console.log('data :', data);
      console.log('status code :', res.statusCode);
    })
    .catch(function(err) {
      console.error(err);
    });

La méthode verbe déclenche la requête avec la l'équivalent HTTP de get, post, put, patch ou delete.

Tous les exemples suivants sont équivalents :

  • chainage :

      oka.api('superapi').version(1).resource('contacts').get()
  • la méthode verbe accepte une chaîne de caractère comme chemin de la ressource :

      oka.api('superapi').version(1).get('contacts')
  • la méthode verbe considère le paramètre comme l'URL complète s'il est du type String et qu'aucune API n'a été renseignée au préalable :

      oka.get('superapi/v1/contacts')
  • construction directe via un objet :

      oka.build({ api: 'superapi', version: 1, resource: 'contacts'}).get()
  • encore plus direct via la méthode verbe :

      oka.get({ api: 'superapi', version: 1, resource: 'contacts'})

Utilisation dans un navigateur

Après installation via NPM

  • Version adaptée à la production :

    <script src="node_modules/laposte-okapi-sdk/client/okapi-sdk.min.js"></script>
  • Version non minifiée pour les développements :

    <script src="node_modules/laposte-okapi-sdk/client/okapi-sdk.js"></script>

Directement

  • Version adaptée à la production :

    <script src="https://github.com/DeveloperLaPoste/okapi-sdk-js/raw/master/client/okapi-sdk.min.js"></script>
  • Version non minifiée pour les développements :

    <script src="https://github.com/DeveloperLaPoste/okapi-sdk-js/raw/master/client/okapi-sdk.js"></script>

Référence API

Les méthodes suivantes peuvent être chainées : elles retournent this (Object) pour permettre un chainage des appels.

.api

Définit le contexte d'URL de l'API à consommer.

Arguments : contexte d'URL de l'API (String)

.version

Définit la version de l'API à consommer.

Arguments : version (Integer|String)

.resource

Définit l'URI de ressource de l'API à consommer.

Arguments : URI de la ressource (String)

.uri

Définit une URI complète à utiliser (alternative à l'utilisation de .api et .version).

Arguments : uri (String) (ex : '/APIname/APIversion/resource')

.body

Définit le corps de la requête.

Arguments : corps (Object)

.query

Définit les paramètres de query string.

Arguments: query (Object)

.params

Défnit les paramètres de l'URI.

Arguments: params (Object)

.attachment

Définit un fichier à uploader.

Arguments: attachment (Object)

.build

Méthode utilitaire tout-en-un qui construit l'URI.

Arguments: opt (Object)

Exemple :

{API name, API version, resource, [...]})

Les méthodes suivantes ne sont pas chainées :

.toUrl

Retourne l'URL complète de la requête.

Arguments: [opt] (Object)

Exemple :

{API name, API version, resource, [...]}

Retourne une URL complète (String)

.get | .post | .put | .patch | .post | .delete

Ces méthodes sont identiques à leur équivalent HTTP, l'invocation de l'une de ces méthode déclenche l'appel de la requête au serveur.

Arguments: [opt] (Object)

Exemple :

{API name, API version, resource, [...]}

Retourne une promesse qui se réalise avec les arguments suivants :

  • res : réponse (Object)
  • body : corps de la réponse body (Object)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.