Aller au contenu

Créer des approvisionnements

POST /procurements

Crée un ou plusieurs approvisionnements. Chaque approvisionnement reçoit un identifiant unique (uniqueProcurementID) qui ne peut pas être réutilisé.

ParamètreTypeDéfautDescription
validationOnlyboolfalseSi true, valide sans persister
ChampTypeMaxDescription
activityCodestring3Code activité
activityNamestring30Libellé de l’activité
uniqueProcurementIDstring50Identifiant unique. Format : ^(?!.*\s)[A-Z0-9_\-.#/\\]+$ (pas d’espaces)
expectedReceiptDateDateTimeDate de réception attendue
procurementEntriesProcurementEntry[]Lignes de l’approvisionnement (au moins une)
ChampTypeMaxRequisDescription
supplierCodestring14ConditionnelCode fournisseur. Obligatoire si config.CheckSupplier est activé
supplierNamestring80NonNom du fournisseur
supplierOrderNumberDOstring30NonNuméro de commande fournisseur chez le DO
ChampTypeMaxRequisDescription
ownerCodestring3NonCode propriétaire
procurementTypeCodestring3NonCode type d’approvisionnement
procurementGroupstring14NonIdentifiant de groupe
procurementGroupDescriptionstring80NonDescription du groupe
ChampTypeMaxDescription
customField1, customField2string200Texte libre
customField3 à customField8string256Texte libre

ChampTypeMaxDescription
lineIDstring10Numéro de ligne (doit être > “0”)
articleReferencestring17Référence article. Doit exister dans le référentiel (erreur 211)
expectedQuantityintQuantité attendue. Doit être > 0 (erreur 202)
ChampTypeMaxDescription
supplierOrderNumberDOstring30Numéro de commande fournisseur
receptionUnitOfMeasurestring3Unité de mesure de réception
articlePriceAtReceptionintPrix de l’article à la réception
expectedLotNumberstring50Numéro de lot attendu
announcedArticleDateDateTimeDate annoncée de l’article
articleShippingDeadlineDateTimeDate limite d’expédition de l’article
articlePCBintPCB de l’article
articleSPCBintSPCB de l’article
lineMessagestring30Message de ligne
gradeCodestring3Code qualité stock
secondaryLotNumberstring20Numéro de lot secondaire
tertiaryLotNumberstring20Numéro de lot tertiaire
reservationConsigneeCodestring13Code destinataire de réservation. Exclusif avec les deux champs ci-dessous. Doit exister (erreur 217)
reservationConsigneeGroupCodestring15Code groupe destinataire de réservation. Exclusif avec reservationConsigneeCode et proReservationReference
proReservationReferencestring20Référence de réservation PRO. Exclusif avec reservationConsigneeCode et reservationConsigneeGroupCode
customField1, customField2string200Champs personnalisés
customField3 à customField8string256Champs personnalisés
  • activityCode, activityName, uniqueProcurementID, expectedReceiptDate, procurementEntries
  • uniqueProcurementID : ^(?!.*\s)[A-Z0-9_\-.#/\\]+$ — pas d’espaces
  • uniqueProcurementID ne doit pas déjà exister en base (erreur 203)
  • Pas de doublons d’uniqueProcurementID dans un même envoi (erreur 205)
  • Un seul des champs reservationConsigneeCode, reservationConsigneeGroupCode, proReservationReference peut être renseigné (erreur 105)
  • expectedQuantity > 0 (erreur 202)
  • lineID > “0” (erreur 104)
  • articleReference doit exister dans le référentiel (erreur 211)

Si config.CheckSupplier est activé pour votre activité :

  • supplierCode devient obligatoire
  • Le fournisseur doit exister dans le référentiel (erreur 216)
CodeDescription
104Format uniqueProcurementID invalide (regex) ou lineID"0"
105Plus d’un champ de réservation renseigné simultanément (reservationConsigneeCode, reservationConsigneeGroupCode, proReservationReference)
201Champ obligatoire manquant
202Valeur incorrecte (expectedQuantity ≤ 0)
203uniqueProcurementID déjà existant en base
205uniqueProcurementID en doublon dans le même envoi
206Activité non autorisée
211Article inconnu dans le référentiel
216Fournisseur inconnu dans le référentiel (si config.CheckSupplier activé)
217Client inconnu (reservationConsigneeCode inexistant)
801Champ trop long
[
{
"activityCode": "001",
"activityName": "Mon activité",
"uniqueProcurementID": "APPRO-2024-001",
"supplierCode": "FOUR01",
"supplierName": "Textiles Europe",
"expectedReceiptDate": "2024-07-01T00:00:00Z",
"procurementEntries": [
{
"lineID": "1",
"articleReference": "ART-001",
"expectedQuantity": 500,
"expectedLotNumber": "LOT2024-A",
"articlePCB": 12
},
{
"lineID": "2",
"articleReference": "ART-002",
"expectedQuantity": 200
}
]
}
]
Fenêtre de terminal
curl -X POST "https://api.ezyconnect.com/procurements" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"activityCode":"001","activityName":"Mon activité","uniqueProcurementID":"APPRO-2024-001","expectedReceiptDate":"2024-07-01T00:00:00Z","procurementEntries":[{"lineID":"1","articleReference":"ART-001","expectedQuantity":500}]}]'
{
"status": 0,
"operationId": "f6a7b8c9-0123-def4-5678-901234567890",
"errors": {},
"passed": ["APPRO-2024-001"]
}