web-dev-qa-db-fra.com

osticket, créer un ticket par REST API

J'essaie de créer un ticket dans osticket via son API REST ( https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md )

Le problème est /api/tickets.json renvoie 404. Je l'ai installé dans un serveur sur le dossier osticket (quelque chose comme http: //my.net.work.ip/osticket/api/tickets.json - 404)

En outre, j'ai essayé de CURL le serveur (connecté via ssh), créé une APIKey pour l'adresse IP du serveur et obtenu la même réponse.

Qu'est-ce que j'oublie ici? Je vous remercie

11

Donc, je devais ajouter http.php après api/ (/api/http.php/tickets.json) et maintenant je peux créer des tickets.

Vérifiez http://tmib.net/using-osticket-1812-api . L'échantillon utilisé a cette information dans les commentaires.

enter image description here

Les deux parties vraiment importantes sont sur les lignes 18 et 19.

'url'=>'http://your.domain.tld/api/http.php/tickets.json', // URL to site.tld/api/tickets.json
'key'=>'PUTyourAPIkeyHERE' // API Key goes here
//Edit line 18 to have your URL.
//Edit line 19 by changing "PUTyourAPIkeyHERE" to your API key (aka the "THISISAFAKEAPIKEYHERE!" from earlier).
15

La pièce qui semble manquer à la documentation est comment passer la clé API. Après quelques tests et le script mentionné ci-dessus, j'ai trouvé l'en-tête X-API-Key. Cela signifie que vous pouvez créer des tickets sans utiliser de script, vous pouvez utiliser curl aussi facilement que:

curl -X POST -H "X-API-Key: 1234567890ABCDEF" -v -d'{"autorespond":false, "source": "API", "name": "Doctor Who", "email":"[email protected]", "subject":"Have you seen my Tardis key?", "message":"I have managed to lock myself out of the Tardis, can you send me a spare key?"}' http://support.gallifrey.org/api/tickets.json

Cela fonctionnera uniquement s'il est exécuté à partir de l'adresse IP que vous avez spécifiée lors de la création de la clé d'API.

2
user6758974

En plus des lignes 18 et 19, vous devez vous assurer que vous avez la bonne adresse IP. Vous pouvez vérifier cela en allant sur votre site ici: http: //votre.domaine.tld/support/scp/logs.php

Ensuite, regardez si vous obtenez l'erreur API Error (401). Dans ce cas, examinez l'adresse IP et créez une nouvelle clé API pour cette adresse IP.

Le problème que je rencontrais était que je tapais dans mon adresse IPv4, mais le serveur obtenait mon adresse IPv6.

0
Whitecat