API Expert Copro Gestion

L'API REST vous permet d'integrer Expert Copro Gestion a vos outils existants : logiciels de comptabilite, extensions navigateur, scripts d'automatisation, ou toute application tierce.

L'API est organisee autour de ressources REST. Elle accepte les corps de requete en JSON, retourne des reponses JSON et utilise les codes de statut HTTP standards.

URL de base

https://www.expert-copro-gestion.fr/api/client/v1/

Fonctionnalites

  • Gestion complete des taches (CRUD)
  • Consultation des proprietes / immeubles
  • Statistiques et compteurs par statut
  • Gestion des documents attaches
  • Authentification par cle API
Exemple rapide
# Lister vos taches
curl -H "X-API-Key: ecg_votre_cle_api" \
  https://www.expert-copro-gestion.fr/api/client/v1/tasks.php
200 Reponse
{
  "success": true,
  "data": [
    {
      "id": 12,
      "title": "Verifier etancheite toiture bat A",
      "status": "todo",
      "priority": "high",
      "due_date": "2026-04-10"
    }
  ],
  "meta": { "total": 47, "page": 1 }
}

Authentification

L'API utilise des cles API pour authentifier les requetes. Chaque cle est liee a un utilisateur et une organisation.

1

Connectez-vous a votre espace client et allez dans Parametres > Cles API.

2

Generez une cle avec les permissions souhaitees : read (lecture seule) ou read + write (lecture/ecriture).

3

Ajoutez le header X-API-Key a chaque requete HTTP.

Ne partagez jamais votre cle API. En cas de compromission, revoquez-la immediatement et generez-en une nouvelle.
Header d'authentification
X-API-Key: ecg_a1b2c3d4e5f6...
401 Cle invalide
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Cle API invalide ou expiree."
  }
}

Limites de requetes

L'API applique un rate limiting pour garantir la stabilite du service.

100 requetes / minute / cle
En cas de depassement, l'API repond 429 Too Many Requests. Attendez quelques secondes avant de retenter.
Headers de reponse
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 60

Gestion des erreurs

Toutes les reponses suivent le meme format. En cas d'erreur, success vaut false et un objet error decrit le probleme.

Codes HTTP

200 Succes
201 Ressource creee
400 Requete invalide
401 Non authentifie
403 Permission insuffisante
404 Ressource introuvable
422 Erreur de validation
429 Trop de requetes
500 Erreur serveur
Format d'erreur standard
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Tache introuvable."
  }
}
Erreur de validation (422)
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Champs invalides.",
    "fields": {
      "title": "Titre requis.",
      "due_date": "Format de date invalide."
    }
  }
}

Pagination

Les endpoints de liste retournent des resultats pagines. Utilisez les parametres page et per_page.

ParametreDefautDescription
page1Numero de page
per_page20Resultats par page (max 100)
Objet meta dans la reponse
{
  "success": true,
  "data": [ /* ... resultats ... */ ],
  "meta": {
    "page": 2,
    "per_page": 20,
    "total": 47,
    "pages": 3
  }
}

GET Lister les taches

/tasks.php

Retourne la liste paginee des taches de votre organisation avec filtres optionnels.

Parametres de requete

ParametreTypeDescription
statusstringoptionneltodo, in_progress, done, cancelled. Virgule pour multi.
prioritystringoptionnellow, medium, high
assigned_to_user_idintegeroptionnelID du membre assigne
overduebooleanoptionnel1 = taches en retard
qstringoptionnelRecherche texte (titre + description)
sortstringoptionnelcreated_at, due_date, priority, status, title
orderstringoptionnelasc ou desc (defaut)
Requete
curl -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?status=todo,in_progress&sort=due_date&order=asc"
200 Reponse
{
  "success": true,
  "data": [
    {
      "id": 12,
      "title": "Verifier etancheite toiture bat A",
      "description": "Infiltrations au 3e etage",
      "status": "todo",
      "priority": "high",
      "assigned_to": "Duclim SARL",
      "assigned_to_user_id": 8,
      "assignee_name": "Nicolas Lambert",
      "property_name": "Residence Les Pins",
      "due_date": "2026-04-10",
      "document_count": 2,
      "created_at": "2026-04-01 09:00:00"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 47,
    "pages": 3
  }
}

GET Detail d'une tache

/tasks.php?id={id}

Retourne le detail complet d'une tache avec ses documents attaches.

Parametres

ParametreTypeDescription
idintegerrequisID de la tache
Requete
curl -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?id=12"
200 Reponse
{
  "success": true,
  "data": {
    "id": 12,
    "title": "Verifier etancheite toiture bat A",
    "description": "Infiltrations au 3e etage",
    "status": "todo",
    "priority": "high",
    "due_date": "2026-04-10",
    "creator_name": "Sophie Martin",
    "assignee_name": "Nicolas Lambert",
    "property_name": "Residence Les Pins",
    "documents": [
      {
        "id": 1,
        "original_name": "devis-toiture.pdf",
        "mime_type": "application/pdf",
        "size": 245000
      }
    ]
  }
}

GET Statistiques des taches

/tasks.php?stats=1

Retourne les compteurs par statut et les statistiques globales.

Requete
curl -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?stats=1"
200 Reponse
{
  "success": true,
  "data": {
    "total": 47,
    "todo": 18,
    "in_progress": 12,
    "done": 14,
    "cancelled": 3,
    "overdue": 5,
    "high_priority": 8
  }
}

POST Creer une tache

/tasks.php

Cree une nouvelle tache. Necessite la permission write.

Corps de la requete (JSON)

ChampTypeDescription
titlestringrequisTitre (max 255 car.)
descriptionstringoptionnelDescription detaillee
statusstringoptionneltodo (defaut), in_progress, done, cancelled
prioritystringoptionnellow, medium (defaut), high
assigned_to_user_idintegeroptionnelID du membre assigne
assigned_tostringoptionnelPrestataire externe (texte libre)
property_idintegeroptionnelID du bien concerne
due_datestringoptionnelEcheance (YYYY-MM-DD)
Requete
curl -X POST \
  -H "X-API-Key: ecg_votre_cle" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Verifier etancheite toiture",
    "priority": "high",
    "assigned_to_user_id": 8,
    "due_date": "2026-04-15"
  }' \
  https://www.expert-copro-gestion.fr/api/client/v1/tasks.php
201 Creee
{
  "success": true,
  "data": {
    "id": 48,
    "title": "Verifier etancheite toiture",
    "status": "todo",
    "priority": "high",
    "assigned_to_user_id": 8,
    "assignee_name": "Nicolas Lambert",
    "due_date": "2026-04-15",
    "created_at": "2026-04-08 14:30:00"
  }
}

PUT Modifier une tache

/tasks.php?id={id}

Met a jour une tache existante. Envoyez uniquement les champs a modifier. Permission write requise.

Le corps accepte les memes champs que la creation. Seuls les champs presents dans le JSON seront mis a jour.
Requete
curl -X PUT \
  -H "X-API-Key: ecg_votre_cle" \
  -H "Content-Type: application/json" \
  -d '{ "status": "done" }' \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?id=48"
200 Reponse
{
  "success": true,
  "data": {
    "id": 48,
    "status": "done",
    "completed_at": "2026-04-08 16:00:00",
    // ... tous les champs
  }
}

DELETE Supprimer une tache

/tasks.php?id={id}

Supprime definitivement une tache et tous ses documents. Permission write requise.

Cette action est irreversible. Les documents attaches seront egalement supprimes du serveur.
Requete
curl -X DELETE \
  -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?id=48"
200 Reponse
{
  "success": true,
  "data": {
    "deleted": 48
  }
}

GET Documents d'une tache

/tasks.php?id={id}&documents=1

Retourne la liste des documents attaches a une tache (PDF, images, Word, Excel).

Formats acceptes

PDF, JPEG, PNG, GIF, WebP, Word (.doc, .docx), Excel (.xls, .xlsx). Maximum 20 documents par tache, 10 Mo par fichier.

Requete
curl -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/tasks.php?id=12&documents=1"
200 Reponse
{
  "success": true,
  "data": [
    {
      "id": 1,
      "original_name": "devis-toiture.pdf",
      "mime_type": "application/pdf",
      "size": 245000,
      "uploaded_by_name": "Julie Moreau",
      "created_at": "2026-04-01 14:30:00"
    }
  ]
}

GET Lister les proprietes

/properties.php

Retourne la liste paginee des biens et immeubles de votre organisation.

Parametres

ParametreTypeDescription
pageintegeroptionnelPage (defaut: 1)
per_pageintegeroptionnelPar page (defaut: 20, max: 100)
Requete
curl -H "X-API-Key: ecg_votre_cle" \
  https://www.expert-copro-gestion.fr/api/client/v1/properties.php
200 Reponse
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Residence Les Pins",
      "address": "12 rue des Pins, 75016 Paris",
      "lots_count": 45,
      "created_at": "2026-01-15 10:00:00"
    }
  ],
  "meta": { "page": 1, "total": 3 }
}

GET Detail d'une propriete

/properties.php?id={id}

Retourne le detail complet d'un bien ou immeuble.

Champs retournes

ChampTypeDescription
idintegerIdentifiant unique
namestringNom du bien
addressstringAdresse complete
lots_countintegerNombre de lots
notesstringNotes internes
created_atdatetimeDate de creation
Requete
curl -H "X-API-Key: ecg_votre_cle" \
  "https://www.expert-copro-gestion.fr/api/client/v1/properties.php?id=1"
200 Reponse
{
  "success": true,
  "data": {
    "id": 1,
    "name": "Residence Les Pins",
    "address": "12 rue des Pins, 75016 Paris",
    "lots_count": 45,
    "notes": "Gardien: M. Fernandez",
    "created_at": "2026-01-15 10:00:00"
  }
}