Refuser une facture
L'API refuser une facture permet aux utilisateurs de l'OD de refuser une facture en provenance d'une PDP ou du PPF
Pré-requis
- Posséder un compte OD
- Avoir créé une connexion PDP ou PPF
- Avoir reçu une facture d'achat et récupéré son identifiant
- La propriété statutOd de la facture a la valeur RECUE
Requête
Pour refuser une facture d'achat, on fait une requête PATCH sur le chemin d'accès suivant:
v1/achats/factures/<identifiant facture>
On doit passer:
- L'identifiant utilisateur de l'OD dans l'en-tête X-OD-User-ID
- Le contenu du patch au format JSON Patch dans le corps de la requête
Le contenu du patch doit affecter:
- La valeur REFUSEE à la propriété statutOd
- Un code motifs de refus à la propriété motifRefus/codeMotif
- Optionnellement une chaîne de caractères non-vide à la propriété motifRefus/libelle
Par exemple:
- cURL
- Typescript
Requête de refus d'une facture d'achat
curl \
-X PATCH \
-H 'X-OD-User-ID: ${userId}' \
-H 'Content-Type: application/json-patch+json; charset=utf-8' \
-d @refus-facture.json \
http://<host>:<port>/v1/achats/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373
Requête de refus d'une facture d'achat
const url = 'http://<host>:<port>/v1/achats/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373'
const data = fs.readFileSync('refus-facture.json');
const response: AxiosResponse = await axios.patch(url, data, {
headers: {
'X-OD-User-ID': userId,
'Content-Type': 'application/json-patch+json; charset=utf-8',
}
});
Fichier refus-facture.json
[
{
"op": "replace",
"path": "/statutOd",
"value": "REFUSEE"
},
{
"op": "add",
"path": "/motifRefus",
"value": {
"codeMotif": "MONTANT_ERR",
"libelle": "Montant de la facture erroné"
}
}
]
Paramètres du patch
| Path | Valeur | Requis |
|---|---|---|
| /statutOd | REFUSEE | Oui |
| /value/codeMotif | Code motifs de refus | Oui |
| /value/libelle | Libellé du motif. La valeur par défaut est dans motifs de refus | Non |
Réponse
Si le changement de statut a réussi, la réponse de l'OD est 204 No Content
Erreurs
Si une erreur s'est produite, les codes et messages suivants peuvent être retournés:
| Code | Message |
|---|---|
| 400 Bad Request | Requête invalide - Voir messages d'erreur |
| 401 Unauthorized | Informations d'authentification invalides |
| 403 Forbidden | Droits insuffisants pour effectuer cette action |
| 404 Not Found | La facture n'a pas été trouvée |
| 409 Conflict | La propriété statutOd de la facture n'a pas la valeur RECUE |
Impact
- La propriété statutOd de la facture a maintenant la valeur REFUSEE
- La propriété motifRefus/code de la facture contient un code motifs de refus
- La propriété motifRefus/libelle de la facture contient le libellé du motif fourni dans la requête ou celui par défaut
- Le refus de la facture a été transmis à la PDP choisie par l'utilisateur ou au PPF