2014-05-08 9 views
11

Próbuję utworzyć bilet w osTicket poprzez REST API (https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md)osTicket, tworzyć bilet przez REST API

Problemem jest /api/tickets.json powraca 404. Mam go zainstalowanego na serwerze w folderze osTicket (coś jak http://my.net.work.ip/osticket/api/tickets.json - 404)

Próbowałem również CURL serwera (zalogowany przez ssh), stworzył APIKey na adres IP serwera i miał taką samą odpowiedź.

Czego mi tu brakuje? Dziękujemy

Odpowiedz

13

Tak więc musiałem dodać http.php po api/ (/api/http.php/tickets.json), a teraz mogę tworzyć bilety.

Sprawdź http://tmib.net/using-osticket-1812-api. Użyta próbka zawiera te informacje w komentarzach.

enter image description here

Obie części są bardzo ważne na liniach 18 i 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

Proszę użyć linku edycji na swoje pytanie, aby dodać dodatkowe informacje. Przycisk "Post Post" powinien być używany tylko w celu uzyskania pełnych odpowiedzi na pytanie. – dbugger

+7

To odpowiedział na moje pytanie i mój problem został rozwiązany –

+0

jak stworzyć użytkownika za pomocą api? –

0

Poza zmianą linie 18 i 19 trzeba się upewnić, że masz poprawny adres IP. Możesz to sprawdzić, przechodząc do witryny tutaj: http://your.domain.tld/support/scp/logs.php

Następnie sprawdź, czy pojawia się błąd API Error (401). Jeśli tak, spójrz na adres IP i utwórz nowy klucz API dla tego adresu IP.

Problem, z którym miałem do czynienia, to wpisanie adresu IPv4, ale serwer otrzymywał mój adres IPv6.

2

Utwór, którego brakuje w dokumentach, to przekazywanie klucza API. Poprzez trochę testów i skrypt wspomniałem powyżej, znalazłem nagłówek X-API-Key. Oznacza to, że można tworzyć bez biletów za pomocą skryptu, można użyć curl tak łatwo, jak:

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 

to będzie działać tylko wtedy, gdy jest uruchamiany z adresu IP określonym podczas tworzenia klucza API.