2014-05-08 4 views
11

Sto cercando di creare un biglietto in osTicket attraverso la sua API REST (https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md)osTicket, creare biglietto tramite API REST

Il problema è /api/tickets.json rendimenti 404. Ce l'ho installato su un server sulla cartella osTicket (qualcosa come http://my.net.work.ip/osticket/api/tickets.json - 404)

Inoltre, ho provato a CURL il server (connesso tramite ssh), ho creato un APIKey per l'indirizzo IP del server e ho avuto la stessa risposta.

Cosa mi manca qui? Grazie

risposta

13

Quindi, ho dovuto aggiungere http.php dopo api/ (/api/http.php/tickets.json) e ora posso creare i biglietti.

Verificare http://tmib.net/using-osticket-1812-api. L'esempio utilizzato ha queste informazioni nei commenti.

enter image description here

Le due parti veramente importanti sono sulle linee 18 e 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). 
+1

Utilizzare il collegamento di modifica nella domanda per aggiungere ulteriori informazioni. Il pulsante Post risposta deve essere utilizzato solo per risposte complete alla domanda. – dbugger

+7

Questo ha risposto alla mia domanda e il mio problema è stato risolto –

+0

come creare un utente tramite API? –

0

Oltre a cambiare le linee 18 e 19 è necessario assicurarsi di avere l'indirizzo IP corretto. È possibile controllare che andando al tuo sito qui: http://your.domain.tld/support/scp/logs.php

Quindi controllare se viene visualizzato l'errore API Error (401). Se lo fai, guarda l'indirizzo IP e crea una nuova chiave API per quell'indirizzo IP.

Il problema che stavo affrontando era digitare il mio indirizzo IPv4, ma il server stava ricevendo il mio indirizzo IPv6.

2

Il pezzo che sembra mancare dai documenti è come passare la chiave API. Attraverso un po 'di test e lo script sopra menzionato, ho trovato l'intestazione X-API-Key. Ciò significa che è possibile creare biglietti senza l'utilizzo di uno script, è possibile utilizzare ricciolo facilmente come:

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 

questo funziona solo se viene eseguito dall'indirizzo IP specificato quando è stata creata la chiave API.