it-swarm.com.de

osticket, Ticket erstellen durch REST API

Ich versuche, ein Ticket in osticket über die REST API ( https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md) zu erstellen )

Das Problem ist, dass /api/tickets.json 404 zurückgibt. Ich habe es auf einem Server im osticket-Ordner installiert (so etwas wie http: //my.net.work.ip/osticket/api/tickets.json - 404).

Außerdem habe ich versucht, den Server zu CURLEN (über ssh angemeldet), einen APIKey für die IP-Adresse des Servers erstellt und dieselbe Antwort erhalten.

Was vermisse ich hier? Vielen Dank

11

Also musste ich http.php nach api/ (/api/http.php/tickets.json) hinzufügen und jetzt kann ich Tickets erstellen.

Überprüfen Sie http://tmib.net/using-osticket-1812-api . Das verwendete Beispiel enthält diese Informationen in den Kommentaren.

enter image description here

Die beiden wirklich wichtigen Teile befinden sich in den Zeilen 18 und 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

Das Stück, das in den Dokumenten zu fehlen scheint, ist, wie der API-Schlüssel übergeben wird. Durch ein wenig Testen und das oben erwähnte Skript habe ich den X-API-Key-Header gefunden. Das heißt, Sie können Tickets erstellen, ohne ein Skript zu verwenden. Sie können Curl so einfach verwenden wie:

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

Dies funktioniert nur, wenn es von der IP-Adresse ausgeführt wird, die Sie beim Erstellen des API-Schlüssels angegeben haben.

2
user6758974

Neben dem Ändern der Zeilen 18 und 19 müssen Sie sicherstellen, dass Sie die richtige IP-Adresse haben. Sie können dies überprüfen, indem Sie auf Ihre Website gehen: http: //your.domain.tld/support/scp/logs.php

Überprüfen Sie dann, ob der Fehler API Error (401) angezeigt wird. Wenn ja, schauen Sie sich die IP-Adresse an und erstellen Sie einen neuen API-Schlüssel für diese IP-Adresse.

Das Problem war, dass ich meine IPv4-Adresse eingegeben habe, der Server jedoch meine IPv6-Adresse erhalten hat.

0
Whitecat