MADATA / DEV documentation développeur English madata.africa

Documentation développeur

Branche ce que tu veux sur ton espace MADATA

Chaque espace <espace>.madata.app ouvre deux portes : un serveur MCP pour les assistants IA, et une API de données pour votre propre code. Les deux lisent et écrivent vos données métier avec vos droits.

Le serveur MCP expose ≈150 outils métier prêts à l’emploi (indicateurs, ventes, comptabilité, paie, écritures…) à Claude, ChatGPT, Gemini ou Mistral Le Chat. L’API de données, elle, expose les modèles bruts de l’espace à votre code. Toute l’exécution se fait avec les droits de l’utilisateur porteur de la clé.

Serveur MCP

Un assistant IA agit sur l’espace en quelques clics, sans une ligne de code. ≈150 outils métier, OAuth ou clé Bearer.

Le serveur MCP ›

API de données

Votre programme lit et écrit les modèles de l’espace : contacts, devis, factures, stock, écritures. XML-RPC ou JSON-RPC.

L’API de données ›

01Démarrage rapide en 3 étapes

  1. Créer une clé d’API. Dans MADATA, ouvrez Mon profil → Sécurité du compte → Clés API et générez une clé. Elle commence par mia_ et n’est affichée qu’une fois. Réservé aux Administrateurs MADATA de l’espace. Détails.
  2. Récupérer l’URL de l’espace. Elle a la forme https://<espace>.madata.app/mia/mcp et s’affiche à côté de la clé.
  3. Appeler. Un POST JSON-RPC avec l’en-tête Authorization: Bearer :
bashlister les outils disponibles
curl -s https://<espace>.madata.app/mia/mcp \
  -H "Authorization: Bearer mia_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Avec Claude, ça se fait en quelques clics, sans aucune clé à coller. Paramètres → Connecteurs → Ajouter un connecteur personnalisé, collez l’URL de l’espace, autorisez : c’est tout. Mistral Le Chat suit le même chemin en OAuth. Voir Connecter un assistant.

02Ce que le serveur MCP sait faire

À l’installation d’un espace, 151 outils sont exposés (74 en lecture, 77 en écriture). La liste réellement visible dépend des modules installés, des droits de l’utilisateur et de la portée de la clé.

FamilleExemples
Indicateursget_kpi, get_cash_flow, get_crm_kpi, get_revenue_forecast
Lecture métiersearch_sales, search_invoices, get_stock_card, query_records
Comptabilitéget_balance_sheet, check_accounting_consistency, export_accounting, create_journal_entry
Écriturescreate_quotation, create_customer_invoice, register_payment, action_record
RH & paiecreate_payslip, validate_batch, send_payslip, create_leave
Communicationsend_email, prepare_whatsapp_message, send_payment_followups

Le serveur expose aussi 4 ressources (mia://kpi/current…) et 8 prompts prêts à l’emploi. Catalogue complet : Catalogue des outils.

03L’API de données, en une minute

Quand l’outil prêt à l’emploi ne suffit plus, l’API de données donne accès aux modèles eux-mêmes. Même clé, mêmes droits, contrôle complet.

pythonlire les dix derniers clients
import xmlrpc.client

URL, DB, CLE = "https://<espace>.madata.app", "prod_<espace>", "votre-cle"
uid = xmlrpc.client.ServerProxy(f"{URL}/xmlrpc/2/common").authenticate(
    DB, "[email protected]", CLE, {})

models = xmlrpc.client.ServerProxy(f"{URL}/xmlrpc/2/object")
clients = models.execute_kw(DB, uid, CLE, 'res.partner', 'search_read',
    [[['customer_rank', '>', 0]]],
    {'fields': ['name', 'email'], 'limit': 10})

Suite : L’API de données, Authentification, Lire, Écrire, Recettes.

04Conventions

Endpoint
https://<espace>.madata.app/mia/mcp : un par espace.
Auth
En-tête Authorization: Bearer mia_…, ou OAuth 2.1 (Claude, Mistral).
Langue
Messages d’erreur et descriptions en français.
Nom
La plateforme s’appelle MADATA.
Sécurité

Une clé n’élève jamais les droits : chaque appel s’exécute sous l’utilisateur réel, avec ses permissions natives. Les ressources facturées (utilisateurs, sociétés, points de vente, applications) restent non modifiables : elles se gèrent dans le portail.

05Support

Une capacité manque, un outil se comporte mal ? Depuis un assistant connecté, demandez d’enregistrer une demande : l’outil suggest_feature_request la transmet. Sinon, passez par le support depuis votre espace client.