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-адрес.