Créer / mettre à jour des fournisseurs
POST /suppliers
Crée ou met à jour un ou plusieurs fournisseurs. Fonctionne en mode upsert : si un fournisseur avec le même supplierCode existe déjà, il est mis à jour sans erreur.
Paramètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Type | Défaut | Description |
|---|---|---|---|
validationOnly | bool | false | Si true, valide sans persister |
Champs du fournisseur
Section intitulée « Champs du fournisseur »Identification (obligatoires)
Section intitulée « Identification (obligatoires) »| Champ | Type | Max | Description |
|---|---|---|---|
activityCode | string | 3 | Code activité |
activityName | string | 30 | Libellé de l’activité |
supplierCode | string | 13 | Code unique du fournisseur |
supplierName | string | 30 | Nom du fournisseur |
Informations générales
Section intitulée « Informations générales »| Champ | Type | Max | Requis | Description |
|---|---|---|---|---|
supplierTitle | string | 3 | Non | Civilité |
supplierFirstName | string | 50 | Non | Prénom |
supplierCompany | string | 50 | Non | Raison sociale |
| Champ | Type | Max | Requis | Description |
|---|---|---|---|---|
supplierAddress1 | string | 30 | Non | Adresse ligne 1 |
supplierAddress2 | string | 30 | Non | Adresse ligne 2 |
supplierAddress3 | string | 30 | Non | Adresse ligne 3 |
supplierPostalCode | string | 20 | Non | Code postal |
supplierCity | string | 50 | Non | Ville |
supplierCountry | string | 2 | Non | Code pays ISO 3166-1 alpha-2 |
supplierCountryName | string | 15 | Non | Nom du pays |
supplierState | string | 9 | Non | Division territoriale |
| Champ | Type | Max | Requis | Description |
|---|---|---|---|---|
supplierPhone | string | 15 | Non | Téléphone |
supplierFax | string | 15 | Non | Fax |
supplierMail | string | 50 | Non | |
supplierOption | string | 50 | Non | Option |
supplierComments | string | 100 | Non | Commentaires |
Administration
Section intitulée « Administration »| Champ | Type | Max | Requis | Description |
|---|---|---|---|---|
supplierAgreementNumber | string | 15 | Non | Numéro d’agrément |
supplierControl | string | 1 | Non | Contrôle fournisseur |
supplierEdiEdition | string | 1 | Non | Édition EDI |
Champs personnalisés
Section intitulée « Champs personnalisés »| Champ | Type | Max | Description |
|---|---|---|---|
customField1 à customField9 | string | 200 | Texte libre |
customField10, customField11 | DateTime | — | Dates |
Règles de validation
Section intitulée « Règles de validation »Champs obligatoires
Section intitulée « Champs obligatoires »supplierCode,activityCode,activityName,supplierName
Longueurs maximales
Section intitulée « Longueurs maximales »Les champs string ont des limites strictes (erreur 105 si dépassées). Voir les tableaux ci-dessus pour les valeurs maximales.
Erreurs possibles
Section intitulée « Erreurs possibles »| Code | Description |
|---|---|
| 105 | Champ trop long (longueur maximale dépassée) |
| 201 | Champ obligatoire manquant |
| 205 | supplierCode en doublon dans le même envoi |
| 206 | Activité non autorisée |
Exemple de requête
Section intitulée « Exemple de requête »[ { "activityCode": "001", "activityName": "Mon activité", "supplierCode": "FOUR01", "supplierName": "Textiles Europe SAS", "supplierCompany": "Textiles Europe SAS", "supplierAddress1": "Zone Industrielle Nord", "supplierPostalCode": "59000", "supplierCity": "Lille", "supplierCountry": "FR", "supplierPhone": "0320000000", "supplierMail": "contact@textiles-europe.fr" }]Exemples de code
Section intitulée « Exemples de code »curl -X POST "https://api.ezyconnect.com/suppliers" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '[{"activityCode":"001","activityName":"Mon activité","supplierCode":"FOUR01","supplierName":"Textiles Europe SAS","supplierCity":"Lille","supplierCountry":"FR"}]'const response = await fetch("https://api.ezyconnect.com/suppliers", { method: "POST", headers: { "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify([{ activityCode: "001", activityName: "Mon activité", supplierCode: "FOUR01", supplierName: "Textiles Europe SAS", supplierCity: "Lille", supplierCountry: "FR" }])});const result = await response.json();console.log(result);import requests
payload = [{ "activityCode": "001", "activityName": "Mon activité", "supplierCode": "FOUR01", "supplierName": "Textiles Europe SAS", "supplierCity": "Lille", "supplierCountry": "FR"}]
response = requests.post( "https://api.ezyconnect.com/suppliers", json=payload, headers={"Authorization": "Bearer YOUR_TOKEN"})print(response.json())using System.Net.Http;using System.Net.Http.Json;
var client = new HttpClient();client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_TOKEN");
var suppliers = new[] { new { activityCode = "001", activityName = "Mon activité", supplierCode = "FOUR01", supplierName = "Textiles Europe SAS", supplierCity = "Lille", supplierCountry = "FR"}};
var response = await client.PostAsJsonAsync("https://api.ezyconnect.com/suppliers", suppliers);var result = await response.Content.ReadAsStringAsync();Console.WriteLine(result);import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;
String body = """ [{"activityCode":"001","activityName":"Mon activité", "supplierCode":"FOUR01","supplierName":"Textiles Europe SAS", "supplierCity":"Lille","supplierCountry":"FR"}] """;
HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.ezyconnect.com/suppliers")) .header("Authorization", "Bearer YOUR_TOKEN") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());Exemple de réponse
Section intitulée « Exemple de réponse »{ "status": 0, "operationId": "d4e5f6a7-8901-bcde-f234-567890123456", "errors": {}, "passed": ["FOUR01"]}