alt text

A propos de ce document

Ce document à pour but de vous apporter toutes les informations nécessaires à l’intégration des Web Services PROVIGIS. Vous y trouverez des informations techniques et fonctionnelles. Ce document n’aborde pas les différents langages de développement et les librairies associées permettant l’écriture ou la mise en place d’un client REST. L’intégration des Web Services PROVIGIS implique que vous aillez un minimum de connaissances en développement web.

Pré-requis pour utiliser les Web Services PROVIGIS

Le client doit posséder un compte ACHETEUR dans PROVIGIS.COM. Le client doit avoir souscrit à une des offres Web Services PROVIGIS. Le compte ACHETEUR doit avoir été paramétré par nos soins. Nous vous communiquons en retour :

  • URL racine (host + /api)
  • Oauth_consumer_key
  • Oauth_consumer_secret
  • Login Admin WS
  • MdP WS
  • Provigis ID de l'entité acheteur (buyer_id)

Le buyer_id est l'identifiant de l'entité ACHETEUR. Dans le cas où il y a un organigramme dans le compte, il sera possible d'obtenir la liste des entités et de leur buyer_id avec le WS /group

Environnements

Nous avons deux environnements Web Services :

  • environnement d’intégration, serveur dédié à la phase de test et de recette
  • environnement de production

L'accès au serveur d'intégration est restreint. Votre adresse IP publique devra nous être communiqué pour y accéder.

Format des réponses

Chacun de nos Web Service peut vous retourner une réponse en JSON en utilisant le Accept dans le header, et vous générer un code d'appel en cURL , Java-OkHttp , Shell-wget et NodeJs_Axios

par défaut, la réponse sera Content-Type →text/json;charset=utf-8

Accept : application/json

Monitoring

PROVIGIS enregistre et conserve les 3 derniers mois de monitoring des appels WS reçus sur nos serveurs.

IMPORTANT : Encodage

L'encodage des caractères dans l'appel WS et la base string est important. Un mauvais encodage générera un bad signature. Même si certains caractères commes les espaces, les éèçàê ... sont tolérés dans l'url d'appel, d'autres ne le sont pas comme le + . Il est conseillé de d'abord encoder ces caractères dans les paramètres d'appel, pour qu'ils soient ensuite encodé une nouvelle fois dans la base string. Cela simplifiera votre mise en oeuvre.

Exemple :
Pour un téléphone +33 (1) 23 45 67 89 sera cellphone=%2B33%20%281%29%2023%2045%2067%2089 dans l'url d'appel, et cellphone%3D%252B33%2520%25281%2529%252023%252045%252067%252089 dans la base string.
cellphone=%2B33 (1) 23 45 67 89 dans l'url d'appel fonctionnera aussi, tant que l'encodage sera cellphone%3D%252B33%2520%25281%2529%252023%252045%252067%252089 dans la base string.
Par contre, cellphone=+33 (1) 23 45 67 89 donnera une bad signature même s'il est correctement double encodé dans la base string.

Les caractères accentués é è ç à ù ô ê... subissent les mêmes règles. Il est préférable de les encoder dans la requête %C3%A9 %C3%A8 %C3%A7 %C3%A0 %C3%B9 %C3%B4 %C3%AA ce qui donnera %25C3%25A9 %25C3%25A8 %25C3%25A7 %25C3%25A0 %25C3%25B9 %25C3%25B4 %25C3%25AA dans la base string.

Les caractères autorisés seront rappeler pour chacun des champs.

Pour démarrer

Les Web Services de PROVIGIS utilisent l'authentification Oauth 1.0a (avec popup) ou Oauth 1.0 (sans popup).

ATTENTION: si vous utilisez une library existante pour la technologie utilisée dans votre application, l'étape /accessToken a été modifiée afin de renforcer le niveau sécurité.


Principe de base

L'authentification sert à vérifier que vous êtes autorisé à accéder à notre API, ainsi qu'aux ressources. Ce sont les token (token et token_secret) obtenus en réponse de l' /accessToken qui identifieront aux yeux de notre API vos autorisations. L'authentification se déroule en 2 étapes :

  1. obtention des jetons de requête.

  2. obtention des jetons d'accès aux ressources.

La deuxième étape peut se faire avec popup, afin d'identifier un utilisateur en le laissant renseigner son login et mot de passe PROVIGIS, ou sans popup, avec les paramètres utilisateurs passés en paramètres (un utilisateur unique administrateur ou un utilisateur identifié, avec un compte dans PROVIGIS - voir la section "Utilisateurs").


IMPORTANT

Les chapitres "Signature" et "Authentification" décrivent le processus qui doit être utilisé pour tous les appels à nos Web Service. Ces processus ne seront pas repris dans les descriptions de chaque appel, mais tout appel doit être authentifié pour être valable (les clés seront affichées dans la liste des paramètres pour chaque WS).

La signature est utilisée afin de vérifier l’authenticité des informations de l’application cliente et de ses jetons. La signature HMAC-SHA1 est réalisée à partir de deux informations:

  • La Base URL
  • La partie secrète

Les étapes de génération de la signature sont les suivantes:

  1. Construction de la Base URL

  2. Construction de la partie secrète

  3. Calcul de la signature (méthode HMAC-SHA1 avec un encodage en base64)

  4. URLEncodage de la signature pour son utilisation dans une URL d’appel aux WS

Signature

Particularité PROVIGIS

Le processus de signature pour l'accessToken a été renforcé avec l'utilisation d'un utilisateur représenté par un login et un mot de passe. Si vous utilisez une library Oauth1 depuis le web, vous devrez tenir compte de cette particularité pour modifier la library. Lors de l'étape /accessToken, un paramètre d'url supplémentaire est à prendre en compte dans l'url, le login d'un utilisateur représenté par un email. La partie secrète utilisée pour le calcul de la signature, contiendra en plus le mot de passe de l'utilisateur passé en paramètre.

Exemple

var signature = CryptoJS.HmacSHA1(signatureBaseString, pm.environment.get("oauth_consumer_secret") + '&' + pm.environment.get("token_secret") + '&' + pm.environment.get("oauth_password")).toString(CryptoJS.enc.Base64);

vous devrez vous assurer que le séparateur '&' entre le token_secret et le mot de passe ne soit pas transformé en %26

Url de base

https://api.provigis.com/api/requestToken Une fois normalisée, l'url de base est

https%3A%2F%2Fapi.provigis.com%2Fapi%2FrequestToken

Paramètres brut

Paramètres de base pour chaque appel

oauth_consumer_key= //consumer fourni avec la licence
&oauth_nonce= // valeur unique calculée à chaque appel
&oauth_signature_method=HMAC-SHA1 // méthode de signature
&oauth_timestamp= // valeur temps calculée à chaque requête
&oauth_token= //  la clé doit être envoyée, même vide dans le requestToken par exemple
&oauth_version=1.0 // version de l'authentification

Une fois normalisés, les paramètres sont

oauth_consumer_key%3D6jvpqdbnd3eosm5j8j5ci7sw9wxk91%26oauth_nonce%3D403c4fe02c6043e18a96add737396781%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1517739053%26oauth_token%3D%26oauth_version%3D1.0

pour les appels aux ressources, il faudra prendre en compte les paramètres de chacun des web services en plus des paramètres d'authentification qui doivent être utilisées pour chaque appels.

Les paramètres doivent être ordonnés par ordre alphabétique pour la signature base string


Signature base string

La signature base string se compose de la méthode, l'url de la ressource, des paramètres d'url, séparés par un &, et normalisé.

method + '&' + encodeURIComponent(baseUrl) + '&' + encodeURIComponent(parameters)

L'ensemble de la signature base string est

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2FrequestToken&oauth_consumer_key%3D6jvpqdbnd3eosm5j8j5ci7sw9wxk91%26oauth_nonce%3D403c4fe02c6043e18a96add737396781%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1517739053%26oauth_token%3D%26oauth_version%3D1.0

Calcul de la signature

La signature sera l'encodage HMAC-SHA1 de la signature base string avec la partie secrète. Par exemple, la signature base string ci-dessus (avec oauth_token vide) pour le requestToken devra être encodé avec l'api_key, seule clé secrète fournie à cette étape (tout comme le token, le token_secret sera envoyé vide).

exemple pour le /requestToken (sans token secret) :

HmacSHA1(signatureBaseString, oauth_consumer_secret + '&' + '');

ce qui donnera la signature suivante xcuTO4dj/eGAQK+zm6aqMenAFsI= qui devra être normalisée avant d'être ajouté à la requête xcuTO4dj%2FeGAQK%2Bzm6aqMenAFsI%3D


Le nonce est une donnée qui doit être unique et que nous stockons afin de nous assurer que ce n'est pas une url capturée, et réutilisée. Nous vous recommandons de générer un NONCE suffisamment compliqué (le baser sur un timestamp est une bonne pratique) pour ne pas risquer d'en générer un qui a déjà été utilisé avec votre licence. Vous obtiendriez une erreur "Nonce already used".

url d'appel finale

https://api.provigis.com/api/requestToken?oauth_consumer_key=6jvpqdbnd3eosm5j8j5ci7sw9wxk91&oauth_nonce=403c4fe02c6043e18a96add737396781&oauth_signature=xcuTO4dj%2FeGAQK%2Bzm6aqMenAFsI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1517739053&oauth_token=&oauth_version=1.0

Authentification

Obtention du jeton de demande

C'est la première étape de l'authentification. À ce stade, vous ne possédez aucun TOKEN.


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_nonce à calculer à chaque appel
oauth_signature calculer à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token vide
oauth_version 1.0

Partie secréte

Les informations en votre possession pour la partie secrète, c'est le consumer_secret_key. Toutefois, le oauth_token_secret doit être envoyé vide à cette étape.

HmacSHA1(signatureBaseString, oauth_consumer_secret + '&' + '');
GET
/requestToken

Signature Base string

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2FrequestToken&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dc24e4e1d398348c0a5f115439b43a9d4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1535313134%26oauth_token%3D%26oauth_version%3D1.0

url d'appel

https://api.provigis.com/api/requestToken?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=c24e4e1d398348c0a5f115439b43a9d4&oauth_signature=V0cMkQRoOAXXG%2BHlT064IlOUokc%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535313134&oauth_token=&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/requestToken?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=90b257db9ac2465bb1739e07422c6283&oauth_signature=PnCDg1MkGtR1Wu%2FvZbvvY4N1rfQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657633040&oauth_token=&oauth_version=1.0' \
--header 'Accept: application/json'

Exemple de réponse JSON

{
    "oauth_token": "770rupgrp7y812yu0bwqg4pcfo1oa4",
    "oauth_token_secret": "yyw4u1e9tssgp3kju3sjpipsenyh0n"
}

Obtention du jeton d'accès

Attention : C'est cette étape qui a été renforcé et sort du standard Oauth1

A cette étape, vous avez reçu un TOKEN et un TOKEN_SECRET en réponse du /requestToken. Ils sont a utiliser dans le calcul de signature.

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_login Utilisateur admin fourni avec la licence PROVIGIS
oauth_nonce à calculer à chaque appel
oauth_signature calculer à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du requestToken
oauth_version 1.0

Partie secréte

À ce stade, les informations en votre possession pour la partie secrète, sont le consumer_secret_key, et le oauth_token_secret obtenus avec le accessRequest

oauth_password vous a été transmis avec la licence ou obtenu pour un utilisateur spécifique, depuis les ressources de gestion des utilisateurs.

HmacSHA1(signatureBaseString, oauth_consumer_secret + '&' + oauth_token_secret + '&' oauth_password);

ATTENTION: il arrive souvent que le & séparateur de l'oauth_token_secret et de oauth_password soit encodé `%26. Si c'est le cas, vous obtiendrez une erreur avec message "Bad signature".

GET
/accessToken

Signature Base string

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2FaccessToken&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_login%3Dtest2%2540domain.fr%26oauth_nonce%3D7a336cb2d8c146ed8a9e4318f95d6294%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1535313361%26oauth_token%3D770rupgrp7y812yu0bwqg4pcfo1oa4%26oauth_version%3D1.0

URL d'appel

https://api.provigis.com/api/accessToken?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_login=test2@domain.fr&oauth_nonce=7a336cb2d8c146ed8a9e4318f95d6294&oauth_signature=XKf5cxl789UgwgzT6zVXsBJ6CcI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535313361&oauth_token=770rupgrp7y812yu0bwqg4pcfo1oa4&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/accessToken?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_login=Msi.Achats@yopmail.com&oauth_nonce=080684f9e2c84bc1800d360af380ac78&oauth_signature=b%2B%2F2HToJzIkjY9QVNp1xkXDNLOg%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657637748&oauth_token=abcs6rfp4oowpj07nu94oc8wt6pfe9&oauth_version=1.0' \
--header 'Accept: application/json'

Exemple de réponse JSON

{
    "oauth_token": "gjm1so5qa48wkejkyt9t9ce8sswq1x",
    "oauth_token_secret": "uavd6zzi1clcbyom0lrj7jeosttg50"
}

Accès aux ressources

À partir de là, vous avez obtenu les jetons d'accès. Ils sont valables 24h. Ils doivent être utilisés pour calculer l'authentification pour chaque appel aux ressources. Ils seront listés comme ceci dans les paramètres d'URL oauth_consumer_key, oauth_nonce , oauth_signature , oauth_signature_method, oauth_timestamp, oauth_token, oauth_version.

La clé secrète sera basée sur le oauth_consumer_secret et le oauth_token_secret obtenus en réponse de l' /accessToken

HmacSHA1(signatureBaseString, oauth_consumer_secret + '&' + oauth_token_secret);

Auto-login vers PROVIGIS

L'auto-login utilise l'étape accessToken avec des clés supplémentaires permettant de :

  • rediriger vers PROVIGIS, sur le tableau de bord
  • rediriger vers PROVIGIS, sur la fiche d'un fournisseur

Pour que cela fonctionne, vous devrez stocker l'ID long PROVIGIS des fournisseurs. Cette information est disponible soit dans la confirmation de création de fournisseur, soit dans le statut des fournisseurs.

attention, ici, nous parlons uniquement de simplifier la connexion dans PROVIGIS. Pour aller plus loin et faire du SSO, vous pouvez souscrire à notre offre SAMLV2

Redirection simple vers PROVIGIS


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_login Fourni avec la licence PROVIGIS, ou depuis la liste des utilisateurs
oauth_nonce à calculer à chaque appel
oauth_signature calculer à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du requestToken
oauth_version 1.0
redirect 1 Indique la redirection vers PROVIGIS
GET
/accessToken

URL d'appel

https://api.provigis.com/api/accessToken?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_login=test2%40s1n.fr&oauth_nonce=c43b0f7b77a74a6cb30235996bad3b00&oauth_signature=RlDxNGRObDh5zRQUPJtp99bSGgs%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535314183&oauth_token=xt8g83q2nqiofsocbk7k0n4021cyt4&oauth_version=1.0&redirect=1

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/accessToken?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_login=Msi.Achats@yopmail.com&oauth_nonce=eb8d905a16874dd1a1f34ae6f39382a3&oauth_signature=QYn7%2FpvNotcB%2Blf4soKb1%2B6UNek%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1659000436&oauth_token=xnhjvfs6tyiov6y9qr3w3aww29xc28&oauth_version=1.0&redirect=1' \
--header 'Accept: application/json'

Redirection vers PROVIGIS avec fiche fournisseur


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_login Fourni avec la licence PROVIGIS, ou depuis la liste des utilisateurs
oauth_nonce à calculer à chaque appel
oauth_signature calculer à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du requestToken
oauth_version 1.0
redirect 1 Indique la redirection vers PROVIGIS
buyerId 1234567891234567891 Id PVG de l'acheteur (clé au format camelCase)
supplierId 1473948088132438396 Id PVG du fournisseur suivi par l'acheteur passé en paramètre buyerId (clé au format camelCase)
GET
/accessToken

URL d'appel

https://api.provigis.com/api/accessToken?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_login=test2%40s1n.fr&oauth_nonce=094cf018774646de935d704533865e30&oauth_signature=%2Fk5tsijRaqwFGj8nc%2BC2SroPHjM%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535314284&oauth_token=u2jl909i35ds05s80wq73k6c5s17vf&oauth_version=1.0&redirect=1&buyerId=1234567891234567891&supplierId=1473948088132438396

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/accessToken?buyerId=1234567891234567891&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_login=Msi.Achats@yopmail.com&oauth_nonce=a9be8864f6c24d2286a0618829729794&oauth_signature=FOA7zRrFw5yFAhhb920NAvApM04%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1659000588&oauth_token=xnhjvfs6tyiov6y9qr3w3aww29xc28&oauth_version=1.0&redirect=1&supplierId=1234567891234567891' \
--header 'Accept: application/json'

Arborescence d'un acheteur

Dans le cas ou le compte client sur PROVIGIS contient une arborescence, il est nécessaire de récupérer les id PROVGIS de chacune des entités pour pouvoir assigner/gérer correctement les appels WS. Le buyer_id est nécessaire pour beaucoup d'appels WS, par exemple les statuts de fournisseurs. L'API vérifie le couple buyer_id et supplier_id pour retourner la réponse. Si ce couple d'informations n'est pas cohérent, une erreur sera retournée.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1802268668390802575 id PROVIGIS de l'acheteur fourni avec la licence
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/group


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=8bc14ee2f91c49efb5d44339a93db57e&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538927369&oauth_token=6vdakw1c53eouqv3oz5m3nk0ttq1iu&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fgroup&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D8bc14ee2f91c49efb5d44339a93db57e%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538927369%26oauth_token%3D6vdakw1c53eouqv3oz5m3nk0ttq1iu%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
X8UBOuHR2iiqfLOBP8Lo1K2dZ/Y= / X8UBOuHR2iiqfLOBP8Lo1K2dZ%2FY%3D


CODE ERREUR

Code HTTP Code erreur Message
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
GET
/buyers/{buyer_id}/group

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/group?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=8bc14ee2f91c49efb5d44339a93db57e&oauth_signature=X8UBOuHR2iiqfLOBP8Lo1K2dZ%2FY%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538927369&oauth_token=6vdakw1c53eouqv3oz5m3nk0ttq1iu&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/group?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=90b257db9ac2465bb1739e07422c6283&oauth_signature=PnCDg1MkGtR1Wu%2FvZbvvY4N1rfQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657633040&oauth_token=yubz4ykm77k06pb2wafp3beobnazuo&oauth_version=1.0' \
--header 'Accept: application/json'

Exemple response JSON

{
    "id": "1234567891234567891",
    "siren": "431960251",
    "nicNumber": "00046",
    "intercommunityVAT" : "FR13377441122",
    "name": "Provigis",
    "subsidiary": [{
        "id": "1234567891234567891",
        "siren": "4319251",
        "nicNumber": "00047",
        "intercommunityVAT" : "FR133773122",
        "name": "Provigis filiale 1",
        "subsidiary": null
    }, {
        "id": "1234567891234567891",
        "siren": "4310251",
        "nicNumber": "00048",
        "intercommunityVAT" : "FR13373222",
        "name": "Provigis filiale 2",
        "subsidiary": null
    }]
}

Gestion des utilisateurs d'un acheteur

Avec votre licence Web Services PROVIGIS, un user admin et son mot de passe Web Services vous sera transmis pour l'obtention des jetons d'accès (/accessToken). Vous ne pouvez utiliser que cet utilisateur, pour autoriser vos appels, mais vous pourriez aussi souhaiter que les appels soient faits en respectant vos utilisateurs définis dans PROVIGIS et leurs droits.

Nos Web Services ici vous permettront d'inscrire des nouveaux utilisateurs dans PROVIGIS, d'obtenir leur mot de passe Web Service afin de permettre l'obtention des jetons d'accès en leur nom, ou de suivre le process d'auto-login pour qu'ils arrivent sur leurs comptes PROVIGIS.

Les appels WS apparaîtront avec leur identifiant dans notre monitoring.

Pour le moment, il n'est pas possible de préciser les droits de l'utilisateur inscrit par WS (admin, standard, visualisation seule). Il faudra qu'un admin se connecte dans PROVIGIS pour passer un utilisateur en admin ou visualisation seule.

Lister les utilisateurs

Vous pouvez obtenir les utilisateurs existants dans le compte acheteur passé en paramètre buyer_id. Si le compte possède une arborescence avec des entités enfants, il faudra utiliser les autres id PVG de ces entités pour avoir la liste de tous les utilisateurs (voir WS /group).


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1802268668390802575 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/users/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=ffee0bcf29d7467389137c4d1bf87065&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538928058&oauth_token=6vdakw1c53eouqv3oz5m3nk0ttq1iu&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fusers%2F&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dffee0bcf29d7467389137c4d1bf87065%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538928058%26oauth_token%3D6vdakw1c53eouqv3oz5m3nk0ttq1iu%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
gLUtXxxgvBMd6XfIKouekY150DM= / gLUtXxxgvBMd6XfIKouekY150DM%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
401 4131 Unauthorized email WS non activé sur la licence
GET
/buyers/{buyer_id}/users

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/users/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=ffee0bcf29d7467389137c4d1bf87065&oauth_signature=gLUtXxxgvBMd6XfIKouekY150DM%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538928058&oauth_token=6vdakw1c53eouqv3oz5m3nk0ttq1iu&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/users/?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=fccae56ae4a043a098785e5eaacaa1f4&oauth_signature=ulJvhtXTWB4m5iuVxi8Qmv1fbko%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657638088&oauth_token=abcs6rfp4oowpj07nu94oc8wt6pfe9&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

[
    {
        "id" : "6546125164654",
        "email" : "user1@yopmail.com",
        "civility" : "0",
        "firstname": "User1",
        "lastname" : "Name1",
        "function" : "Directeur(trice) ou responsable de pôle",
        "phone" : "1455233331",
        "cellphone" : "012236644",
        "role" : "1",
        "passwordWebService" : "soigjo654fqpdsoknvgsdf654jhsuo"
    },
    {
        "id" : "8546546515165154",
        "email" : "user2@yopmail.com",
        "civility" : "0",
        "firstname": "User2",
        "lastname" : "Name2",
        "function" : "Chef de service",
        "phone" : "313654656",
        "cellphone" : "3461164648",
        "role" : "2",
        "passwordWebService" : "soigjo587fqpdsoknvgsdf654jhsuo"
    }
]

Ajouter un utilisateur

Le rôle par défaut pour tout user ajouté via Web service est le rôle standard.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group.
cellphone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
civility param. M M ou MME
email param. le @ devra recevoir un double % encode dans la base string. Voir le chapitre ENCODAGE
firstname param. Voir le chapitre ENCODAGE
function param.
lastname param. Voir le chapitre ENCODAGE
notification param. 1 1 ou 0. Si 1, l'utilisateur recevra un email pour définir son mot de passe front office PROVIGIS.
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
phone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE


PATH

https://api.provigis.com/api/buyers/1802268668390802575/users


PARAMETERS

cellphone=%2B33%20%281%29%2023%2045%2067%2089&civility=M&email=test1538985437%40yopmail.com&firstname=Nom%20%C3%A9%C3%A8%C3%A7%C3%A0%C3%AA&function=Test%20inscription&lastname=Pr%C3%A9nom&notification=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=fc6cb7bdfbdd410cb95b98e1fb7a84c4&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538985437&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&phone=09%2087%2065%2043%2021


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fusers&cellphone%3D%252B33%2520%25281%2529%252023%252045%252067%252089%26civility%3DM%26email%3Dtest1538985437%2540yopmail.com%26firstname%3DNom%2520%25C3%25A9%25C3%25A8%25C3%25A7%25C3%25A0%25C3%25AA%26function%3DTest%2520inscription%26lastname%3DPr%25C3%25A9nom%26notification%3D1%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dfc6cb7bdfbdd410cb95b98e1fb7a84c4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538985437%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0%26phone%3D09%252087%252065%252043%252021


SIGNATURE (avant encodage/encodée pour la requête)
nllCQJ7OTycMYb1KbflMIuEGVmo= / nllCQJ7OTycMYb1KbflMIuEGVmo%3D

Si l'utilisateur existe déjà dans l'entité buyer_id, il ne sera pas créé une deuxième fois.

Si l'utilisateur est ajouté dans une autre entité, il pourra passer d'une entité à l'autre dans PROVIGIS.

Un utilisateur conserve ses droits sur les entités enfants de l'entité dans laquelle il est autorisé.


CODE ERREUR

Code HTTP Code erreur Message
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
412 4017 Invalid parameter email
412 4123 Email already exist
412 4024 Invalid parameter lastname
412 4025 Invalid parameter firstname
412 4051 Invalid parameter phone
412 4026 Invalid parameter cellphone
412 4027 Invalid parameter civility
412 4029 Invalid parameter function
412 4030 Invalid parameter email
POST
/buyers/{buyer_id}/users

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/users?cellphone=%2B33 (1) 23 45 67 89&civility=M&email=test1538985437@yopmail.com&firstname=Nom éèçàê&function=Test inscription&lastname=Prénom&notification=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=fc6cb7bdfbdd410cb95b98e1fb7a84c4&oauth_signature=nllCQJ7OTycMYb1KbflMIuEGVmo%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538985437&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&phone=09 87 65 43 21

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/users?cellphone=%2B33%20%281%29%2023%2045%2067%2089&civility=M&email=test1657702396@yopmail.com&firstname=Nom éèçàê&function=Test inscription&lastname=Prénom&notification=1&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=c6fef55d1a434eb7958a8555fcdff3e4&oauth_signature=ToRLBQkcp%2BZhKqq7ZCsvW8jtbBQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657702396&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0&phone=09-87.65%2F43 21' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "login": "johndoe@company.com",
    "id": "1802268668391061610",
    "entity": {
        "id": "189876545678765400",
        "siren": "431960251",
        "nicNumber": "00047",
        "intercommunityVAT": "FR13377433122",
        "name": "Provigis"
    },
    "passwordWebService": "85f1e987893817942132415a9c6a8748bf9da3d809f5a5bf58a89d0c812d9564"
}

Supprimer un utilisateur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
user_id path 1876567898765678 id PROVIGIS de l'utilisateur
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/users/1802268668391065929


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=6c483da58415495c878da86fefcb84cf&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538934092&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

DELETE&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fusers%2F1802268668391065929&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D6c483da58415495c878da86fefcb84cf%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538934092%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Koi55oltLYp6h6qAdNUNWisL0qc= / Koi55oltLYp6h6qAdNUNWisL0qc%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
401 4131 Unauthorized email WS non activé sur la licence
DELETE
/buyers/{buyer_id}/users/{user_id}

URL d'appel

https://api.provigis.com/api/buyers/1802268668390802575/users/1802268668391065929?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=6c483da58415495c878da86fefcb84cf&oauth_signature=Koi55oltLYp6h6qAdNUNWisL0qc%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538934092&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request DELETE 'https://api.provigis.com/api/buyers/1234567891234567891/users/{{varUserId}}?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=887256730e464e73b58092de23fd9f86&oauth_signature=w%2BSvibosSnEGAB4IUy6s3MFQdCY%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1658997287&oauth_token=xnhjvfs6tyiov6y9qr3w3aww29xc28&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemples de réponse JSON

{}

Gestion des fournisseurs

Ajouter un fournisseur français (SIRET)

Ce Web Service permet d'ajouter un fournisseur dans l'entité acheteur passée en paramètre buyer_id en utilisant son SIRET.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
supplier_contact_cellphone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_contact_civility param. 0 Requis si un contact est envoyé. 0 pour Mr, 1 pour Mme
supplier_contact_email param. Requis si un contact est envoyé. Le @ devra recevoir un double % encode dans la base string. Voir le chapitre ENCODAGE
supplier_contact_firstname param. Voir le chapitre ENCODAGE
supplier_contact_function param. Voir le chapitre ENCODAGE
supplier_contact_lastname param. Voir le chapitre ENCODAGE
supplier_contact_phone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_custom_code param.
supplier_groups param. 234;235 ID provigis du/des groupe(s) séparé par ; . Attention à l'encodage de ;. Il faut soit passer %3B dans l'appel, ou faire un double encodage dans la base string pour obtenir %253B dans la base string avant le calcul de signature, sinon, vous aurz un bad signature.Les ID peuvent être obtenus avec le WS Liste des groupes d'un acheteur
supplier_name param. La raison sociale sera complétée par notre partenaire ALTARES. supplier_name sera utilisé si le service ne répond pas. Voir le chapitre ENCODAGE
supplier_siret param.


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=99dc18e4d961495a8948b53c4693f961&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538989851&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1538989851%40yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Conseiller%20commercial&supplier_contact_lastname=Contact%20last%20name&supplier_contact_phone=%2B33%20%281%29%2023%2045%2067%2089&supplier_custom_code=12345678&supplier_name=Supplier%20NAME&supplier_siret=43196025100079


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D99dc18e4d961495a8948b53c4693f961%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538989851%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0%26supplier_contact_cellphone%3D%252B33%2520%25286%2529%252023%252045%252067%252089%26supplier_contact_civility%3D0%26supplier_contact_email%3Dtest1538989851%2540yopmail.com%26supplier_contact_firstname%3DFirstname%26supplier_contact_function%3DConseiller%2520commercial%26supplier_contact_lastname%3DContact%2520last%2520name%26supplier_contact_phone%3D%252B33%2520%25281%2529%252023%252045%252067%252089%26supplier_custom_code%3D12345678%26supplier_name%3DSupplier%2520NAME%26supplier_siret%3D43196025100079


SIGNATURE (avant encodage/encodée pour la requête)
fEu7gXs3m90DKUZbvEKasB1wu3s= / fEu7gXs3m90DKUZbvEKasB1wu3s%3D


Le noeud success confirmera l'inscription du fournisseur.

Le noeud supplier retourne les informations identitaires du fournisseur, fiabilisées par notre partenaire.


CODE SUCCES

Code HTTP Champ de retour Code de retour Message
200 success 20 Supplier created and attached
200 success 21 Supplier attached
200 success 22 Supplier already attached
200 contact_status 00 No contact provided
200 contact_status 20 Contact properly assigned
200 contact_status 50 Invalid email, no contact assigned
200 contact_status 59 Error on contact, no contact assigned
200 groups_status 00 No group provided
200 groups_status 20 Groups properly assigned
200 groups_status 50 One or more invalid group_id, no group assigned
200 groups_status 59 Error on groups, no group assigned
200 custom_code_status 00 No custom code provided
200 custom_code_status 20 Custom code properly assigned
200 custom_code_status 59 Error on custom code, no custom code assigned


CODE ERREUR

Code HTTP Champ de retour Code erreur Message
412 error 50 Invalid supplier siret
400 error 51 Supplier siret not registered
400 error 52 Inactive supplier
400 error 53 Siret checking service unavailable and no supplier name provided
POST
/buyers/{buyer_id}/suppliers

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=99dc18e4d961495a8948b53c4693f961&oauth_signature=vGADpmSsUjD7%2F2cIKoa8MCx0smY%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538989851&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1538989851@yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Conseiller%20commercial&supplier_contact_lastname=Contact%20last%20name&supplier_contact_phone=%2B33%20%281%29%2023%2045%2067%2089&supplier_custom_code=12345678&supplier_name=Supplier%20NAME&supplier_siret=43196025100079

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=5f9bed367825404aa9b138cf95a875fe&oauth_signature=t5miWlUb%2FDOTU475MLDJOCevVt0%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657643180&oauth_token=2mdqjwpk6cg05b67mfjoi5j49gqzbj&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1657643180@yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Conseiller commercial&supplier_contact_lastname=Contact last name&supplier_contact_phone=01.02-03%2F04 78&supplier_custom_code=12345678&supplier_groups=327&supplier_name=Supplier NAME&supplier_siret=45317608300021' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "success": {
        "code": "22",
        "message": "Supplier already attached"
    },
    "custom_code_status": {
        "code": "20",
        "message": "Custom code properly assigned"
    },
    "groups_status": {
        "code": "00",
        "message": "No group provided"
    },
    "contact_status": {
        "code": "20",
        "message": "Contact properly assigned"
    },
    "supplier": {
        "id": 1802268668391153239,
        "name": "PROVIGIS",
        "siret": "43196025100079",
        "enseigne": null,
        "address": "1 PRV DE LA DEFENSE",
        "postal_code": "92800",
        "city": "PUTEAUX",
        "country": "France",
        "intercommunityVAT": "FR50431960251"
    }
}

Ajouter un fournisseur international (DUNS)

Ce Web Service permet d'ajouter un fournisseur dans l'entité acheteur passée en paramètre buyer_id en utilisant comme clé son DUNS et son pays.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1802268668390802468 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
supplier_contact_cellphone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_contact_civility param. 0 Requis si un contact est envoyé. 0 pour Mr, 1 pour Mme
supplier_contact_email param. Requis si un contact est envoyé. Le @ devra recevoir un double % encode dans la base string. Voir le chapitre ENCODAGE
supplier_contact_firstname param. Voir le chapitre ENCODAGE
supplier_contact_function param. Voir le chapitre ENCODAGE
supplier_contact_lastname param. Voir le chapitre ENCODAGE
supplier_contact_phone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_country param. Code pays (ISO 3166-2 alpha2)
supplier_custom_code param.
supplier_dunsNumber param.
supplier_groups param. 234;235 ID provigis du/des groupe(s) séparé par ; . Attention à l'encodage de ;. Il faut soit passer %3B dans l'appel, ou faire un double encodage dans la base string pour obtenir %253B dans la base string avant le calcul de signature, sinon, vous aurz un bad signature.Les ID peuvent être obtenus avec le WS Liste des groupes d'un acheteur
supplier_name param. La raison sociale sera complétée par notre partenaire ALTARES. supplier_name sera utilisé si le service ne répond pas. Voir le chapitre ENCODAGE


PATH

https://api.provigis.com/api/buyers/1802268668390802468/suppliersInt


PARAMETERS

oauth_consumer_key=y2hp18s9bbi86do6id2rv75sfy9isf&oauth_nonce=83cbf32b6a5549abb57f9c59c330fdf4&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564114&oauth_token=itf68u6bur5s32yqsk2iz43k6nrmo0&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1601564114%40yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Fournisseur%20INT%20DUNS&supplier_contact_lastname=Contact%20last%20name&supplier_contact_phone=01.02-03%2F04%2078&supplier_country=FR&supplier_custom_code=12345678&supplier_dunsNumber=395184976&supplier_groups=4616%3B5200&supplier_name=PROVIGIS


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802468%2FsuppliersInt&oauth_consumer_key%3Dy2hp18s9bbi86do6id2rv75sfy9isf%26oauth_nonce%3D83cbf32b6a5549abb57f9c59c330fdf4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1601564114%26oauth_token%3Ditf68u6bur5s32yqsk2iz43k6nrmo0%26oauth_version%3D1.0%26supplier_contact_cellphone%3D%252B33%2520%25286%2529%252023%252045%252067%252089%26supplier_contact_civility%3D0%26supplier_contact_email%3Dtest1601564114%2540yopmail.com%26supplier_contact_firstname%3DFirstname%26supplier_contact_function%3DFournisseur%2520INT%2520DUNS%26supplier_contact_lastname%3DContact%2520last%2520name%26supplier_contact_phone%3D01.02-03%252F04%252078%26supplier_country%3DFR%26supplier_custom_code%3D12345678%26supplier_dunsNumber%3D395184976%26supplier_groups%3D4616%253B5200%26supplier_name%3DPROVIGIS


SIGNATURE (avant encodage/encodée pour la requête)
0zo83SewsBxs1WCxWqmMO1QJX5A= / 0zo83SewsBxs1WCxWqmMO1QJX5A%3D


Le noeud success confirmera l'inscription du fournisseur.

Le noeud supplier retourne les informations identitaires du fournisseur, fiabilisées par notre partenaire. Si le fournisseur a un SIRET (fournisseur FR), il sera aussi retourné ici.


CODE SUCCES

Code HTTP Champ de retour Code de retour Message
200 success 20 Supplier created and attached
200 success 21 Supplier attached
200 success 22 Supplier already attached
200 contact_status 00 No contact provided
200 contact_status 20 Contact properly assigned
200 contact_status 50 Invalid email, no contact assigned
200 contact_status 59 Error on contact, no contact assigned
200 groups_status 00 No group provided
200 groups_status 20 Groups properly assigned
200 groups_status 50 One or more invalid group_id, no group assigned
200 groups_status 59 Error on groups, no group assigned
200 custom_code_status 00 No custom code provided
200 custom_code_status 20 Custom code properly assigned
200 custom_code_status 59 Error on custom code, no custom code assigned


CODE ERREUR

Code HTTP Champ de retour Code erreur Message
412 error 50 Invalid fields : supplier_country
400 error 55 Invalid supplier DUNS
POST
/buyers/{buyer_id}/suppliersInt

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802468/suppliersInt?oauth_consumer_key=y2hp18s9bbi86do6id2rv75sfy9isf&oauth_nonce=83cbf32b6a5549abb57f9c59c330fdf4&oauth_signature=0zo83SewsBxs1WCxWqmMO1QJX5A%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564114&oauth_token=itf68u6bur5s32yqsk2iz43k6nrmo0&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1601564114@yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Fournisseur%20INT%20DUNS&supplier_contact_lastname=Contact%20last%20name&supplier_contact_phone=01.02-03%2F04%2078&supplier_country=FR&supplier_custom_code=12345678&supplier_dunsNumber=395184976&supplier_groups=4616%3B5200&supplier_name=PROVIGIS

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/suppliersInt?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=88d3c404e6aa4172ba58f56d9c6e034d&oauth_signature=LtBzxa%2B1mEbqDLH0ApFojpNfr88%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657643397&oauth_token=2mdqjwpk6cg05b67mfjoi5j49gqzbj&oauth_version=1.0&supplier_contact_cellphone=%2B33%20%286%29%2023%2045%2067%2089&supplier_contact_civility=0&supplier_contact_email=test1657643397@yopmail.com&supplier_contact_firstname=Firstname&supplier_contact_function=Fournisseur INT DUNS&supplier_contact_lastname=Contact last name&supplier_contact_phone=01.02-03%2F04 78&supplier_country=US&supplier_custom_code=12345678&supplier_dunsNumber=161444740&supplier_groups=327&supplier_name=Supplier NAME' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "success": {
        "code": "22",
        "message": "Supplier already attached"
    },
    "custom_code_status": {
        "code": "20",
        "message": "Custom code properly assigned"
    },
    "groups_status": {
        "code": "20",
        "message": "Groups properly assigned"
    },
    "contact_status": {
        "code": "20",
        "message": "Contact properly assigned"
    },
    "supplier": {
        "id": 1802268668391153239,
        "name": "PROVIGIS",
        "siret": "43196025100079",
        "enseigne": "W-P.CONSEIL - CLUB-ACHETEURS.COM",
        "address": "1 PRV DE LA DEFENSE",
        "postal_code": "92800",
        "city": "PUTEAUX",
        "country": "France",
        "nationalId": null,
        "vatNumber": "FR50431960251",
        "dunsNumber": "395184976"
    }
}

Ajouter manuellement un fournisseur international

Si vous n'avez pas le DUNS pour identifier et fiabiliser les informations identitaires de vos fournisseurs internationaux, il faudra nous envoyer les données les concernant et les fournisseurs pourront compléter les informations manquantes.

Un fournisseur étranger peut avoir un SIRET, et dans ce cas, il faut l'inscrire comme un fournisseur français, ou si vous avez le DUNS, utiliser le Web Service d'inscription de fournisseurs internationaux.

Attention : pour ajouter un fournisseur étranger, vous devez obligatoirement renseigner supplier_vatNumber ET/OU supplier_dunsNumber ET/OU supplier_nationalId. Une de ces clés est requise, les 3 sont acceptées. Si une de ces 3 clés est identifiée chez un fournisseur existant, le lien sera fait avec cet établissement.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
supplier_address1 param. Voir le chapitre ENCODAGE
supplier_address2 param. Voir le chapitre ENCODAGE
supplier_city param.
supplier_contact_cellphone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_contact_civility param. M M ou MME. Requis si un contact est envoyé
supplier_contact_email param. Requis si un contact est envoyé
supplier_contact_firstname param. Voir le chapitre ENCODAGE
supplier_contact_function param. Voir le chapitre ENCODAGE
supplier_contact_lastname param. Voir le chapitre ENCODAGE
supplier_contact_phone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
supplier_country param. Code pays (ISO 3166-2 alpha2)
supplier_custom_code param.
supplier_dunsNumber param. Depuis Octobre 2020, si vous avez le DUNS comme clé d'identification de vos fournisseurs, nous vous recommandons d'utiliser le WS d'ajout de fournisseur avec DUNS. Il permet de fiabiliser les données identitaires du fournisseur. Ce qui n'est pas le cas ici.
supplier_groups param. 234;235 ID provigis du/des groupe(s) séparé par ; . Attention à l'encodage de ;. Il faut soit passer %3B dans l'appel, ou faire un double encodage dans la base string pour obtenir %253B dans la base string avant le calcul de signature, sinon, vous aurz un bad signature.Les ID peuvent être obtenus avec le WS Liste des groupes d'un acheteur
supplier_name param. Voir le chapitre ENCODAGE
supplier_nationalId param.
supplier_postalCode param.
supplier_vatNumber param.


PATH

https://api.provigis.com/api/buyers/1802268668390802575/foreign


PARAMETERS

oauth_consumer_key=6jvpqdbnd3eosm5j8j5ci7sw9wxk91&oauth_nonce=a001528a781c45db88e46cef57dd3ca8&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1570004829&oauth_token=gkus0xawu77ksrlyjgww5zpcrzfx6z&oauth_version=1.0&supplier_address1=36%20long%20street&supplier_address2=&supplier_city=My%20Town&supplier_contact_cellphone=%2B33%20%281%29%2023%2045%2067%2089&supplier_contact_civility=M&supplier_contact_email=test1570004829%40yopmail.com&supplier_contact_firstname=firstname&supplier_contact_function=function&supplier_contact_lastname=lastname&supplier_contact_phone=%2B33%20%281%29%2023%2045%2067%2089&supplier_country=GB&supplier_custom_code=45678907&supplier_dunsNumber=201910021025&supplier_name=My%20COMPANY&supplier_nationalId=201910021025&supplier_postalCode=12345&supplier_vatNumber=GB201910021025


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668391119571%2Fforeign&oauth_consumer_key%3D6jvpqdbnd3eosm5j8j5ci7sw9wxk91%26oauth_nonce%3Da001528a781c45db88e46cef57dd3ca8%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1570004829%26oauth_token%3Dgkus0xawu77ksrlyjgww5zpcrzfx6z%26oauth_version%3D1.0%26supplier_address1%3D36%2520long%2520street%26supplier_address2%3D%26supplier_city%3DMy%2520Town%26supplier_contact_cellphone%3D%252B33%2520%25281%2529%252023%252045%252067%252089%26supplier_contact_civility%3DM%26supplier_contact_email%3Dtest1570004829%2540yopmail.com%26supplier_contact_firstname%3Dfirstname%26supplier_contact_function%3Dfunction%26supplier_contact_lastname%3Dlastname%26supplier_contact_phone%3D%252B33%2520%25281%2529%252023%252045%252067%252089%26supplier_country%3DGB%26supplier_custom_code%3D45678907%26supplier_dunsNumber%3D201910021025%26supplier_name%3DMy%2520COMPANY%26supplier_nationalId%3D201910021025%26supplier_postalCode%3D12345%26supplier_vatNumber%3DGB201910021025


SIGNATURE (avant encodage/encodée pour la requête)
kI6fYSRa1em5g2BFueunymdb/fI= / kI6fYSRa1em5g2BFueunymdb%2FfI%3D


CODE SUCCES

Code HTTP Champ de retour Code de retour Message
200 success 20 Supplier created and attached
200 success 21 Supplier attached
200 success 22 Supplier already attached
200 contact_status 00 No contact provided
200 contact_status 20 Contact properly assigned
200 contact_status 50 Invalid email, no contact assigned
200 contact_status 59 Error on contact, no contact assigned
200 groups_status 00 No group provided
200 groups_status 20 Groups properly assigned
200 groups_status 50 One or more invalid group_id, no group assigned
200 groups_status 59 Error on groups, no group assigned
200 custom_code_status 00 No custom code provided
200 custom_code_status 20 Custom code properly assigned
200 custom_code_status 59 Error on custom code, no custom code assigned

CODE ERREUR

Code HTTP Champ de retour Code erreur Message
412 error 50 Invalid fields : supplier_name
POST
/buyers/{buyer_id}/foreign

Exemple de requête

https://api.provigis.com/api/buyers/1802268668391119571/foreign?oauth_consumer_key=6jvpqdbnd3eosm5j8j5ci7sw9wxk91&oauth_nonce=a001528a781c45db88e46cef57dd3ca8&oauth_signature=kI6fYSRa1em5g2BFueunymdb%2FfI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1570004829&oauth_token=gkus0xawu77ksrlyjgww5zpcrzfx6z&oauth_version=1.0&supplier_address1=36 long street&supplier_address2=&supplier_city=My Town&supplier_contact_cellphone=%2B33%20%281%29%2023%2045%2067%2089&supplier_contact_civility=M&supplier_contact_email=test1570004829@yopmail.com&supplier_contact_firstname=firstname&supplier_contact_function=function&supplier_contact_lastname=lastname&supplier_contact_phone=%2B33%20%281%29%2023%2045%2067%2089&supplier_country=GB&supplier_custom_code=45678907&supplier_dunsNumber=201910021025&supplier_name=My%20COMPANY&supplier_nationalId=201910021025&supplier_postalCode=12345&supplier_vatNumber=GB201910021025

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/foreign?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=d14c3d8ec9f04309bfdb9b032f8651bd&oauth_signature=3Gqj523CihPTZZbz79Xy68vn2II%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657643496&oauth_token=2mdqjwpk6cg05b67mfjoi5j49gqzbj&oauth_version=1.0&supplier_address1=&supplier_address2=&supplier_city=&supplier_contact_cellphone=%2B33%20%281%29%2023%2045%2067%2089&supplier_contact_civility=M&supplier_contact_email=test1657643496@yopmail.com&supplier_contact_firstname=firstname&supplier_contact_function=function&supplier_contact_lastname=lastname&supplier_contact_phone=%2B33%20%281%29%2023%2045%2067%2089&supplier_country=DE&supplier_custom_code=&supplier_dunsNumber=1657643496&supplier_groups=&supplier_name=Test 3.5.3&supplier_nationalId=1657643496&supplier_postalCode=&supplier_vatNumber=DE1657643496' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-raw ''

Exemple de réponse JSON

{
            "success":{
                "code":"20",
                "message":"Supplier created and attached"
            },
            "contact_status":{
                "code":"20",
                "message":"Contact properly assigned"
            },
            "groups_status":{
                "code":"20",
                "message":"Groups properly assigned"
            },
            "custom_code_status":{
                "code":"20",
                "message":"Custom code properly assigned"
            },
            "supplier":{
                "id":"2582268789390827456",
                "name": "company",
                "siret": "",
                "enseigne": null,
                "address": "2 long street",
                "postal_code": "12345",
                "city": "London",
                "country": "Royaume-Unis",
                "nationalId": "201910021025",
                "vatNumber": "GB201910021025",
                "dunsNumber": "201910021025"
            }
        }

Obtenir le statut des fournisseurs


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
custom_code param. permet de filtrer le résultat sur un code fournisseur renseigné pendant l'inscription par WS ou depuis le front PROVIGIS. Ne peut être envoyé vide
level param. 1 1, 2 ou 3. Par défaut, le niveau le plus élevé autorisé sur la licence
max param. 50 par défaut, max = 50, 50 maximum.
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
offset param. 0 Par défaut, offset = 0 (premiers x fournisseurs ou x correspond à max)
version param. 1 ou 2


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/


PARAMETERS

level=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&offset=0&version=1


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F&level%3D1%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dd950049c09e64f3383e807dca1e810b6%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538990520%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
D67VQdmRLc6+vWPK9XiDQa2hUpA= / D67VQdmRLc6%2BvWPK9XiDQa2hUpA%3D


PAGINATION
totalCount indique le nombre total de fournisseurs suivis par le buyer_id.

Si max n'est pas envoyé dans la requête avec une valeur personnalisée, par défaut, 50 fournisseurs sont retournés par page (fournisseur 0 à, 49). Pour obtenir l'ensemble des fournisseurs suivis, il faut paginer en prenant en compte, le totalCount, la valeur de max, et en déduire le nombre d'appels nécessaire avec la valeur offset. Si 65 fournisseurs suivis, il me faudra un appel avec offset = 50 pour avoir les fournisseurs de 50 à 67.


Le niveau 1 contient les informations identitaires du fournisseur et son statut global (tenant compte des documents légaux et des documents complémentaires) correspondant à la pastille affichée à gauche du fournisseur en front office.

alt text


Le niveau 2 retournera en plus du niveau 1 :

  • le noeud groups qui liste les groupes de fournisseurs auxquels il appartient
  • le noeud notdiligent qui indique si le fournisseur n'a pas mis à jour ses documents depuis plus de 90 jours. Si la valeur est true, vous aurez alors la clé notdiligentstart qui contiendra la date depuis laquelle le fournisseur est non-diligent.
  • le noeud documents qui contient le nom, le statut et la date de validité de chacun des documents
  • le noeud pool qui contient l'id et le nom des pools de fournisseurs auxquels il appartient


Le niveau 3 retournera en plus du niveau 2 :

  • les liens de téléchargement des documents
  • L'id du document
  • la date de document (date de début de validité)
  • la date de la dernière mise à jour

le lien de téléchargement des documents n'est pas un lien public. Il doit suivre les processus d'authentification pour obtenir le document


4 statuts de fournisseurs sont possibles :

  • À jour verified, le fournisseur est à jour sur ses documents
  • À jour à vérifier to_verify, au moins un document n'a pas été vérifié
  • À mettre à jour invalid, au moins un document est manquant ou invalide
  • Fermé offline, l'établissement a cessé son activité


Chaque document peut avoir 4 statuts :

  • À jour up_to_date, le document est à jour et vérifié
  • À jour à vérifier to_verify, le document n'a pas été vérifié
  • À mettre à jour to_update, le document est périmé ou invalide
  • Manquant missing, aucun document n'a jamais été uploadé


Si vous souhaitez obtenir les data des réponses à un questionnaire, il faudra utiliser le niveau 3 afin d'obtenir le pollId. Si un questionnaire est actif sur un document, vous aurez une clé booléenne isPoll avec la valeur true, et son pollId. Ces clés peuvent à ce jour apparaître sur des documents du noeud sectors et specifics. Voir le chapitre Télécharger les réponses d'un questionnaire. Les questionnaires peuvent être à la main du client (buyer) ou de PROVIGIS. Les questionnaires gérés par PROVIGIS seront dans le noeud sectors et ceux gérés par le client seront dans le noeud specifics.


CODE ERREUR

Code HTTP Code erreur Message
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
412 4021 Invalid parameter level
412 4122 Unknown level
GET
/buyers/{buyer_id}/suppliers

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/?level=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature=D67VQdmRLc6%2BvWPK9XiDQa2hUpA%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&version=1

Exemple de code d'appel niveau 1 - version 1

curl --location --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/?level=1&max=50&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=411d58bbe08a4ed4980d3d7a19e94789&oauth_signature=ZM%2Fo4hQWqUonD3wCrTi8vwSfGH8%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657703337&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0&offset=0&version=1' \
--header 'Accept: application/json' 

Exemple de réponse JSON niveau 1 - Version 1

{
    "status": true,
    "totalCount": 3,
    "offset": 0,
    "suppliers": {
        "1503616476676884415": {
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "to_verify",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "A",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société anonyme à conseil d'administration",
            "custom_code": "12345678",
            "country": "FR",
            "nationalId": "",
            "seal": {
                "icon": "https://api.provigis.com/api/assets/ws/certified.png",
                "validity": "2018-12-01"
            }
        },
        "1802268668391153239": {
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "invalid",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "41414",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société par actions simplifiée",
            "custom_code": "",
            "country": "FR",
            "nationalId": "FR50431960251"
        }
    }
}

Exemple de réponse JSON niveau 1 - Version 2

{
    "status": true,
    "totalCount": 3,
    "offset": 0,
    "suppliers": {
       "supplier_1": {
            "id": 1503616476676884415,
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "to_verify",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "A",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société anonyme à conseil d'administration",
            "custom_code": "12345678",
            "country": "FR",
            "nationalId": "",
            "seal": {
                "icon": "https://api.provigis.com/api/assets/ws/certified.png",
                "validity": "2018-12-01"
            }
       },     
       "supplier_2": {     
            "id": 1234567891234567891,
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "invalid",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "ZONE ARTISANALE ET CCIALE",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société à responsabilité limitée (SARL)",
            "custom_code": "",
            "country": "FR",
            "nationalId": "FR42422040220"
        },
        "supplier_3": {     
            "id": 1234567891234567891,
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "invalid",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "41414",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société par actions simplifiée",
            "custom_code": "",
            "country": "FR",
            "nationalId": "FR50431960251"
        }
    }
}

Exemple de réponse JSON niveau 2

{
    "status": true,
    "totalCount": 3,
    "offset": 0,
    "suppliers": {
        "1503616476676884415": {
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "to_verify",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "A",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société anonyme à conseil d'administration",
            "custom_code": "12345678",
            "country": "FR",
            "nationalId": "",
            "pool": {
                "id": "149",
                "name": "Legal"
            },
            "seal": {
                "icon": "https://api.provigis.com/api/assets/ws/certified.png",
                "validity": "2018-12-01",
                "downloadLink": "https://api.provigis.com/api/download/seal/1798933"
            },
            "groups": [],
            "notdiligent": "false",
            "documents": {
                "legal": [
                    {
                        "name": "Kbis",
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "id": 710647,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1785"
                    },
                    {
                        "name": "Attestation Urssaf",
                        "type": "urssaf",
                        "receipt": null,
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "id": 90237,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1786"
                    },
                    {
                        "name": "LNTE",
                        "status": "up_to_date",
                        "validity": "2018-12-14",
                        "date": "2018-06-14",
                        "id": 302679,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1787"
                    }
                ],
                "sectors": [
                    {
                        "codeNaf": null,
                        "name": "Certificats complémentaires",
                        "docs": [
                            {
                                "name": "Assurance RCP",
                                "status": "to_verify",
                                "validity": "2019-05-31",
                                "date": "2018-06-01",
                                "id": 267065
                                "lastUpdated": "2018-06-14",
                                "downloadLink": "https://api.provigis.com/api/download/1792",
                                "isPoll": true,
                                "pollId": 7
                            }
                        ]
                    }
                ],
                "contracts": [],
                "specifics": [
                    {
                        "name": "Certicat ISO",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    },
                    {
                        "name": "Charte Achats Responsables",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    }
                ]
            }
        }
    }
}         

Exemple de réponse JSON niveau 3

{
    "status": true,
    "totalCount": 3,
    "offset": 0,
    "suppliers": {
        "1503616476676884415": {
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "to_verify",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "A",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société anonyme à conseil d'administration",
            "custom_code": "12345678",
            "country": "FR",
            "nationalId": "",
            "seal": {
                "icon": "https://api.provigis.com/api/assets/ws/certified.png",
                "validity": "2018-12-01",
                "downloadLink": "https://api.provigis.com/api/download/seal/1798933"
            },
            "groups": [],
            "notdiligent": "false",
            "documents": {
                "legal": [
                    {
                        "name": "Kbis",
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "id": 710647,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1785"
                    },
                    {
                        "name": "Attestation Urssaf",
                        "type": "urssaf",
                        "receipt": null,
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "id": 90237,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1786"
                    },
                    {
                        "name": "LNTE",
                        "status": "up_to_date",
                        "validity": "2018-12-14",
                        "date": "2018-06-14",
                        "id": 302679,
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1787"
                    }
                ],
                "sectors": [
                    {
                        "codeNaf": null,
                        "name": "Certificats complémentaires",
                        "docs": [
                            {
                                "name": "Assurance RCP",
                                "status": "to_verify",
                                "validity": "2019-05-31",
                                "date": "2018-06-01",
                                "id": 267065
                                "lastUpdated": "2018-06-14",
                                "downloadLink": "https://api.provigis.com/api/download/1792",
                                "isPoll": true,
                                "pollId": 7
                            }
                        ]
                    }
                ],
                "contracts": [],
                "specifics": [
                    {
                        "name": "Certicat ISO",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    },
                    {
                        "name": "Charte Achats Responsables",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    }
                ]
            }
        }
    }
}         

Obtenir le statut d'un fournisseur

Pour une description détaillée des statuts de document et des noeuds, voir la section précédente.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id long provigis ou siret
level param. 1, 2 ou 3. Par défaut, le niveau le plus élevé autorisé sur la licence
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
version param. 1 ou 2

si des fournisseurs étrangers sont suivis, il faudra impérativement utiliser l'id long provigis (siret inexistant dans ce cas).


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=b3087d6ce28c4f558ac3158ecfc25578&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538991919&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&version=1


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1503616476676884415&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Db3087d6ce28c4f558ac3158ecfc25578%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538991919%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
muUeCUFpmdY1PxoCe3vW+NlSJbQ= / muUeCUFpmdY1PxoCe3vW%2BNlSJbQ%3D


Les informations retournées suivent les mêmes règles que pour le statut de plusieurs fournisseurs par page, mais pour un fournisseur unique. Voir le chapitre Obtenir le statut des fournisseurs pour la description des données obtenues.


CODE ERREUR

Code HTTP Code erreur Message
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
412 4021 Invalid parameter level
412 4122 Unknown level
GET
/buyers/{buyer_id}/suppliers/{supplier_id}

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=b3087d6ce28c4f558ac3158ecfc25578&oauth_signature=muUeCUFpmdY1PxoCe3vW%2BNlSJbQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538991919&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0&version=1

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/1234567891234567891?level=1&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=62aafa271bc64b92ac944ab5e1f49de7&oauth_signature=24odvQbdMKBw3FHDidNleqKEOno%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657698226&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0' \
--header 'Accept: application/json' 

Exemple de réponse JSON niveau 1 - Version 1

{
    "status": true,
    "suppliers": {
        "1503616476676884415": {
            "name": "PROVIGIS",
            "siret": "43196025100079",
            "status": "to_verify",
            "address": "1 PRV DE LA DEFENSE",
            "additional_address": "A",
            "postal_code": "92800",
            "city": "PUTEAUX",
            "intercommunityVAT": "FR50431960251",
            "legal_form": "Société anonyme à conseil d'administration",
            "custom_code": "12345678",
            "country": "FR",
            "nationalId": "",
            "seal": {
                "icon": "https://api.provigis.com/api/assets/ws/certified.png",
                "validity": "2018-12-01",
                "downloadLink": "https://api.provigis.com/api/download/seal/1798933"
            },
            "groups": [],
            "notdiligent": "false",
            "documents": {
                "legal": [
                    {
                        "name": "Kbis",
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1785"
                    },
                    {
                        "name": "Attestation Urssaf",
                        "type": "urssaf",
                        "receipt": null,
                        "status": "up_to_date",
                        "validity": "2018-12-01",
                        "date": "2018-06-01",
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1786"
                    },
                    {
                        "name": "LNTE",
                        "status": "up_to_date",
                        "validity": "2018-12-14",
                        "date": "2018-06-14",
                        "lastUpdated": "2018-06-14",
                        "downloadLink": "https://api.provigis.com/api/download/1787"
                    }
                ],
                "sectors": [
                    {
                        "codeNaf": null,
                        "name": "Certificats complémentaires",
                        "docs": [
                            {
                                "name": "Assurance RCP",
                                "status": "to_verify",
                                "validity": "2019-05-31",
                                "date": "2018-06-01",
                                "lastUpdated": "2018-06-14",
                                "downloadLink": "https://api.provigis.com/api/download/1792",
                                "isPoll": true,
                                "pollId": 7
                            }
                        ]
                    }
                ],
                "contracts": [],
                "specifics": [
                    {
                        "name": "Certicat ISO",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    },
                    {
                        "name": "Charte Achats Responsables",
                        "mandatory": true,
                        "status": "missing",
                        "date": null,
                        "lastUpdated": null
                    }
                ]
            }
        }
    }
}

Télécharger un document


Paramètres d'url

Nom Type Valeur Description
id_doc path 1450707 obtenu dans la réponse du statut de fournisseur(s)
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/download/1129274


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=e83d83d695a84b48bff597b4264d05a1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538992378&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fdownload%2F1129274&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3De83d83d695a84b48bff597b4264d05a1%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538992378%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Ddtuz3hc+mvoMORru1eMNmDw3cI= / Ddtuz3hc%2BmvoMORru1eMNmDw3cI%3D


CODE ERREUR

Code HTTP Code erreur Message
401 XXXX You cannot download this file
412 4200 Invalid parameter ID
GET
/download/{id_doc}

Exemple de requête

https://api.provigis.com/api/download/1129274?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=e83d83d695a84b48bff597b4264d05a1&oauth_signature=Ddtuz3hc%2BmvoMORru1eMNmDw3cI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538992378&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/download/{{varIdDoc}}?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e4dff0c7f59e4580987d0f2dc271f0bb&oauth_signature=IM2T6oayct3wyCUM59s%2FQNJrXx0%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657698589&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0' \
--header 'Accept: application/json' 

Télécharger les réponses d'un questionnaire

Ce web service permet d'obtenir les data des réponses d'un fournisseur sur un questionnaire. Pour utiliser ce web service, il vous faudra le pollId du document concerné retourné dans le statut du/des fournisseur(s). Voir le chapitre Obtenir le statut des fournisseurs.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path 1384089486745874233 id long PROVIGIS
poll_id path 14507 obtenu dans la réponse du statut de fournisseur(s)
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


Les questionnaires peuvent être à la main du client (buyer) ou de PROVIGIS. Il faut prendre en compte qu'ils peuvent évoluer : ajout de nouvelle question, modification d'une question, ... Pour les questions existantes, la clé questionId peut vous permettre de garder la liaison même si le texte de la question est modifiée. La réponse est contenu dans la clé answer. La clé isValid confirmera que la valeur répondue suit les règles de contrôle automatique (numéro de téléphone, structure d'un email, ...). La clé required indique si la réponse est obligatoire ou non. Un questionnaire sera valide si l'ensemble des questions requises sont complétées.

Ce web service retourne, avec la clé pollStatus, le statut du questionnaire. Il ne retourne pas le statut global du questionnaire quand il y a un questionnaire et un upload de document associé. Cette information reste disponible dans le statut du fournisseur et de ses documents.


Les questionnaires PROVIGIS peuvent recevoir des scores pour les questions type OUI/NON ou choix dans une liste. S'il y a des scores définis, le score global du fournisseur pour le questionnaire concerné est retourné avec la clé score qu'il est possible de comparer avec la clé maxScore. Ces clés sont reprises ensuite pour chaque question.


PATH

https://api.provigis.com/api/buyers/1802268668390802468/suppliers/1802268668390820848/poll/7


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=e83d83d695a84b48bff597b4264d05a1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538992378&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802468%2Fsuppliers%2F1802268668390820848%2Fpoll%2F7&oauth_consumer_key%3Dy2hp18s9bbi86do6id2rv75sfy9isf%26oauth_nonce%3D1962bf6995a948b79aeea5122b25cf35%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1584348318%26oauth_token%3D7615jw0cszy8mrppy6jutxc08rm6sd%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
LJMPfbm9mOfQlBEaroBoqA+hBc8= / LJMPfbm9mOfQlBEaroBoqA%2BhBc8%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
400 4312 Poll id is empty
400 4313 Poll not found for this supplier
401 4131 Unauthorized email WS non activé sur la licence
412 4120 Unauthorized SIRET or ID Etablissement fournisseur FERMÉ. Réponses non retournées dans ce cas
GET
/buyers/{buyer_id}/suppliers/{supplier_id}/poll/{poll_id}

Exemple de requête

GET https://api.provigis.com/api/buyers/1802268668390802468/suppliers/1802268668390820848/poll/7?oauth_consumer_key=y2hp18s9bbi86do6id2rv75sfy9isf&oauth_nonce=1962bf6995a948b79aeea5122b25cf35&oauth_signature=LJMPfbm9mOfQlBEaroBoqA%2BhBc8%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1584348318&oauth_token=7615jw0cszy8mrppy6jutxc08rm6sd&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers//poll/{{pollId}}?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e9ac6c4cb23b48c7bef072f799d8f382&oauth_signature=zcMeI9AUAyLbQGNMjCKLVKOIaes%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657704157&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0' \
--header 'Accept: application/json' 

Exemple de réponse JSON

{
    "supplierId": 1234567891234567891,
    "supplierName": "PROVIGIS",
    "pollId": 7,
    "entitled": "Assurance RCP",
    "pollStatus": "UP_TO_DATE",
    "pollItems": [
        {
            "question": "Nom de votre assureur",
            "questionId": 2442,
            "required": false,
            "answer": "ASSUREUR",
            "isValid": true
        },
        {
            "question": "Numéro de contrat",
            "questionId": 2443,
            "required": false,
            "answer": "1234567890",
            "isValid": true
        },
        {
            "question": "Montant de garantie",
            "questionId": 2444,
            "required": false,
            "answer": " Jusque 1 000 000€",
            "isValid": true
        },
        {
            "question": "Activités couvertes",
            "questionId": 2445,
            "required": false,
            "answer": "Démolition en tout genre",
            "isValid": true
        }
    ]
}

Exemple de réponse JSON avec des scores

{
    "supplierId": 1234567891234567891,
    "supplierName": "PROVIGIS",
    "pollId": 826,
    "entitled": "test specifiques questionnaire",
    "pollStatus": "UP_TO_DATE",
    "score": 4.2,
    "maxScore": 6.5,
    "pollItems": [
        {
            "question": "t'es sur ?",
            "questionId": 2503,
            "required": true,
            "answer": "Oui",
            "isValid": true,
            "score": 2.2,
            "maxScore": 3.5
        },
        {
            "question": "test list avec score",
            "questionId": 2506,
            "required": true,
            "answer": "beaucoup",
            "isValid": true,
            "score": 2,
            "maxScore": 3
        }
    ]
}

Ajouter un référent

Un référent est un contact privilégié entre le fournisseur et le compte acheteur. Un référent deviendra un utilisateur de l'établissement fournisseur dans lequel il est ajouté. Si son email existe déjà dans PROVIGIS, une liaison comme référent sera créée, mais vos données de nom, prenom, téléphone, ... ne seront pas prises en compte. Dès qu'il existe dans PROVIGIS, l'utilisateur est le seul à pouvoir modifier ces informations de contact.

Vous pouvez ajouter plusieurs référents par fournisseur.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path
cellphone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE
civility param. 0 0 (Mr), 1 (Mme), 2 (Mlle)
email param.
firstname param. Voir le chapitre ENCODAGE
lastname param. Voir le chapitre ENCODAGE
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
phone param. le +, les espaces et les parenthèses sont acceptés, pas les points. Voir le chapitre ENCODAGE


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891/referents/


PARAMETERS

cellphone=%2B33%20%286%29%2023%2045%2067%2089&civility=0&email=testwspvgreferent1539006200%40yopmail.com&firstname=firstname&lastname=lastname&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=4731bb94d8914642acafbe62ae149dfc&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539006200&oauth_token=6j8501ss71j4r80s5swsg9hc46hpwy&oauth_version=1.0&phone=%2B33%20%286%29%2023%2045%2067%2089


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1234567891234567891%2Freferents%2F&cellphone%3D%252B33%2520%25286%2529%252023%252045%252067%252089%26civility%3D0%26email%3Dtestwspvgreferent1539006200%2540yopmail.com%26firstname%3Dfirstname%26lastname%3Dlastname%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D4731bb94d8914642acafbe62ae149dfc%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539006200%26oauth_token%3D6j8501ss71j4r80s5swsg9hc46hpwy%26oauth_version%3D1.0%26phone%3D%252B33%2520%25286%2529%252023%252045%252067%252089


SIGNATURE (avant encodage/encodée pour la requête)
j9MneMuS1oj2Z7sgELzR1U39zhI= / j9MneMuS1oj2Z7sgELzR1U39zhI=%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
412 4131 Unauthorized email WS non activé sur la licence
412 4120 Unauthorized Siret or ID
412 4203 A parameter is missing
412 4204 A parameter is incorrect
POST
/buyers/{buyer_id}/suppliers/{supplier_id}/referents/

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891/referents/?cellphone=%2B33%20%286%29%2023%2045%2067%2089&civility=0&email=testwspvgreferent1539006200@yopmail.com&firstname=firstname&lastname=lastname&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=4731bb94d8914642acafbe62ae149dfc&oauth_signature=j9MneMuS1oj2Z7sgELzR1U39zhI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539006200&oauth_token=6j8501ss71j4r80s5swsg9hc46hpwy&oauth_version=1.0&phone=%2B33%20%286%29%2023%2045%2067%2089

Exemple de code d'appel

curl --location -g --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/{{varNewSupplierId}}/referents/?cellphone=06.78-90 12%2F28&civility=1&email=test1657704295@yopmail.com&firstname=firstname&lastname=lastname&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=11379d52fb3744bfb2217af55d6b4d5b&oauth_signature=egvCOiJFV12OM7o8irVCJKbD8VA%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657704295&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0&phone=06.78-90 12%2F28' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded ; charset=UTF-8' 

Exemple de réponse JSON

{
    "id": 358344
}

Obtenir la liste des référents d'un fournisseur

Les administrateurs de l'établissement sont informés de la création d'un référent et peuvent en ajouter d'autres ou supprimer celui que vous avez envoyé. Ce Web Service vous permet de voir l'état des référents sur ce fournisseur, ainsi que leurs informations de contact mis-à-jour.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id long provigis
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891/referents/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=647e956bb60b4f13b582fd5868bae970&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539161847&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1234567891234567891%2Freferents%2F&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D647e956bb60b4f13b582fd5868bae970%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539161847%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
fSNOuZr1Sd2HeOQxlqu5+WUU0Wk= / fSNOuZr1Sd2HeOQxlqu5%2BWUU0Wk%3D


CODE ERREUR

Code HTTP Code erreur Message
412 4019 Invalid parameter Siret or ID
GET
/buyers/{buyer_id}/suppliers/{supplier_id}/referents

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891/referents/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=647e956bb60b4f13b582fd5868bae970&oauth_signature=fSNOuZr1Sd2HeOQxlqu5%2BWUU0Wk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539161847&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/{{varNewSupplierId}}/referents/?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=40fa20e5e4a44435986d5a3c74cbe1c0&oauth_signature=g4pqrsL%2Bus9R7qZhlyFbsSJB5tE%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657705894&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0' \
--header 'Accept: application/json' 

Exemple de réponse JSON

{
    "supplier": {
        "id": "1802268668391153239",
        "siret": "43196025100079",
        "name": "PROVIGIS"
    },
    "referrers": [
        {
            "email": "testwspvgreferent1535376943@yopmail.com",
            "civility": 0,
            "firstname": "Testws",
            "lastname": "Referentws",
            "function": null,
            "phone": "",
            "cellphone": ""
        }
    ]
}

Supprimer un fournisseur

La suppression d'un fournisseur supprime la liaison entre l'acheteur et le fournisseur.


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id long provigis
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=400cd5a7b5cf4cc981b355a83fce364e&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539162075&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

DELETE&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1234567891234567891&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D400cd5a7b5cf4cc981b355a83fce364e%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539162075%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
tjTp4h4K3Qf1KgKQBhKIIRpU6cQ= / tjTp4h4K3Qf1KgKQBhKIIRpU6cQ%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
401 4120 Unauthorized Siret or ID
401 4131 Unauthorized email WS non activé sur la licence
DELETE
/buyers/{buyer_id}/suppliers/{supplier_id}

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1234567891234567891?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=400cd5a7b5cf4cc981b355a83fce364e&oauth_signature=tjTp4h4K3Qf1KgKQBhKIIRpU6cQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539162075&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request DELETE 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/{{varNewSupplierId}}?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e5f6af2d4b764eeca76a77ef7b118636&oauth_signature=WkijIbM8%2FkjlQ2fs9OTw98kaakk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657706065&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{}

Gestion des documents

Obtenir les informations d'un document


Paramètres d'url

Nom Type Valeur Description
document_id path 15736657 id du document a afficher
custom_code param. permet de filtrer le résultat sur un code fournisseur renseigné pendant l'inscription par WS ou depuis le front PROVIGIS. Ne peut être envoyé vide
level param. 1 1, 2 ou 3. Par défaut, le niveau le plus élevé autorisé sur la licence
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/document/15736657/


PARAMETERS

level=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fdocument%2F15736657%2F&level%3D1%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dd950049c09e64f3383e807dca1e810b6%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538990520%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Eeepd1YpO9p7tiuX3AYI04yoBIk= / Eeepd1YpO9p7tiuX3AYI04yoBIk%3D


DESCRIPTION


Le niveau 1 retourne :

  • le noeud name qui est le nom du document.
  • le noeud status qui présente le status du document.
  • le noeud validity qui présente la date de validité du document.


Le niveau 2 retournera en plus du niveau 1 :

  • le noeud date qui présente la date permettant de calculer l endValidity.
  • le noeud id qui présente l'id du document.
  • le noeud lastUpdated qui présente la date d'import du document.


Le niveau 3 retournera en plus du niveau 2 :

  • la piste d'audit avec la date de validation du document et la personne qui l'a validé.


Chaque document peut avoir 4 statuts :

  • À jour up_to_date, le document est à jour et vérifié
  • À jour à vérifier to_verify, le document n'a pas été vérifié
  • À mettre à jour to_update, le document est périmé ou invalide
  • Manquant missing, aucun document n'a jamais été uploadé


CODE ERREUR

Code HTTP Code erreur Message
412 4021 Invalid parameter level
412 4122 Unknown level
GET
/document/{document_id}

Exemple de requête

https://api.provigis.com/api/document/15736657/?level=1&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature=Eeepd1YpO9p7tiuX3AYI04yoBIk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/document/{{document_id}}/?level=1&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=6041a7350c0644f1a875f3d9a399cb43&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1658137501&oauth_token=t3b2x09uoow0mtqj3tdji1a8l256p6&oauth_signature=HxwtBuV2GP%2FwJ2kl8317DSHsJq4%3D&oauth_version=1.0'

Exemple de réponse JSON niveau 1

{
    "name": "LNTE",
    "status": "up_to_date",
    "validity": "2022-09-11"
}

Exemple de réponse JSON niveau 2

{
    "name": "LNTE",
    "status": "up_to_date",
    "validity": "2022-09-11",
    "date": "2022-03-11",
    "id": 123456789,
    "lastUpdated": "2022-03-11"
}

Exemple de réponse JSON niveau 3

{
    "name": "LNTE",
    "status": "up_to_date",
    "validity": "2022-09-11",
    "date": "2022-03-11",
    "id": 123456,
    "lastUpdated": "2022-03-11",
    "piste_audit": {
        "date_validation": "2022-03-11",
        "validated_by": null
    }
}

Gestion des pools

Obtenir la liste des pools d'un acheteur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
custom_code param. permet de filtrer le résultat sur un code fournisseur renseigné pendant l'inscription par WS ou depuis le front PROVIGIS. Ne peut être envoyé vide
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/pools/1234567891234567891/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fpools%2F1234567891234567891%2F&
%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dd950049c09e64f3383e807dca1e810b6%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538990520%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Eeepd1YpO9p7tiuX3AYI04yoBIk= / Eeepd1YpO9p7tiuX3AYI04yoBIk%3D


DESCRIPTION


Cette api permet de retourner la liste des pools d'un acheteur :

  • le noeud id présente l'id du pool.
  • le noeud name présente le nom du pool.


CODE ERREUR

Code HTTP Code erreur Message
412 4208 The system encountered an error while processing the request
412 4314 buyer id is empty
GET
/pools/{buyer_id}

Exemple de requête

https://api.provigis.com/api/pools/1234567891234567891/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature=Eeepd1YpO9p7tiuX3AYI04yoBIk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/pools/1234567891234567891/?&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=db49b75376e64c2a8ea04fe0760ddf44&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1658136465&oauth_token=t3b2x09uoow0mtqj3tdji1a8l256p6&oauth_signature=Gx68LZmW5H7MPyUmnEjhzZrZ0Sc%3D &oauth_version=1.0' \
--header 'Cookie: headers : {}'

Exemple de réponse JSON

[
    {
        "id": "123",
        "name": "Vigilance"
    },
    {
        "id": "321",
        "name": "pool_FR"
    }
]

Obtenir la liste des fournisseurs d'un pool d'un acheteur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
pool_id path 401 id PROVIGIS d'un pool d'un acheteur fourni avec la licence, ou obtenu depuis le WS /pool
custom_code param. permet de filtrer le résultat sur un code fournisseur renseigné pendant l'inscription par WS ou depuis le front PROVIGIS. Ne peut être envoyé vide
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/pools/1234567891234567891/suppliers/401/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fpools%2F1234567891234567891%2Fsuppliers%2F401%2F&
%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dd950049c09e64f3383e807dca1e810b6%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1538990520%26oauth_token%3Ddq88566b9nnkr39q92cabksg1g2vy2%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Eeepd1YpO9p7tiuX3AYI04yoBIk= / Eeepd1YpO9p7tiuX3AYI04yoBIk%3D


DESCRIPTION


Cette api permet de retourner la liste des fournisseurs dans un pool d'un acheteur :

  • le noeud id présente l'id du fournisseur.
  • le noeud name présente la raison sociale du fournisseur.


CODE ERREUR

Code HTTP Code erreur Message
412 4312 Poll id is empty
412 4314 buyer id is empty
GET
/pools/{buyer_id}/suppliers/{pool_id}

Exemple de requête

https://api.provigis.com/api/pools/1234567891234567891/suppliers/401/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=d950049c09e64f3383e807dca1e810b6&oauth_signature=Eeepd1YpO9p7tiuX3AYI04yoBIk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1538990520&oauth_token=dq88566b9nnkr39q92cabksg1g2vy2&oauth_version=1.0

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/pools/1234567891234567891/suppliers/{{pool_id}}/?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e0b684de7adf4ce18d09db82f8a463a1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1658137062&oauth_token=t3b2x09uoow0mtqj3tdji1a8l256p6&oauth_signature=t9Xs6RO1QXflpJu6TzWiLoQFPCg%3D&oauth_version=1.0' \
--header 'Cookie: headers : {}'

Exemple de réponse JSON

{
    "Suppliers": [
        {
            "id": "1234567891234567891",
            "name": "ENTREPRISE PROVIGIS"
        },
        {
            "id": "1234567891234567892",
            "name": "PROVIGIS"
        }
    ]
}

Historique des événements fournisseurs

Attention: pour obtenir les événements des fournisseurs d'un compte acheteur, vous devez obligatoirement renseigner :

  • buyer_id (dans le cas d'un compte PROVIGIS standard)
  • OU distributor_id, OU integratedbuyer_id, OU integratedbuyer_external_id (dans le cadre d'un compte PROVIGIS DISTRIBUTEUR)


Paramètres d'url

Nom Type Valeur Description
buyer_id param. 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
distributor_id param. 1234567891234567891 id PROVIGIS d'un distributeur ou un sous distributeur
include_emails param. 0 ou 1 1 par défaut, 0 pour ne pas recevoir les événements emails
include_globals param. 0 ou 1 1 par défaut, 0 pour ne pas recevoir les événements globaux
include_phoning param. 0 ou 1 1 par défaut, 0 pour ne pas recevoir les événements téléphoniques
integratedbuyer_external_id param. code de l'acheteur intégré (cas de compte distributeur)
integratedbuyer_id param. 1234567891234567891 id PROVIGIS de l'acheteur intégré (cas de compte distributeur)
level param. 1 ou 2 1 par défaut, 2 pour avoir aussi les événements téléphoniques
max param. par défaut, max = 50, 50 maximum.
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
offset param. Par défaut, offset = 0 (premiers x fournisseurs ou x correspond à max)


PATH

https://api.provigis.com/api/event/history


PARAMETERS

buyer_id=1802268668390802575&include_emails=1&include_globals=1&include_phoning=1&level=2&max=50&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=c9c8662f01a442f6b5024075cae61f10&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539166402&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&offset=0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fevent%2Fhistory&buyer_id%3D1802268668390802575%26include_emails%3D1%26include_globals%3D1%26include_phoning%3D1%26level%3D2%26max%3D50%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Dc9c8662f01a442f6b5024075cae61f10%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539166402%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0%26offset%3D0


SIGNATURE (avant encodage/encodée pour la requête)
Ep5ctsWXxUX1hDFSzLd6/bnDS8c= / Ep5ctsWXxUX1hDFSzLd6%2FbnDS8c%3D


CODE ERREUR

Code HTTP Code erreur Message
412 4305 distributor_id or buyer_id is required
412 4308 integratedbuyer_id or integratedbuyer_external_id is required
412 4309 Integrated buyer not found
412 4311 Given selection is empty
GET
/event/history

URL d'appel

https://api.provigis.com/api/event/history?buyer_id=1802268668390802575&include_emails=1&include_globals=1&include_phoning=1&level=2&max=50&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=c9c8662f01a442f6b5024075cae61f10&oauth_signature=Ep5ctsWXxUX1hDFSzLd6%2FbnDS8c%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539166402&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&offset=0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/event/history?buyer_id=1234567891234567891&include_emails=1&include_globals=1&include_phoning=1&level=2&max=50&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=b27cb3cbf927412892c305d04aeebbdf&oauth_signature=IRiXKG3Bl35SQvxI80lHeMovCMg%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657706274&oauth_token=crkecqsbuepser4tyd1wdi4gv1yoqk&oauth_version=1.0&offset=0' \
--header 'Accept: application/json' 

Exemples de réponse JSON

{
    "buyer_id": 1234567891234567891,
    "pagination": {
        "offset": 0,
        "max": 2,
        "total": 20
    },
    "suppliers": [
        {
            "supplier": {
                "id": 1234567891234567891,
                "name": "SUPPLIER SOCIETE",
                "siret": "43196025100079",
                "globals": [
                    {
                        "event": {
                            "date": "2016-01-10T01:31:32Z",
                            "name": "Expiration d'un document : Attestation Urssaf",
                            "type": "expiration"
                        }
                    },
                    {
                        "event": {
                            "date": "2016-01-10T01:31:32Z",
                            "name": "Expiration d'un document : Kbis",
                            "type": "expiration"
                        }
                    }
                ],
                "emails": [
                    {
                        "event": {
                            "date": "2016-01-10T01:31:35Z",
                            "name": "Notification d'expiration d'un document",
                            "type": "email",
                            "total_receivers": 2,
                            "referent_receivers": [
                                {
                                    "contact": {
                                        "email": "contact1@mail.fr"
                                    }
                                }
                            ],
                            "count_other_receivers": 1
                        }
                    },
                    {
                        "event": {
                            "date": "2016-01-10T01:31:35Z",
                            "name": "Notification d'expiration d'un document",
                            "type": "email",
                            "total_receivers": 2,
                            "referent_receivers": [
                                {
                                    "contact": {
                                        "email": "contact1@mail.fr"
                                    }
                                }
                            ],
                            "count_other_receivers": 1
                        }
                    }
                ],
                "phoning": [
                    {
                        "event": {
                            "date": "2016-04-14T13:39:07Z",
                            "name": "Relance téléphonique",
                            "type": "téléphonique",
                            "user_joined": "mr dupont",
                            "cibled_update_date": "23/04/2016",
                            "compliance_department_presented": true,
                            "compliance_department_refused": false,
                            "invalid_message": "Données de contact manquantes ou erronées",
                            "comment": ""
                        }
                    }
                ]
            }
        },
        {
            "supplier": {
                "id": 1234567891234567891,
                "name": "SUPPLIER SOCIETE 2",
                "siret": "43196025100079",
                "globals": [],
                "emails": [],
                "phoning": []
            }
        }
    ]
}

Groupes de fournisseurs

La gestion des groupes dans PROVIGIS permet de filtrer les fournisseurs mais aussi de ne collecter certains documents que si le fournisseur fait partie d'un groupe. Dans ce cas, il aura plus de documents à fournir qu'un fournisseur ne faisant pas partie d'un groupe.

Les documents supplémentaires feront automatiquement partie de la réponse de statut de fournisseur.

La création des groupes ne peut se faire que par les administrateurs du compte acheteur, depuis l'interface PROVIGIS

Obtenir la liste des groupes d'un acheteur

Ce Web service vous permet d'obtenir la liste des groupes ainsi que tous les fournisseurs en faisant partie.

le Web Service de statut de fournisseur contient lui pour chaque fournisseur, les groupes auxquels il appartient dans le noeud groups


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/groups


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=f0ebc54e13d14754b7663c081e05b221&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539172409&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

GET&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fgroups&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Df0ebc54e13d14754b7663c081e05b221%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539172409%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
qfkxr54uXSCuWfGmpPIt249a+ak= / qfkxr54uXSCuWfGmpPIt249a%2Bak%3DD


CODE ERREUR

Code HTTP Code erreur Message Raison
401 4131 Unauthorized email WS non activé sur la licence
GET
/buyers/{buyer_id}/groups

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/groups?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=f0ebc54e13d14754b7663c081e05b221&oauth_signature=qfkxr54uXSCuWfGmpPIt249a%2Bak%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539172409&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location --request GET 'https://api.provigis.com/api/buyers/1234567891234567891/groups?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e4383831acc84a758188fdce84d98152&oauth_signature=u%2Bs8zKC%2FjjLPai1G6JQc0X6Ha8w%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657707707&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json'

Exemple de réponse JSON

[
    {
        "id": 1234,
        "name": "groupe #1",
        "suppliers": [
        	{
                "id": "1234567891234567891",
                "name": "Fournisseur 1"
            }
        ],
        "documents": []
    },
    {
        "id": 4321,
        "name": "groupe #2",
        "suppliers": [],
        "documents": [
            {
                "id": 123,
                "name": "Attestation sur l’honneur"
            }
        ]
    },
    {
        "id": 4321,
        "name": "groupe #3",
        "suppliers": [],
        "documents": []
    }
]

Ajouter un fournisseur existant dans un groupe

Ce Web service vous permet d'ajouter un fournisseur existant dans le compte du buyer_id dans un groupe existant dans le même compte.

ce Web Service retournera une erreur si vous tentez d'ajouter un fournisseur fermé (HORS LIGNE) dans un groupe.


Paramètres d'url

Nom Type Valeur Description
group_id path
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
supplier_id param. ID provigis du fournisseur


PATH

https://api.provigis.com/api/groups/1/suppliers/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=3b4d968c18b94e89ab1f53c8a8339c30&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539172889&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fgroups%2F1%2Fsuppliers%2F&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D3b4d968c18b94e89ab1f53c8a8339c30%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539172889%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0%26supplier_id%3D1503616476676884415


SIGNATURE (avant encodage/encodée pour la requête)
VIgWlkj2utrgLUr2H/UBY0PV2NY= / VIgWlkj2utrgLUr2H%2FUBY0PV2NY%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
412 4119 Unknown group
401 4131 Unauthorized email WS non activé sur la licence
POST
/groups/{group_id}/suppliers/

Exemple de requête

https://api.provigis.com/api/groups/1/suppliers/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=3b4d968c18b94e89ab1f53c8a8339c30&oauth_signature=VIgWlkj2utrgLUr2H%2FUBY0PV2NY%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539172889&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/groups/327/suppliers/?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e84faa1736af4a4ba53a21fd8a60454c&oauth_signature=Lr4sBcTMJZKqmCoUsgN%2Bt%2BLjN50%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657708557&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0&supplier_id=1234567891234567891' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "success": true
}

Supprimer un fournisseur d'un groupe


Paramètres d'url

Nom Type Valeur Description
group_id path
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
supplier_id param. ID provigis du fournisseur


PATH

https://api.provigis.com/api/groups/1/suppliers/


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=1ca53103a0e6482ab92810308a3dcc5d&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539173203&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415


BASE STRING

DELETE&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fgroups%2F1%2Fsuppliers%2F&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D1ca53103a0e6482ab92810308a3dcc5d%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539173203%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0%26supplier_id%3D1503616476676884415


SIGNATURE (avant encodage/encodée pour la requête)
Xw5AkpJMpwO9R5ZMUBchN5zIFmQ= / Xw5AkpJMpwO9R5ZMUBchN5zIFmQ%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
412 4119 Unknown group
401 4131 Unauthorized email WS non activé sur la licence
DELETE
/groups/{group_id}/suppliers

URL d'appel

https://api.provigis.com/api/groups/1/suppliers/?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=1ca53103a0e6482ab92810308a3dcc5d&oauth_signature=Xw5AkpJMpwO9R5ZMUBchN5zIFmQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539173203&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415

Exemple de code d'appel

curl --location --request DELETE 'https://api.provigis.com/api/groups/327/suppliers?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e53522d526e943419c06410af869ce7b&oauth_signature=Vlsnyp2xaSOuZnAZSOL1n3ox2dc%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657711204&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0&supplier_id=1234567891234567891' \
--header 'Accept: application/json' \
--data-raw ''

Example response JSON

{}

Gestion des contrats

La notion de contrat permet de collecter des documents dans le cadre d'un contrat, d'une prestation encadrée par un intitulé, une référence, une date de début et une date de fin provisionnelle.

La configuration des documents collectés par contrat se fait depuis le front office de PROVIGIS. Chaque contrat créé depuis l'API collectera l'ensemble des documents définis en front office.

Chaque contrat, et le statut des documents associés, apparaîtront dans le noeud documents contractsdu statut de fournisseur. Il y aura tous les contrats de ce fournisseur. Un document collecté par contrat est unique. Si le fournisseur a 5 contrat, il doit mettre à jour 5 fois les documents.

{
    "status": true,
    "suppliers": {
        "1324059441812734844": {
            ...

            "documents": {
                    }
                "legal": [
                    {
                        ...
                    }
                ],
                "sectors": [
                    {
                        ...
                    }
                ],
                "contracts": [
                    {
                        "contractId": 43,
                        "contractReference": "20200904-0001",
                        "buyerContact": "contact",
                        "buyerDepartment": "REF",
                        "dateCreated": "2020-09-04",
                        "dateStart": "2020-09-01",
                        "dateEnd": "2020-12-31",
                        "entitled": "nom du contrat",
                        "documents": [
                            {
                                "name": "Travailleurs étrangers",
                                "status": "up_to_date",
                                "validity": "2021-05-04",
                                "date": "2020-11-04",
                                "lastUpdated": "2020-11-04",
                                "downloadLink": "https://api.provigis.com/api/download/5377681"
                            },
                            {
                                "name": "Détachement de salariés",
                                "status": "up_to_date",
                                "validity": "2021-09-10",
                                "date": "2020-09-10",
                                "lastUpdated": "2020-11-04",
                                "downloadLink": "https://api.provigis.com/api/download/5398921"
                            },
                            {
                                "name": "Récépissé de transport de déchets non dangereux",
                                "status": "missing",
                                "date": null,
                                "lastUpdated": null
                            }
                        ]
                    },
                ],
                "specifics": [
                    {
                        ...
                    }
                ]
            }
         }
     }
}

Ajouter un contrat fournisseur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id PROVIGIS du fournisseur
allowBranchView param. 1 ou 0 1 = autoriser les filiales à voir le contrat
caller param. opérationnel suivant ce contrat
date_end param. 2018-12-31 date de fin prévisionnelle au format aaaa-mm-jj
date_start param. 2016-01-01 date de début du contrat au format aaaa-mm-jj
entiteld param. intitulé du contrat
entity param. entité de l'opérationnel suivant ce contrat
number param. numéro du contrat (ce n'est pas l'id PVG du contrat)
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts


PARAMETERS

allowBranchView=0&caller=Caller%20name&dateEnd=2018-12-31&dateStart=2016-01-01&entitled=test%20contrat%20via%20WS&entity=DSI&number=TEST123456&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=8e23c8d16f11472a831fef271373c5c6&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539174589&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1503616476676884415%2Fcontracts&allowBranchView%3D0%26caller%3DCaller%2520name%26dateEnd%3D2018-12-31%26dateStart%3D2016-01-01%26entitled%3Dtest%2520contrat%2520via%2520WS%26entity%3DDSI%26number%3DTEST123456%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D8e23c8d16f11472a831fef271373c5c6%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539174589%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
o6kQfmxMUEyju4bsmh6UEAkRfUA= / o6kQfmxMUEyju4bsmh6UEAkRfUA%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
412 4019 Invalid parameter Siret or ID
412 4131 Unauthorized email WS non activé sur la licence
412 4120 Unauthorized Siret or ID
412 4203 A parameter is missing
412 4204 A parameter is incorrect
412 4205 The starting date must precede the ending date
POST
/buyers/{buyer_id}/suppliers/{supplier_id}/contracts

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts?allowBranchView=0&caller=Caller name&dateEnd=2018-12-31&dateStart=2016-01-01&entitled=test contrat via WS&entity=DSI&number=TEST123456&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=8e23c8d16f11472a831fef271373c5c6&oauth_signature=o6kQfmxMUEyju4bsmh6UEAkRfUA%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539174589&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/1234567891234567891/contracts?allowBranchView=0&caller=Caller name&dateEnd=2020-10-31&dateStart=2020-01-01&entitled=test contrat 1657714425&entity=DSI&number=V3.5.3&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=f9987b888a4d465188b99063dfa8236c&oauth_signature=8d1PFRw0Jokhwqn8UjbfvlzmJYw%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657714425&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "id": 123456789
}

Modifier un contrat fournisseur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id PROVIGIS du fournisseur
contract_id path id PROVIGIS du contrat
allowBranchView param. 1 ou 0 1 = autoriser les filiales à voir le contrat
caller param. opérationnel suivant ce contrat
date_end param. 2019-12-31 date de fin prévisionnelle au format aaaa-mm-jj
date_start param. 2016-01-01 date de début du contrat au format aaaa-mm-jj
entiteld param. intitulé du contrat
entity param. entité de l'opérationnel suivant ce contrat
number param. numéro du contrat
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts/2236354


PARAMETERS

allowBranchView=0&caller=Caller%20name&dateEnd=2019-12-31&dateStart=2016-01-01&entitled=test%20contrat%20via%20WS%20-%20updated&entity=DSI&number=TEST123456&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=b4b1769718b34e059aa39816093b487f&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539174852&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

PUT&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1503616476676884415%2Fcontracts%2F2236354&allowBranchView%3D0%26caller%3DCaller%2520name%26dateEnd%3D2019-12-31%26dateStart%3D2016-01-01%26entitled%3Dtest%2520contrat%2520via%2520WS%2520-%2520updated%26entity%3DDSI%26number%3DTEST123456%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3Db4b1769718b34e059aa39816093b487f%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539174852%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
o5Mw125gMU08Lpv86zcPzawr5Xk= / o5Mw125gMU08Lpv86zcPzawr5Xk%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
412 4019 Invalid parameter Siret or ID
412 4131 Unauthorized email WS non activé sur la licence
412 4120 Unauthorized Siret or ID
412 4203 A parameter is missing
412 4204 A parameter is incorrect
412 4205 The starting date must precede the ending date
PUT
/buyers/{buyer_id}/suppliers/{supplier_id}/contracts/{contract_id}

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts/2236354?allowBranchView=0&caller=Caller%20name&dateEnd=2019-12-31&dateStart=2016-01-01&entitled=test%20contrat%20via%20WS%20-%20updated&entity=DSI&number=TEST123456&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=b4b1769718b34e059aa39816093b487f&oauth_signature=o5Mw125gMU08Lpv86zcPzawr5Xk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539174852&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location --request PUT 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/1234567891234567891/contracts/28567?allowBranchView=0&caller=Caller name&dateEnd=2020-12-31&dateStart=2020-01-01&entitled=test modif contrat via WS&entity=DSI&number=TEST123456-updated&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=15c76de6700844a8a058da94a2dc048d&oauth_signature=R0f8b9hnZB2JZFGckeT4i3XsxE8%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657714536&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "id": 123456789
}

Supprimer un contrat fournisseur


Paramètres d'url

Nom Type Valeur Description
buyer_id path 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
supplier_id path id PROVIGIS du fournisseur
contract_id path id PROVIGIS du contrat
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculer à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0


PATH

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts/2236354


PARAMETERS

oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=60455995e9804542b176edbf291c490a&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539175102&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0


BASE STRING

DELETE&https%3A%2F%2Fapi.provigis.com%2Fapi%2Fbuyers%2F1802268668390802575%2Fsuppliers%2F1503616476676884415%2Fcontracts%2F2236354&oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3D60455995e9804542b176edbf291c490a%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539175102%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0


SIGNATURE (avant encodage/encodée pour la requête)
Qrasz/09cki5kNPFbcz83QgWT44= / Qrasz%2F09cki5kNPFbcz83QgWT44%3D


CODE ERREUR

Code HTTP Code erreur Message Raison
400 4208 The system encountered an error while processing the request
412 4019 Invalid parameter Siret or ID
412 4131 Unauthorized email WS non activé sur la licence
412 4120 Unauthorized Siret or ID
412 4203 A parameter is missing
412 4204 A parameter is incorrect
412 4205 The starting date must precede the ending date
DELETE
/buyers/{buyer_id}/suppliers/{supplier_id}/contracts/{contract_id}

Exemple de requête

https://api.provigis.com/api/buyers/1802268668390802575/suppliers/1503616476676884415/contracts/2236354?oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=60455995e9804542b176edbf291c490a&oauth_signature=Qrasz%2F09cki5kNPFbcz83QgWT44%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539175102&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0

Exemple de code d'appel

curl --location --request DELETE 'https://api.provigis.com/api/buyers/1234567891234567891/suppliers/1234567891234567891/contracts/28567?oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=729d03e261e6438c9d182a2e115cc88a&oauth_signature=fY7RfAqaB7gxCVb3nGG%2FypM0FcI%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657714722&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{}

Demande de mise à jour prioritaire


Paramètres d'url

Nom Type Valeur Description
oauth_consumer_key param. Fourni avec la licence PROVIGIS
oauth_nonce param. à calculer à chaque appel
oauth_signature param. calculée à partir de la basestring et de la partie secrète
oauth_signature_method param. HMAC-SHA1
oauth_timestamp param. à calculer à chaque appel
oauth_token param. reçu en réponse du accessToken
oauth_version param. 1.0
buyer_id param. 1234567891234567891 id PROVIGIS de l'acheteur fourni avec la licence, ou obtenu depuis le WS /group
ou distributor_id param. 1234567891234567891 id PROVIGIS d'un distributeur ou un sous distributeur
si distributor_id, renseigner integratedbuyer_id param. 1234567891234567891 id PROVIGIS de l'acheteur intégré (cas de compte distributeur)
ou integratedbuyer_external_id param. code de l'acheteur intégré (cas de compte distributeur)
supplier_id param. 1234567891234567891 id PROVIGIS du fournisseur
contact param. Liste des contacts supplémentaires à notifier en plus des référents et des administrateurs. Séparé par des ";"
text param. texte à envoyer à la place du texte par défaut


PATH

https://api.provigis.com/api/reminder/priority


PARAMETERS

buyer_id=1802268668390802575&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=e5991724b79143aaa89a719ab5a0a7ac&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539185110&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415


BASE STRING

POST&https%3A%2F%2Fapi.provigis.com%2Fapi%2Freminder%2Fpriority&buyer_id%3D1802268668390802575%26oauth_consumer_key%3D5vupsib35ce8ltcnpwg08vlsr4yt79%26oauth_nonce%3De5991724b79143aaa89a719ab5a0a7ac%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1539185110%26oauth_token%3Dho8zix0oqe4gves8fw6bo4jk0e7fpb%26oauth_version%3D1.0%26supplier_id%3D1503616476676884415


SIGNATURE (avant encodage/encodée pour la requête)
Jbvtt5NjqcYdCbBe/XluG4Me9hk= / Jbvtt5NjqcYdCbBe%2FXluG4Me9hk%3D


CODE ERREUR

Code HTTP Code erreur Message
412 4305 distributor_id or buyer_id is required
412 4306 supplier_id is required
412 4307 Given supplier not found
412 4308 integratedbuyer_id or integratedbuyer_external_id is required
412 4309 Integrated buyer not found
412 4310 Maximum reminder reached for this supplier

Texte standard de la demande prioritaire alt text

Un maximum de 3 relances est autorisé tant qu'au moins un des utilisateurs du fournisseur concerné ne s'est pas connecté. Cette action remet le compteur à zéro et de nouvelles demandes prioritaires.

POST
/reminder/priority

Exemple de requête

https://api.provigis.com/api/reminder/priority?buyer_id=1802268668390802575&oauth_consumer_key=5vupsib35ce8ltcnpwg08vlsr4yt79&oauth_nonce=e5991724b79143aaa89a719ab5a0a7ac&oauth_signature=Jbvtt5NjqcYdCbBe%2FXluG4Me9hk%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1539185110&oauth_token=ho8zix0oqe4gves8fw6bo4jk0e7fpb&oauth_version=1.0&supplier_id=1503616476676884415

Exemple de requête avec texte personnalisé

https://api.provigis.com/api/reminder/priority?buyer_id=1802268668391240211&supplier_id=1802268668390809478&text=Mon texte personnalisé de relance \n Avec retour à la ligne&contacts=contact.additionnel@yopmail.com&oauth_consumer_key=0wdtedb2z4pcrxt5k3zs8vls0dca6k&oauth_token=aba7axshkrnkiyixch6745xczs04d9&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535968879&oauth_nonce=5ab5579c362b4955b9754a7b10d1ca9e&oauth_version=1.0&oauth_signature=2HkK/lzqPsS88CSANTskffTynkU=

Exemple de code d'appel

curl --location --request POST 'https://api.provigis.com/api/reminder/priority?buyer_id=1234567891234567891&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=08cef62538144345b89f5e9d8bb0b43e&oauth_signature=rYHjxSllNfaVnfy0GfS1FcASRos%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657715188&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0&supplier_id=1234567891234567891' \
--header 'Accept: application/json' \
--data-raw ''

Exemple de réponse JSON

{
    "text": "Le message de la relance",
    "subject": "Demande prioritaire de mise à jour sur Provigis (Rappel) par DO",
    "contacts": [
        {
            "contact": {
                "email": "mycontact1@mail.com"
            }
        },
        {
            "contact": {
                "email": "mycontact2@mail.com"
            }
        },
        {
            "contact": {
                "email": "mycontact3@mail.com"
            }
        }
    ]
}

Exemple de réponse JSON après 3 relances

{
    "code": "4310",
    "error": "Maximum reminder reached for this supplier"
}

Distributeur de la solution PROVIGIS

Dans PROVIGIS, les fournisseurs sont suivis par un ACHETEUR, un client qui dans le cadre d'un service définie les documents qu'il souhaite collecter auprès de ses fournisseurs. L'ACHETEUR est le client de PROVIGIS. Il souscrit en son nom une offre de service, et ajoute ses fournisseurs.

Dans le cadre d'un compte DISTRIBUTEUR, le client de PROVIGIS est un compte qui ne peut pas suivre de fournisseurs. Mais le DISTRIBUTEUR peut créer des ACHETEURS INTEGRES, qui eux pourront suivre des fournisseurs. Les ACHETEURS INTEGRES n'ont pas de contrat avec PROVIGIS.

ACHETEUR INTEGRES et collecte

Par défaut, chaque fournisseur présent dans PROVIGIS doit fournir les documents légaux faisant partie de l'obligation de vigilance. Un ACHETEUR, peut ensuite sélectionner d'autres documents complémentaires ou collecter des documents spécifiques. Ce périmètre est défini dans le cadre des options souscrites au contrat avec PROVIGIS.

Pour un ACHETEUR INTEGRE, ce sera le DISTRIBUTEUR qui pourra définir le périmètre de la collecte de document. La collecte est définie au niveau du DISTRIBUTEUR ou des SOUS DISTRIBUTEURS, et sera héritée par tous les ACHETEURS INTEGRES qui y sont liés.

les documents spécifiques et la gestion des contrats ne sont pas encore disponibles dans un compte DISTRIBUTEUR

Gestion et paramétrages

PROVIGIS crée le compte DISTRIBUTEUR. Le DISTRIBUTEUR pourra créer des SOUS DISTRIBUTEURS, et définir la collecte pour chacun d'eux. Ces actions se font depuis l'application PROVIGIS uniquement.

La création des ACHETEURS INTEGRES et l'ajout de fournisseurs dans ces comptes se fait uniquement par WebService. Les Web Services ci-après permettent de créer/supprimer ces acheteurs intégrés, et de lister l'organigramme du compte (Sous distributeurs, acheteurs intégrés, fournisseurs).

Pour la gestion de fournisseurs, les Web Services pourront être utilisés.

Organigramme distributeur


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_nonce à calculer à chaque appel
oauth_signature calculée à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du accessToken
oauth_version 1.0
distributor_id 1234567891234567891 id PROVIGIS d'un distributeur ou un sous distributeur
level Niveau d'interrogation (1 pour les distributeurs, 2 pour les acheteurs intégrés, 3 pour les fournisseurs). Par défaut = 1
GET
/distributors/{distributor_id}

URL d'appel

https://api.provigis.com/api/distributors/1802268668391242337?level=1&oauth_consumer_key=v8aqua5f0oao0mroudkd44b45q3a5f&oauth_token=aakaqon30ni8fku6ei8a6rr4g9ppio&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535983516&oauth_nonce=50f39aa81693446ca0447e699baa9efd&oauth_version=1.0&oauth_signature=aiELi5hfdVCPX46i8bj8WzPFOyk=

Exemple de code d'appel

curl --location -g --request GET 'https://api.provigis.com/api/distributors/{{distributor_id}}?level=3&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=e44ed9f0243b4c6a92a060f7d6c86764&oauth_signature=DAAKfQ2Vx9CgqRs%2FM%2FDbfG6P%2BI8%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657715444&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json'

Exemples de réponse JSON

{
    "distributor": {
        "id": "1234567891234567891",
        "name": "Distributeur WS Tests",
        "distributors": [
            {
                "distributor": {
                    "id": "1234567891234567891",
                    "name": "distrib#1",
                    "distributors": [],
                    "integratedbuyers": [
                        {
                            "integratedbuyer": {
                                "id": "1234567891234567891",
                                "external_id": "201809031645",
                                "name": "acheteur 2",
                                "suppliers": [
                                    {
                                        "supplier": {
                                            "id": "1234567891234567891",
                                            "siret": "43196025100079",
                                            "name": "PROVIGIS"
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ],
        "integratedbuyers": [
            {
                "integratedbuyer": {
                    "id": "1802268668391242340",
                    "external_id": "201809031634",
                    "name": "acheteur 1",
                    "suppliers": [
                        {
                            "supplier": {
                                "id": "1802268668391153239",
                                "siret": "43196025100079",
                                "name": "PROVIGIS"
                            }
                        }
                    ]
                }
            }
        ]
    }
}

Ajouter un acheteur intégré


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_nonce à calculer à chaque appel
oauth_signature calculée à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du accessToken
oauth_version 1.0
distributor_id 1234567891234567891 id PROVIGIS d'un distributeur ou un sous distributeur
integratedbuyer_name
integratedbuyer_external_id
integratedbuyer_siret
integratedbuyer_create_supplier
integratedbuyer_attach_supplier
POST
/distributors/{distributor_id}/integrated_buyer

URL d'appel

    https://api.provigis.com/api/distributors/1802268668391242337/integrated_buyer/?integratedbuyer_external_id=201809031634&integratedbuyer_name=acheteur 1&oauth_consumer_key=v8aqua5f0oao0mroudkd44b45q3a5f&oauth_token=aakaqon30ni8fku6ei8a6rr4g9ppio&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535985312&oauth_nonce=263adb18e432474f87786afbdd268e1d&oauth_version=1.0&oauth_signature=7/grMfqxGGp2L9qz3kOnSxjoGVk=

Exemple de code d'appel

curl --location -g --request POST 'https://api.provigis.com/api/distributors/{{distributor_id}}/integrated_buyer/?integratedbuyer_external_id=1657715722&integratedbuyer_name=acheteur 3.5.3&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=8b6c34707f984883ba256464027834b1&oauth_signature=YjMjumqOnM1ljb9fX6xd4VdfC%2Fo%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657715722&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemples de réponse JSON

{
    "action": "SETUP",
    "id": "1802268668391242339",
    "external_id": "201809031634",
    "name": "acheteur 1"
}

Supprimer un acheteur intégré


Paramètres d'url

Nom Valeur Description
oauth_consumer_key Fourni avec la licence PROVIGIS
oauth_nonce à calculer à chaque appel
oauth_signature calculée à partir de la basestring et de la partie secrète
oauth_signature_method HMAC-SHA1
oauth_timestamp à calculer à chaque appel
oauth_token reçu en réponse du accessToken
oauth_version 1.0
distributor_id 1234567891234567891 id PROVIGIS d'un distributeur ou un sous distributeur
integratedbuyer_id
ou integratedbuyer_external_id
DELETE
/distributors/{distributor_id}/integrated_buyer

URL d'appel

https://api.provigis.com/api/distributors/1802268668391242337/integrated_buyer?integratedbuyer_id=1802268668391242339&oauth_consumer_key=v8aqua5f0oao0mroudkd44b45q3a5f&oauth_token=aakaqon30ni8fku6ei8a6rr4g9ppio&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1535985579&oauth_nonce=482ea81847b14ff2829894eebde50a97&oauth_version=1.0&oauth_signature=iOJmk9V5CVeea/LK7DvQ8iqqbRc=

Exemple de code d'appel

curl --location -g --request DELETE 'https://api.provigis.com/api/distributors/{{distributor_id}}/integrated_buyer?integratedbuyer_id={{varVirtualBuyerId}}&oauth_consumer_key=niahxrw2gxkww8tczj5c1logd20jso&oauth_nonce=63b446fac40343ed9b98a66f4588e28f&oauth_signature=yXnTcBoTleTqbzNiksQC8YzFxcQ%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1657715921&oauth_token=cmd0onm16n7kog8kjkynips0g3f5qg&oauth_version=1.0' \
--header 'Accept: application/json' \
--data-raw ''

Exemples de réponse JSON

{
    "action": "DELETE",
    "id": 1802268668391242339,
    "external_id": "201809031634",
    "name": "acheteur 1"
}

Utilisateur des ressources standards

Gestion des fournisseurs

Dans les web Services de gestion des fournisseurs le buyer_id sera remplacé par le integretedbuyer_id. Cet ID est retourné en réponse à la création d'un acheteur intégré.

Valable pour :

  • ajout de fournisseur
  • ajout de fournisseur étrangers
  • statut de x fournisseurs
  • statut d'un fournisseur
  • ajout d'un référent
  • liste des référents
  • suppression d'un fournisseur

le téléchargement du document, si le fournisseur est attaché à un acheteur intégré, est autorisé sans changement dans l'appel.

Gestion des groupes de fournisseurs

Dans les web Services de gestion des fournisseurs le buyer_id sera remplacé par le integretedbuyer_id. Cet ID est retourné en réponse à la création d'un acheteur intégré.

Valable pour :

  • liste des groupes

ajouter un fournisseur dans un groupe et supprimer un fournisseur d'un groupe sont autorisés sans changement dans l'appel tant qu'on associe un fournisseur dans un groupe du même acheteur intégré.


Historique des mises à jour

  • Juillet 2022, V1.3.3 : Ajout de la version 2 pour le statut des fournisseurs, ajout de la gestion des documents et de la gestion des pools.
  • Juin 2021, V1.3.2 : Ajout d'un code erreur dans la récupération des réponses d'un questionnaire.
  • Novembre 2020, V1.3.1 : Modification sur la gestion des contrats
  • Octobre 2020, V1.3 : Nouvelle charte graphique; description du Web Service d'ajout de fournisseur avec DUNS/PAYS comme clés
  • Juin 2020, V1.2.1 : Correction d'une erreur sur le token à utiliser sur l'appel aux ressources
  • Mars 2020, V1.2 : Cas des questionnaires avec scores
  • Mars 2020, V1.1 : Nouveau web service de téléchargement des réponses à un questionnaire ; modification du niveau 3 du web service de statut de fournisseur(s) ; code erreur dans chaque WS au lieu d'une page dédiée.
  • Décembre 2019, V1.0.6 : Correction sur une incohérence de statut de documents.
  • Octobre 2019, V1.0.5 : Mise en cohérence du WebService d'ajout de fournisseurs étrangers avec les évolutions front : possibilité d'ajouter 3 clés d'identifications (dunsNumber et/ou vatNumber et/ou nationalId), et de ne pas indiquer adresse, code postal et ville (seront complétés par le fournisseur). En réponse de l'inscription d'un fournisseur étrangers, les clés éventuellement existantes seront retournées. Ajout de la date de démarrage de l'état non-diligent. Ces éléments seront disponibles en production à partir de début novembre 2019. Précisions apportées sur les groupes pendant l'inscription de fournisseur.
  • Avril 2019, V1.0.4 : Précision sur l'évolution de la collecte de documents par contrat apparues le 20 avril dans PROVIGIS, et le statut de fournisseur.
  • Février 2019, V1.0.3 : Précision sur l'ajout d'un fournisseur fermé dans un groupe.
  • Octobre 2018, V1.0.2 : Création d'une section "IMPORTANT: Encodage" pour préciser le cas de certains caractères; ajout d'exemple de calcul de signature dans les appels WS; précision du type de paramètres pour chaque WS et ordre alphabétique des paramètres pour éviter les confusions.
  • Septembre 2018 : Nouveau format de la documentation technique de l'API PROVIGIS
  • Juin 2018 : Ajout du nouveau web service pour obtenir la liste des référents d'un fournisseurs
  • Avril 2018 : Ajout de la gestion des fournisseurs étrangers et donc ajout des clés country, nationalId dans le noeud des données identitaires des fournisseurs; ajout de la date de document et donc une nouvelle clé date dans chaque noeud de type de document (nécessite le niveau 3 du statut de fournisseur(s)); ajout de l'envoi du numéro de téléphone portable dans le contact référent.
Afficher les exemples de réponse en :
Documentation API PROVIGIS