SIPCO

Documentation de l'API Manutest

Reference developpeur de l'API v1 pour consulter les clients, vehicules, loueurs et appareils associes.

Introduction

L'API Manutest expose des routes HTTP en lecture sous /api/v1. Les routes metier retournent des donnees JSON et utilisent un format homogene pour les listes paginees.

Base URL

https://api-manutest.sipco.fr/api/v1

Version

v1

Format

JSON

Methodes exposees

GET

https://api-manutest.sipco.fr/api/v1

Authentification

Toutes les routes sauf /health exigent une cle API transmise dans l'en-tete x-api-key.

x-api-key: VOTRE_CLE_API

En l'absence de cle valide, l'API renvoie une reponse 401 Unauthorized.

Pour obtenir une cle API, contactez SIPCO : 02 99 76 16 16.

Pagination

Les endpoints listant des ressources utilisent une pagination limit / offset. Parcourez les pages jusqu'a ce que pagination.nextOffset soit null.

ChampTypeDescription
limitnumberNombre maximum d'éléments retournés. Défaut 50, maximum 200.
offsetnumberIndex de départ. Utiliser 0 pour commencer au debut de la liste.
countnumberNombre d'éléments retournés dans la page courante.
totalnumberNombre total d'éléments disponibles pour la requête.
hasMorebooleanIndique s'il reste au moins une page a lire.
nextOffsetnumber | nullOffset à utiliser pour la page suivante, ou null en fin de liste.
{
  "data": [],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "count": 100,
    "total": 8437,
    "hasMore": true,
    "nextOffset": 100
  }
}

/api/v1/health

GET/api/v1/healthAuth: Non

Endpoint de sante public permettant de verifier que l'API repond.

Parametres

NomTypeDescription
Aucun-Cette route ne prend aucun parametre.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/health"

Exemple JSON

{
  "ok": true,
  "ts": "2026-05-06T12:00:00.000Z"
}

Champs retournes

ChampDescription
okEtat de disponibilite de l'API.
tsHorodatage ISO genere par le serveur.

/api/v1/clients

GET/api/v1/clientsAuth: Oui

Retourne la liste des clients / transporteurs rattaches au prestataire courant.

trptel correspond au telephone client. trpcontact correspond au contact ou nom du contact.

Parametres

NomTypeDescription
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/clients?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "trpid": 1,
      "trpnom": "Dupont SARL",
      "trpadr": "12 rue des Ateliers",
      "trpcp": "35000",
      "trpville": "Rennes",
      "trptel": "02 99 00 00 00",
      "trpmail": "contact@dupont.fr",
      "trpcontact": "Jean Dupont",
      "trpderrel": null,
      "trpenvrap": 1,
      "trpenvrel": 1,
      "trpsommeil": 0,
      "trpinconnu": 0
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 128,
    "hasMore": true,
    "nextOffset": 50
  }
}

Champs retournes

ChampDescription
trpidIdentifiant du client / transporteur.
trpnomNom du client / transporteur.
trpadrAdresse.
trpcpCode postal.
trpvilleVille.
trptelTéléphone client.
trpmailEmail client.
trpcontactContact / nom du contact client.
trpderrelDernière relance connue.
trpenvrapIndicateur d'envoi de rapport.
trpenvrelIndicateur d'envoi de relance.
trpsommeilIndicateur de sommeil.
trpinconnuIndicateur client inconnu.

/api/v1/vehicles

GET/api/v1/vehiclesAuth: Oui

Retourne les vehicules clients rattaches au prestataire courant.

Les champs retournes ici concernent le vehicule lui-meme : immatriculation, parc, chassis, marque, modele et autres colonnes de manutest.vehicules. Les appareils associes se consultent via GET /api/v1/vehicles/:id/equipments.

Parametres

NomTypeDescription
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/vehicles?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "vehid": 246636,
      "vehimmat": "AB-123-CD",
      "vehparc": "PARC-42",
      "vehtransp": 1,
      "vehloueur": null,
      "vehmarq": 304,
      "vehmarqlib": "RENAULT",
      "vehmodel": "MASTER",
      "vehcat": 4
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 8437,
    "hasMore": true,
    "nextOffset": 50
  }
}

Champs retournes

ChampDescription
vehidIdentifiant du véhicule.
vehimmatImmatriculation du véhicule.
vehparcRéférence parc du véhicule, si présente.
vehchassisChassis / numero de chassis, si présent dans la table véhicules.
vehmarqIdentifiant de marque du véhicule.
vehmarqlibLibellé de marque du véhicule, issu de manutest.marques avec marqtype = 0.
vehmodelModele du véhicule.
vehtranspIdentifiant transporteur associe, si véhicule client.
vehloueurIdentifiant loueur associe, si véhicule loueur.
v.*Les routes véhicules retournent toutes les colonnes de manutest.vehicules, plus vehmarqlib.

/api/v1/transp/:id/vehicles

GET/api/v1/transp/:id/vehiclesAuth: Oui

Retourne les vehicules d'un client / transporteur, apres verification qu'il appartient au prestataire courant.

Parametres

NomTypeDescription
idnumberIdentifiant du client / transporteur.
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/transp/1/vehicles?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "vehid": 246636,
      "vehimmat": "AB-123-CD",
      "vehparc": "PARC-42",
      "vehtransp": 1,
      "vehloueur": null,
      "vehmarq": 304,
      "vehmarqlib": "RENAULT",
      "vehmodel": "MASTER",
      "vehcat": 4
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 8437,
    "hasMore": true,
    "nextOffset": 50
  }
}

Champs retournes

ChampDescription
vehidIdentifiant du véhicule.
vehimmatImmatriculation du véhicule.
vehparcRéférence parc du véhicule, si présente.
vehchassisChassis / numero de chassis, si présent dans la table véhicules.
vehmarqIdentifiant de marque du véhicule.
vehmarqlibLibellé de marque du véhicule, issu de manutest.marques avec marqtype = 0.
vehmodelModele du véhicule.
vehtranspIdentifiant transporteur associe, si véhicule client.
vehloueurIdentifiant loueur associe, si véhicule loueur.
v.*Les routes véhicules retournent toutes les colonnes de manutest.vehicules, plus vehmarqlib.

/api/v1/loueurs

GET/api/v1/loueursAuth: Oui

Retourne la liste des loueurs rattaches au prestataire courant.

Parametres

NomTypeDescription
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/loueurs?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "louid": 10,
      "lounom": "Location Ouest",
      "louadr": "4 avenue du Parc",
      "loucp": "44000",
      "louville": "Nantes",
      "loutel": "02 40 00 00 00",
      "loumail": "contact@location-ouest.fr",
      "loucontact": "Marie Martin",
      "louderrel": null,
      "louenvrap": 1,
      "louenvrel": 1,
      "loufreq": 12
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 24,
    "hasMore": false,
    "nextOffset": null
  }
}

Champs retournes

ChampDescription
louidIdentifiant du loueur.
lounomNom du loueur.
louadrAdresse.
loucpCode postal.
louvilleVille.
loutelTéléphone du loueur.
loumailEmail du loueur.
loucontactContact / nom du contact loueur.
louderrelDernière relance connue.
louenvrapIndicateur d'envoi de rapport.
louenvrelIndicateur d'envoi de relance.
loufreqFréquence associée au loueur.

/api/v1/loueurs/vehicles

GET/api/v1/loueurs/vehiclesAuth: Oui

Retourne tous les vehicules des loueurs rattaches au prestataire courant.

Parametres

NomTypeDescription
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/loueurs/vehicles?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "vehid": 246636,
      "vehimmat": "AB-123-CD",
      "vehparc": "PARC-42",
      "vehtransp": 10,
      "vehloueur": null,
      "vehmarq": 304,
      "vehmarqlib": "RENAULT",
      "vehmodel": "MASTER",
      "vehcat": 4
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 8437,
    "hasMore": true,
    "nextOffset": 50
  }
}

Champs retournes

ChampDescription
vehidIdentifiant du véhicule.
vehimmatImmatriculation du véhicule.
vehparcRéférence parc du véhicule, si présente.
vehchassisChassis / numero de chassis, si présent dans la table véhicules.
vehmarqIdentifiant de marque du véhicule.
vehmarqlibLibellé de marque du véhicule, issu de manutest.marques avec marqtype = 0.
vehmodelModele du véhicule.
vehtranspIdentifiant transporteur associe, si véhicule client.
vehloueurIdentifiant loueur associe, si véhicule loueur.
v.*Les routes véhicules retournent toutes les colonnes de manutest.vehicules, plus vehmarqlib.

/api/v1/loueurs/:id/vehicles

GET/api/v1/loueurs/:id/vehiclesAuth: Oui

Retourne les vehicules d'un loueur, apres verification qu'il appartient au prestataire courant.

Parametres

NomTypeDescription
idnumberIdentifiant du loueur.
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/loueurs/10/vehicles?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "vehid": 246636,
      "vehimmat": "AB-123-CD",
      "vehparc": "PARC-42",
      "vehtransp": 10,
      "vehloueur": null,
      "vehmarq": 304,
      "vehmarqlib": "RENAULT",
      "vehmodel": "MASTER",
      "vehcat": 4
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 8437,
    "hasMore": true,
    "nextOffset": 50
  }
}

Champs retournes

ChampDescription
vehidIdentifiant du véhicule.
vehimmatImmatriculation du véhicule.
vehparcRéférence parc du véhicule, si présente.
vehchassisChassis / numero de chassis, si présent dans la table véhicules.
vehmarqIdentifiant de marque du véhicule.
vehmarqlibLibellé de marque du véhicule, issu de manutest.marques avec marqtype = 0.
vehmodelModele du véhicule.
vehtranspIdentifiant transporteur associe, si véhicule client.
vehloueurIdentifiant loueur associe, si véhicule loueur.
v.*Les routes véhicules retournent toutes les colonnes de manutest.vehicules, plus vehmarqlib.

/api/v1/vehicles/:id/equipments

GET/api/v1/vehicles/:id/equipmentsAuth: Oui

Retourne les appareils associes a un vehicule, apres verification que le vehicule appartient au prestataire courant via son transporteur ou son loueur.

Parametres

NomTypeDescription
idnumberIdentifiant du vehicule.
limitnumberOptionnel. Defaut 50, maximum 200.
offsetnumberOptionnel. Defaut 0.

Exemple curl

curl -X GET "https://api-manutest.sipco.fr/api/v1/vehicles/246636/equipments?limit=50&offset=0" \
  -H "x-api-key: VOTRE_CLE_API"

Exemple JSON

{
  "data": [
    {
      "matid": 12,
      "matveh": 246636,
      "matser": "SN123456",
      "matdesc": "Chronotachygraphe",
      "matannee": 2023,
      "matmarquage": null,
      "matrelance": null,
      "matsommeil": 0,
      "matdate": null,
      "matmarq": 15,
      "matmarqlib": "STONERIDGE",
      "matmodel": "SE5000",
      "matcomm": null,
      "matderrel": null,
      "matphoto": null
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 1,
    "total": 1,
    "hasMore": false,
    "nextOffset": null
  }
}

Champs retournes

ChampDescription
matidIdentifiant de l'appareil.
matvehIdentifiant du véhicule associé.
matserNuméro de série de l'appareil.
matdescDescription de l'appareil.
matanneeAnnée de l'appareil.
matmarquageMarquage de l'appareil.
matrelanceIndicateur ou date de relance selon la donnée source.
matsommeilIndicateur de sommeil.
matdateDate associée à l'appareil.
matmarqIdentifiant de marque appareil.
matmarqlibLibellé de marque appareil.
matmodelModèle de l'appareil.
matcommCommentaire.
matderrelDernière relance connue.
matphotoRéférence photo, si présente.

Codes de reponse

CodeSignificationDescription
200OKRequete reussie.
400Bad RequestParametre invalide, par exemple un id non numerique.
401UnauthorizedCle API absente ou incorrecte.
404Not FoundRessource introuvable ou hors perimetre du prestataire courant.
500Server ErrorErreur interne du serveur. Contacter SIPCO si elle persiste.