Créer un rôle API WHMCS en lecture seule
0seat appelle l’API officielle de WHMCS avec dix actions, toutes en lecture. Ce guide crée le rôle qui n’autorise que ces dix actions, les identifiants dédiés, puis règle et teste la connexion depuis la console. Aucun module à installer.
Les dix actions, et rien d’autre
La liste est fermée dans le code de 0seat : une action absente de cette liste n’est jamais appelée, quel que soit ce que le rôle autorise. Le rôle que vous créez doit donc contenir exactement ces actions.
- GetClients et GetClientsDetails : retrouver le client par son adresse e-mail.
- GetClientsProducts et GetClientsDomains : ses services et ses domaines, avec état et dates.
- GetInvoices et GetInvoice : ses factures, avec échéance, montant, devise et état.
- GetOrders : ses commandes et leur état de paiement.
- GetTickets : l’objet et l’état de ses tickets, jamais leur corps.
- GetProducts et GetTLDPricing : votre catalogue et vos tarifs par extension, relus toutes les douze heures.
Créer le rôle dans WHMCS
Dans l’administration de WHMCS, les identifiants d’API et leurs rôles se gèrent dans les réglages système, section « API Credentials ». Le détail des menus varie selon la version ; les étapes, elles, ne changent pas.
- Ouvrez l’onglet des rôles d’API et créez un rôle nommé, par exemple, « 0seat lecture seule ».
- Cochez les dix actions ci-dessus, et aucune autre. Décochez en particulier toute action commençant par Add, Update, Delete, Send ou Accept.
- Ouvrez l’onglet des identifiants et générez un nouvel identifiant d’API rattaché à un utilisateur administrateur, en lui attribuant ce seul rôle.
- Notez l’identifiant et le secret : le secret n’est affiché qu’une fois par WHMCS, et 0seat ne le réaffichera jamais non plus.
- Si votre WHMCS restreint l’API par adresse IP, ajoutez l’adresse de 0seat : demandez-la-nous par le formulaire de contact.
Régler la connexion dans la console
Sur la page de l’espace, la section « WHMCS (facultatif) » prend l’adresse de l’API, c’est-à-dire l’adresse de votre WHMCS suivie de « /includes/api.php », l’identifiant et le secret.
- Renseignez l’adresse de l’API, l’identifiant et le secret.
- Listez les produits dont l’assistant peut citer le tarif, par leurs noms exacts dans WHMCS, séparés par des virgules ; puis les extensions de domaine, et la devise de vos tarifs.
- Cliquez sur « Tester et enregistrer ». La console confirme la connexion avec le nombre de produits et d’extensions trouvés, et liste ceux qu’elle a reconnus.
- Les identifiants sont chiffrés à l’enregistrement et ne sont plus jamais affichés. Pour les remplacer, saisissez-en de nouveaux ; pour retirer WHMCS, le bouton dédié efface les secrets.
Ce que 0seat fait de ces accès
Au moment de rédiger un brouillon, 0seat retrouve le client par l’adresse e-mail du contact, ne retient aucun compte en cas de doublon, puis lit ses services, domaines, factures et commandes. Les champs mot de passe, adresse postale et téléphone sont retirés dans le code avant tout appel au modèle. Le corps des tickets n’est pas lu.
Les appels portent un agent utilisateur identifiable et sont espacés : un pare-feu applicatif ne verra pas de rafale venant d’un client HTTP générique. Sur commande d’un agent, un récapitulatif de compte construit par le code, sans texte de modèle, peut être envoyé à l’adresse du client.