Aller au contenu principal
API REST

L'API Novadesko

Connectez vos outils à Novadesko : chiffres clés, factures, clients, produits et impayés de toutes vos entreprises, en lecture comme en écriture.

JSON / REST Clés API révocables Connecteur Claude (MCP)
20+
Endpoints
REST
Format JSON
nvk_ / nvt_
Clés révocables
MCP
Connecteur Claude

Authentification

Générez vos identifiants depuis votre espace Novadesko sur web.novadesko.com/integrations/api. Deux types d'identifiants, révocables à tout moment :

  • nvk_… — Clé utilisateur : couvre toutes les entreprises de votre compte.
  • nvt_… — Token entreprise : limité à une seule entreprise.
URL de base
https://web.novadesko.com/api/v1

Trois formats d'authentification sont acceptés :

// 1. Bearer
Authorization: Bearer CLE.SECRET

// 2. Basic
Authorization: Basic base64(CLE:SECRET)

// 3. En-têtes dédiés
X-Api-Key: CLE
X-Api-Secret: SECRET

Le secret n'est affiché qu'une seule fois, à la création. La révocation est immédiate depuis la même page. Les anciens jetons Sanctum et clés nsk_ restent acceptés.

Exemple

curl https://web.novadesko.com/api/v1/me \
  -H "Authorization: Bearer nvk_xxx.SECRET"

Profil & entreprises

Identifiez l'appelant et listez les entreprises accessibles avec votre identifiant.

GET/api/v1/meProfil + entreprises accessibles
GET/api/v1/companiesListe des entreprises (id, nom, TVA, coordonnées)
curl https://web.novadesko.com/api/v1/me \
  -H "Authorization: Bearer nvk_xxx.SECRET"
Réponse
{
  "user": { "id": 1, "name": "John Doe", "email": "john@doe.com" },
  "credential": { "kind": "user_key", "name": "Zapier", "shop_id": null },
  "companies": [
    {
      "id": 1,
      "name": "Demo SPRL",
      "vat_number": "BE0123456789",
      "email": "info@demo.com",
      "phone": "+32 2 123 45 67",
      "city": "Bruxelles",
      "country": "Belgique"
    }
  ]
}

Statistiques

Chiffres clés d'une entreprise sur une période : CA TTC, notes de crédit, achats, résultat brut, impayés clients et fournisseurs, compteurs.

GET/api/v1/companies/{id}/stats?from=&to=

Dates au format YYYY-MM-DD. Par défaut : année en cours.

curl "https://web.novadesko.com/api/v1/companies/1/stats?from=2026-01-01" \
  -H "Authorization: Bearer nvk_xxx.SECRET"
Réponse
{
  "company": { "id": 1, "name": "Demo SPRL" },
  "period": { "from": "2026-01-01", "to": "2026-08-17" },
  "revenue_ttc": 17077.46,
  "credit_notes_ttc": 250.00,
  "net_revenue_ttc": 16827.46,
  "purchases_ttc": 6420.35,
  "gross_result_ttc": 10407.11,
  "invoices_count": 34,
  "purchases_count": 21,
  "estimates_count": 8,
  "unpaid_invoices": { "count": 6, "total_ttc": 11769.28, "overdue_count": 6 },
  "unpaid_purchases": { "count": 2, "total_ttc": 840.50 },
  "customers_count": 57,
  "products_count": 112
}

Documents (lecture)

Recherchez et consultez les documents de chaque entreprise, tous types confondus.

GET/api/v1/companies/{id}/documentsLister / filtrer
GET/api/v1/companies/{id}/documents/{docId}Détail + lignes + client

Filtres disponibles :

?type=&paid=&from=&to=&q=&page=&per_page=

Types de documents :

invoice · purchase · estimate · order · credit_note · proforma · receipt
Réponse (extrait)
{
  "data": [
    {
      "id": 123,
      "number": "FAC-2026-0042",
      "type": "invoice",
      "date": "2026-06-12",
      "due_date": "2026-07-12",
      "customer": "ACME SRL",
      "amount_ttc": 1200.00,
      "is_paid": false
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 34 }
}
Détail (extrait)
{
  "id": 123,
  "number": "FAC-2026-0042",
  "type": "invoice",
  "amount_ttc": 1200.00,
  "is_paid": false,
  "customer": {
    "id": 7,
    "name": "ACME SRL",
    "vat_number": "BE0987654321"
  },
  "lines": [
    {
      "product_name": "Abonnement Pro",
      "quantity": 2,
      "unit_amount": 495.87,
      "tax_rate": 21
    }
  ]
}

Clients & Produits

Consultez les fiches clients et le catalogue produits de chaque entreprise, avec recherche et pagination.

GET/api/v1/companies/{id}/customers?q=&page=
GET/api/v1/companies/{id}/products?q=&page=
Clients (extrait)
{
  "data": [
    {
      "id": 7,
      "name": "ACME SRL",
      "email": "contact@acme.be",
      "phone": "+32 2 555 12 34",
      "city": "Bruxelles"
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 57 }
}
Produits (extrait)
{
  "data": [
    {
      "id": 42,
      "name": "Abonnement Pro",
      "reference": "ABO-PRO",
      "sale_price": 49.99,
      "tax_included": true,
      "stock_quantity": 0
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 112 }
}

Impayés

Factures impayées d'une entreprise, groupées par client, avec retards et total.

GET/api/v1/companies/{id}/unpaid-invoices
Réponse
{
  "count": 6,
  "total_ttc": 11769.28,
  "invoices": [
    {
      "id": 118,
      "number": "FAC-2026-0031",
      "customer": "ACME SRL",
      "date": "2026-03-02",
      "due_date": "2026-04-01",
      "amount_ttc": 3025.00,
      "overdue": true
    }
  ]
}

Transactions

Paiements et mouvements de caisse d'une entreprise sur une période (500 max).

GET/api/v1/companies/{id}/transactions?from=&to=&limit=
Réponse
{
  "period": { "from": "2026-01-01", "to": "2026-08-17" },
  "count": 1,
  "data": [
    {
      "id": 88,
      "date": "2026-06-12",
      "amount": 1200.00,
      "type": "payment",
      "direction": "in",
      "source": "bank"
    }
  ]
}

Documents (écriture)

Endpoints historiques liés à une entreprise : créez et modifiez tous types de documents (slugs : invoices, quotes, orders…). La numérotation est automatique à la création.

GET/api/v1/documents/{slug}Lister les documents
POST/api/v1/documents/{slug}Créer (numérotation auto)
GET/api/v1/documents/{slug}/{id}Détail d'un document
PUT/api/v1/documents/{slug}/{id}Modifier

Exemple : Factures

curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/documents/invoices
Réponse (extrait)
[
  {
    "id": 123,
    "number": "FAC-2026-0042",
    "date": "2026-06-12",
    "client": { "id": 1, "name": "ACME Sarl" },
    "total": 1200.00,
    "status": "paid"
  }
]
Création (POST)
{
  "client_id": 1,
  "date": "2026-06-12",
  "lines": [
    { "product_id": 15, "qty": 2, "price": 100 }
  ]
}

Clients

Gérez votre base de clients : création, consultation et mise à jour.

GET/api/v1/customers
POST/api/v1/customers
GET/api/v1/customers/{id}
PUT/api/v1/customers/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/customers
Création (POST)
{
  "name": "Société Demo",
  "email": "contact@demo.com",
  "phone": "+32 2 123 45 67"
}
Réponse
{
  "id": 2,
  "name": "Société Demo",
  "email": "contact@demo.com",
  "created_at": "2026-06-12T16:10:00Z"
}

Fournisseurs

Gérez vos fournisseurs et leurs informations.

GET/api/v1/suppliers
POST/api/v1/suppliers
GET/api/v1/suppliers/{id}
PUT/api/v1/suppliers/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/suppliers
Création (POST)
{
  "company": "Fournisseur SARL",
  "vat_number": "FR123456789",
  "email": "info@fournisseur.com"
}
Réponse
{
  "id": 5,
  "company": "Fournisseur SARL",
  "created_at": "2026-06-12T16:22:00Z"
}

Produits

Gérez votre catalogue de produits.

GET/api/v1/products
POST/api/v1/products
GET/api/v1/products/{id}
PUT/api/v1/products/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/products
Création (POST)
{
  "name": "Abonnement Pro",
  "price": 49.99,
  "category_id": 1
}
Réponse
{
  "id": 42,
  "name": "Abonnement Pro",
  "price": 49.99
}

Types de documents

Liste des types de documents actifs et de leurs slugs à utiliser dans les endpoints /documents/{slug}.

GET/api/v1/document-types
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/document-types
Réponse (extrait)
[
  { "id": 2, "name": "Factures", "slug": "invoices", "prefix": "FAC" },
  { "id": 6, "name": "Devis", "slug": "quotes", "prefix": "DEV" }
]

Connecteur Claude (MCP)

Lecture seule

Connectez Claude à vos données Novadesko : posez vos questions en langage naturel, Claude accède en lecture à vos entreprises (chiffres, documents, clients, impayés).

  1. 1 Générez une URL secrète depuis votre espace Novadesko sur web.novadesko.com/integrations/claude.
  2. 2 Dans claude.ai : Paramètres › Connecteurs › Ajouter un connecteur personnalisé, puis collez l'URL.
  3. 3 Claude peut alors interroger vos entreprises en lecture seule, directement dans vos conversations.
Sous le capot
POSThttps://web.novadesko.com/api/mcp/claude/{token}

Protocole MCP (JSON-RPC : initialize, tools/list, tools/call) · 9 outils disponibles, dont get_company_overview.

// JSON-RPC (MCP)
{ "jsonrpc": "2.0", "method": "tools/call",
  "params": { "name": "get_company_overview", "arguments": { "company_id": 1 } },
  "id": 1 }
API REST

Prêt à intégrer Novadesko ?

Générez votre clé API en quelques secondes depuis votre espace Novadesko et automatisez vos flux : facturation, clients, statistiques et impayés.

JSON / REST Clés API révocables Connecteur Claude (MCP)

Support Novadesko

…

Bonjour !

Comment pouvons-nous vous aider ?

Vous avez reçu un courrier ?

Support Novadesko