Intégration d'API
Lorsque l'utilisateur demande d'intégrer une API tierce ou de mettre en œuvre quelque chose impliquant une API ou un SDK externe, suivez ce workflow. Ne vous fiez pas à vos propres connaissances pour les APIs disponibles ou leurs capacités — utilisez toujours le serveur MCP context-matic.
Quand l'appliquer
Appliquez cette compétence lorsque l'utilisateur :
- Demande d'intégrer une API tierce
- Souhaite ajouter un client ou un SDK pour un service externe
- Demande une implémentation qui dépend d'une API externe
- Mentionne une API spécifique (par exemple PayPal, Twilio) et une implémentation ou intégration
Workflow
1. S'assurer que les directives et compétences existent
1a. Détecter le langage principal du projet
Avant de vérifier les directives ou les compétences, identifiez le langage de programmation principal du projet en inspectant l'espace de travail :
| Fichier / Motif | Langage |
|---|---|
*.csproj, *.sln |
csharp |
package.json avec dépendance "typescript" ou fichiers .ts |
typescript |
requirements.txt, pyproject.toml, *.py |
python |
go.mod, *.go |
go |
pom.xml, build.gradle, *.java |
java |
Gemfile, *.rb |
ruby |
composer.json, *.php |
php |
Utilisez le langage détecté dans toutes les étapes suivantes partout où language est requis.
1b. Vérifier les directives et compétences existantes
Vérifiez si les directives et compétences ont déjà été ajoutées pour ce projet en cherchant leur présence dans l'espace de travail.
{language}-conventionsest la compétence produite par add_skills.{language}-security-guidelines.mdet{language}-test-guidelines.mdsont des fichiers de directives spécifiques au langage produits par add_guidelines.update-activity-workflow.mdest un fichier de directive de workflow produit par add_guidelines (il n'est pas spécifique au langage).- Vérifiez-les indépendamment. Ne considérez pas la présence d'un ensemble comme la preuve que l'autre ensemble existe déjà.
- Si des fichiers de directives requis pour ce projet manquent : Appelez add_guidelines.
- Si
{language}-conventionsmanque pour le langage du projet : Appelez add_skills. - Si tous les fichiers de directives requis et
{language}-conventionsexistent déjà : Sautez cette étape et passez à l'étape 2.
2. Découvrir les APIs disponibles
Appelez fetch_api pour trouver les APIs disponibles — commencez toujours par là.
- Fournissez toujours le paramètre
languageen utilisant le langage détecté à l'étape 1a. - Fournissez toujours le paramètre
key: passez le nom/clé de l'API de la demande de l'utilisateur (par exemple"paypal","twilio"). - Si l'utilisateur n'a pas fourni de nom/clé d'API, demandez-lui quelle API il souhaite intégrer, puis appelez
fetch_apiavec cette valeur. - L'outil retourne uniquement l'API correspondante en cas de correspondance exacte, ou le catalogue complet de l'API (nom, description et
key) quand il n'y a pas de correspondance exacte. - Identifiez l'API qui correspond à la demande de l'utilisateur en fonction du nom et de la description.
- Extrayez la
keycorrecte pour l'API demandée par l'utilisateur avant de continuer. Cette clé sera utilisée pour tous les appels d'outil suivants relatifs à cette API.
Si l'API demandée ne figure pas dans la liste :
- Informez l'utilisateur que l'API n'est pas actuellement disponible dans ce plugin (context-matic) et arrêtez-vous.
- Demandez à l'utilisateur des conseils sur comment procéder avec l'intégration de l'API.
3. Obtenir des directives d'intégration
- Fournissez à
ask:language,key(à partir de l'étape 2), et votrequery. - Divisez les questions complexes en requêtes plus petites et ciblées pour de meilleurs résultats :
- « Comment s'authentifier ? »
- « Comment créer un paiement ? »
- « Quelles sont les limites de débit ? »
4. Consulter les modèles et endpoints du SDK (selon les besoins)
Ces outils retournent uniquement des définitions — ils n'appellent pas les APIs ni ne génèrent de code.
- model_search — consulter une définition de modèle/objet.
- Fournissez :
language,key, et un nom de modèle exact ou partiel sensible à la casse en tant quequery(par exempleavailableBalance,TransactionId).
- Fournissez :
- endpoint_search — consulter les détails de la méthode d'un endpoint.
- Fournissez :
language,key, et un nom de méthode exact ou partiel sensible à la casse en tant quequery(par exemplecreateUser,get_account_balance).
- Fournissez :
5. Enregistrer les jalons
Appelez update_activity (avec le milestone approprié) chaque fois que l'un de ces jalons est concrètement atteint dans le code ou l'infrastructure — pas simplement mentionné ou planifié :
| Jalon | Quand le passer |
|---|---|
sdk_setup |
Le package SDK est installé dans le projet (par exemple npm install, pip install, go get a été exécuté avec succès). |
auth_configured |
Les identifiants API sont explicitement écrits dans l'environnement d'exécution du projet (par exemple présents dans un fichier .env, un gestionnaire de secrets, ou un fichier de configuration) et référencés dans du code réel. |
first_call_made |
Code du premier appel API écrit et exécuté |
error_encountered |
Le développeur signale un bogue, une réponse d'erreur, ou un appel qui échoue |
error_resolved |
Correctif appliqué et appel API confirmé fonctionnant |
Checklist
- [ ] Langage principal du projet détecté (étape 1a)
- [ ]
add_guidelinesappelé si les fichiers de directives manquaient, sinon ignoré - [ ]
add_skillsappelé si{language}-conventionsmanquait, sinon ignoré - [ ]
fetch_apiappelé aveclanguageetkeycorrects (nom de l'API) - [ ]
keycorrecte identifiée pour l'API demandée (ou utilisateur informé si non trouvée) - [ ]
update_activityappelé uniquement quand un jalon est concrètement atteint dans le code/infrastructure — jamais pour les questions, les recherches, ou les consultations d'outils - [ ]
update_activityappelé avec lemilestoneapproprié à chaque jalon d'intégration - [ ]
askutilisé pour les directives d'intégration et les exemples de code - [ ]
model_search/endpoint_searchutilisé selon les besoins pour les détails du SDK - [ ] Le projet se compile après chaque modification de code
Notes
- API non trouvée : Si une API manque de
fetch_api, ne devinez pas l'utilisation du SDK — informez l'utilisateur que l'API n'est pas actuellement disponible dans ce plugin et arrêtez-vous. - update_activity et fetch_api :
fetch_apiest la découverte d'API, pas l'intégration — n'appelez pasupdate_activityavant celui-ci.