ISPmanager API.Information générale (ISPmanager)

De ISPWiki.

ISPmanager 4 donne la possibilité d'utiliser toutes ses fonctions des programmes externes qui peuvent etre placés locallement (sur le meme serveur) et aussi à distance (sur un autre serveur). Pour activer une fonction d'ISPmanager [auth.api l'identification] peut etre nécessaire .

Sommaire

Format de sortie des résultats d'exécution des fonctions d' ISPmanager 4

ISPmanager 4 donne la possibilité d'obtenir des résultats d'exécution de ses fonctions au format XML, aussi bien qu'au format textuel.

La sortie des résultats d'exécution des fonctions d' ISPmanager au format XML

Pour obtenir les données en XML il est nécessaire d' indiquer un paramètre supplémentaire out=xml dans la requete. Le résultat dépend du type de fonction à laquelle vous vous adressez. Alors, quand vous obtenez la liste des éléments, la fonction retourne le document XML composé de la liste des noeuds XML, l'un sur chaque élément. Chaque noeud à son tour est composé d' ensemble de noeuds définissant les paramètres de cet élément. Par exemple, en vous connectant au panneau d'administration pour obtenir la liste des sites vous voyez à peu près la chose suivante:

# fetch -qo - "http://localhost/manager/ispmgr? func=site&out=xml" <?xml version="1.0" encoding="UTF-8"?> <doc> <elem> <name>site1.com</name> <admin>admin1</admin> <disabled/> <ssi/> <ssl/> <user used="1" limit="10"/> <disk used="27" limit="50"/> <traf used="0" limit="1024"/> </elem> <elem> <name>site2.com</name> <admin>admin2</admin> <frp/> <user used="3" limit="100"/> <disk used="381" limit="500"/> <traf used="281" limit="1024"/> </elem> </doc>

Lors de l'appel d'une fonction qui donne l'ensemble de paramètres p.ex. lors de sa visualisation ou édition, le panneau d'administration retourne le document XML avec la liste des noeuds correspondant aux paramètres d'un élément édité. Par exemple, en affichant les paramètres du site vous voyez:

# fetch -qo - "http://127.0.0.1/manager/ispmgr?func= site.edit&elid=site1.com&out=xml" <?xml version="1.0" encoding="UTF-8"?> <doc> <elid>site1.com</elid> <name>site1.com</name> <gid>1013</gid> <alias>www.site1.com</alias> <disabled/> <cgi/> <phptype>phpnone</php> <ssi/> <sslport>443</sslport> <alluser>10</alluser> <shelluser>0</shelluser> <domain>1</domain> <base>1</base> <traf>1024</traf> <disklimit>1</disklimit> </doc>

Si vous appelez la fonction qui doit effectuer une opération p.ex. désactiver le site et tous ses utilisateurs, le panneau d'administration retourne le document XML de réussite de l' opération

# fetch -qo - "http://127.0.0.1/manager/ispmgr?func=site .disable&elid=site1.com&out=xml" <?xml version="1.0" encoding="UTF-8"?> <doc> <ok>restart</ok> </doc>

ou le message d'erreur

# fetch -qo - "http://127.0.0.1/manager/ispmgr?func=site disable&elid=abrakadabra&out=xml" <?xml version="1.0" encoding="UTF-8"?> <doc> <error>site abrakadabra not found.</error> </doc>

La sortie des résultats d'exécution des fonctions d' ISPmanager au format textuel

Pour obtenir les données au format textuel il est nécessaire d'indiquer un paramètre supplémentaire out=text dans la requete. Le résultat dépend aussi du type de fonction à laquelle vous vous adressez. Ainsi, si vous obtenez la liste des éléments, la fonction retourne la liste des lignes chacune desquelles correspond à un seul élément et est composée d'ensemble de paramètres de cet élément. P.ex. quand vous vous connectez au panneau d'administration pour obtenir la liste des sites vous verrez à peu près la chose suivante:

# fetch -qo - "http://localhost/manager/ispmgr?func =site&out=text" name=site1.com admin=admin1 disabled ssi ssl user=1/10 disk=27/50 traf=0/1024 name=site2.com admin=admin2 ssi user=3/100 disk=381/500 traf=281/1024

Lors de l'appel d'une fonction qui retourne l'ensemble de paramètres d'un élément p.ex. lors de sa visualisation et edition, le panneau d'administration retourne la liste des paramètres d'un élément, l'un pour chaque ligne. Par exemple, rvant les paramètres du site vous voyez:

# fetch -qo - "http://127.0.0.1/manager/ispmgr?func =site.edit&elid=site1.com&out=text" elid=site1.com name=site1.com gid=1013 alias=www.site1.com disabled cgi phptype=phpnone ssi sslport=443 alluser=10 shelluser=0 domain=1 base=1 traf=1024 disklimit=50

Si vous appelez la fonction qui doit effectuer une opération p.ex. désactiver le site et tous ses utilisateurs, en cas de réussite de l'opération le panneau d' administration retourne

# fetch -qo - "http://127.0.0.1/manager/ ispmgr?func=site.disable&elid=site1.com&out=text" OK

ou le message d'erreur

# fetch -qo - "http://127.0.0.1/manager/ispmgr? =site.disable&elid=abrakadabra&out=text" ERROR: site abrakadabra not found.

L'ordre de la description des fonctions d'ISPmanager

La description des fonctions d'ISPmanager est la suivante:

Fonction: le nom de fonction qu'il est nécessaire d'indiquer dans le paramètre func de la requete.

Paramètres: la liste des paramètres avec une description brève. Si la fonction n'accepte aucuns paramètres, ils ne sont pas indiqués dans la description. Les paramètres sont spécifiés au format paramètre =valeur.

Résultat: il existe quelques types de résultats, cela dépend du type d'une fonction requise:

  • Liste des éléments (tableau).
  • Liste des paramètres d'un objet (formulaire).
  • Réussite de l'opération (action).
  • Message d'erreur

Ci-dessous nous envisageons chacun de ces types de résultat avec description et des exemples.

Liste des éléments (tableau)

Dans ce cas le document XML est le suivant:

<?xml version="1.0" encoding="UTF-8"?> <doc> <elem>paramètres d'un élément dans la liste</elem> <elem>paramètres d'un élément dans la liste</elem> ... <elem>paramètres d'un élément dans la liste</elem> </doc>

Nous n'envisageons que les paramètres d'un élément dans la liste qui représentent un ou plusieurs noeuds XML avec des attributs et valeurs possibles car tout le reste est identique pour tous les listes des éléments. Exemple::

<?xml version="1.0" encoding="UTF-8"?> <doc> <elem> <name>foo.org</name> <admin>foo_admin</admin> <php/> <ssi/> <user used="1" limit="10"/> <disk used="0" limit="10"/> <traf used="3542" limit="8192"/> </elem> <elem> <name>example.com</name> <admin>example</admin> <cgi/> <php/> <ssi/> <frp/> <user used="5" limit="50"/> <disk used="39" limit="50"/> <traf used="1084" limit="4096"/> </elem> </doc>

Liste des paramètres d'un objet (formulaire)

En ce cas le document XML est le suivant:

<?xml version="1.0" encoding="UTF-8"?> <doc> <elid>un identificateur d'un objet</elid> paramètres d'objet </doc>

Nous n'envisageons que les paramètres d'un objet qui représentent un ou plusieurs noeuds XML avec des attributs et valeurs possibles décrivant les propriétés de cet objet. Tout le reste est identique pour tous les listes des éléments. Exemple:

<?xml version="1.0" encoding="UTF-8"?> <doc> <elid>example.com</elid> <name>example.com</name> <gid>1001</gid> <alias>www.example.com test.example.com</alias> <cgi/> <phptype>phpcgi</phptype> <ssi/> <frp/> <sslport>443</sslport> <alluser>50</alluser> <shelluser>5</shelluser> <domain>1</domain> <base>3</base> <traf>4096</traf> <disklimit>50</disklimit> </doc>

Réussite de l'opération (action)

Ce résultat est obtenu lors de la création, modification, suppression, activation ou désactivation d'un objet. Dans ce cas le document XML est le suivant:

<?xml version="1.0" encoding="UTF-8"?> <doc> <ok/> </doc>

S'il nécessaire de redémmarer le serveur web alors:

<?xml version="1.0" encoding="UTF-8"?> <doc> <ok>restart</ok> </doc>

Pour redémarrer le serveur web il faut visiter cette URL:

http://IP-address/manager/ispmgr?out=xml&func =restart

Message d'erreur

Ce résultat est obtenu lors de l'apparition d'une erreur au cours du traitement de votre requête. Dans ce cas le document XML est le suivant:

<?xml version="1.0" encoding="UTF-8"?> <doc> <error>error message</error> </doc>

Cet article vous a-t-il été utile? Oui | Non
Affichages
Outils personnels