Osticket, создать билет через REST API
Я пытаюсь создать билет в прописке через свой REST API (https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md)
Проблема заключается в том, что /api/tickets.json
возвращает 404. Я установил ее на сервере в папке с таблицей (что-то вроде http://my.net.work.ip/osticket/api/tickets.json - 404)
Кроме того, я попытался выполнить CURL-сервер (зарегистрировался через ssh), создал APIKey для IP-адреса сервера и получил тот же ответ.
Что мне здесь не хватает?
Спасибо вам
Ответы
Ответ 1
Итак, мне пришлось добавить http.php
после api/
(/api/http.php/tickets.json
), и теперь я могу создавать билеты.
Отметьте http://tmib.net/using-osticket-1812-api. Используемый образец содержит эту информацию в комментариях.
![enter image description here]()
Две действительно важные части находятся на строках 18 и 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).
Ответ 2
В документации, которая, как представляется, отсутствует в документации, как передать ключ API. Через немного тестирования и script, упомянутых выше, я нашел заголовок X-API-Key. Это означает, что вы можете создавать билеты без использования script, вы можете использовать curl так же легко, как:
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
Это будет работать, только если он запущен с IP-адреса, указанного вами при создании ключа API.
Ответ 3
Помимо изменения линий 18 и 19 вам необходимо убедиться, что у вас есть правильный IP-адрес. Вы можете проверить это, перейдя на ваш сайт здесь: http://your.domain.tld/support/scp/logs.php
Затем посмотрите, есть ли у вас ошибка API Error (401)
. Если вы это сделаете, посмотрите на IP-адрес и создайте новый ключ API для этого IP-адреса.
Проблема, с которой я столкнулся, - это ввести свой IPv4-адрес, но сервер получил мой IPv6-адрес.