Mouvements de stock
GET /articles/movements
Retourne l’historique des mouvements de stock (entrées et sorties).
GET /articles/{articleReference}/movements
Retourne les mouvements pour un article spécifique.
Paramètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Type | Description |
|---|---|---|
afterId | long | Retourne les mouvements avec un id supérieur à cette valeur |
afterDate | DateTime | Retourne les mouvements après cette date (ISO 8601) |
articleReference | string | Filtre par référence article — uniquement pour GET /articles/movements. Pour GET /articles/{articleReference}/movements, la référence est dans le chemin, pas en query string. |
filter | string | Expression de filtrage QueryKit |
sort | string | Expression de tri |
1000 résultats maximum par requête.
Filtrage automatique
Section intitulée « Filtrage automatique »- Seuls les mouvements de vos activités autorisées
- Les mouvements avec quantité
0sont exclus automatiquement - Les mouvements sont filtrés par les types de mouvements et motifs configurés pour votre activité
Champs de la réponse
Section intitulée « Champs de la réponse »| Champ | Type | Description |
|---|---|---|
id | long | Identifiant technique du mouvement |
activityCode | string | Code activité |
stockUnitID | string | Code propriétaire du stock |
movementTimestamp | DateTime | Date et heure du mouvement |
articleReference | string | Référence article |
movedQuantity | int | Quantité mouvementée (toujours > 0) |
movementDirection | string | Sens du mouvement : "E" = entrée, "S" = sortie |
movementCode | string | Code du type de mouvement |
movementReason | string | Code motif du mouvement |
gradeCode | string | Code qualité |
Exemple de requête
Section intitulée « Exemple de requête »# Tous les mouvements (polling incrémental)curl -X GET "https://api.ezyconnect.com/articles/movements?afterId=0" \ -H "Authorization: Bearer YOUR_TOKEN"
# Mouvements d'un article spécifique (référence dans le chemin)curl -X GET "https://api.ezyconnect.com/articles/ART-001/movements" \ -H "Authorization: Bearer YOUR_TOKEN"
# Uniquement les entréescurl -X GET "https://api.ezyconnect.com/articles/movements?afterId=0&filter=movementDirection%20%3D%3D%20%22E%22" \ -H "Authorization: Bearer YOUR_TOKEN"const response = await fetch( "https://api.ezyconnect.com/articles/movements?afterId=0", { headers: { "Authorization": "Bearer YOUR_TOKEN" } });const result = await response.json();console.log(result);import requests
response = requests.get( "https://api.ezyconnect.com/articles/movements", headers={"Authorization": "Bearer YOUR_TOKEN"}, params={"afterId": 0})result = response.json()print(result)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 result = await client.GetFromJsonAsync<object[]>( "https://api.ezyconnect.com/articles/movements?afterId=0");import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.ezyconnect.com/articles/movements?afterId=0")) .header("Authorization", "Bearer YOUR_TOKEN") .GET() .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 »[ { "id": 98765, "activityCode": "001", "stockUnitID": "001", "movementTimestamp": "2024-06-15T14:30:00Z", "articleReference": "ART-001", "movedQuantity": 100, "movementDirection": "E", "movementCode": "REC", "movementReason": "RCP", "gradeCode": "STD" }, { "id": 98770, "activityCode": "001", "stockUnitID": "001", "movementTimestamp": "2024-06-15T16:45:00Z", "articleReference": "ART-001", "movedQuantity": 5, "movementDirection": "S", "movementCode": "EXP", "movementReason": "CMD", "gradeCode": "STD" }]