Использовать API или SQL для обнаружения новых билетов поддержки?
В настоящее время я работаю в компании, которая использует Kayako для своей системы поддержки. Они продают дополнительную программу под названием Insta Alert, которая воспроизводит звук при подаче нового билета.
Я использую WHMCS для своей собственной компании и хотел бы разработать что-то для работы с этим, что делает то же самое. Вот API WHMCS...
http://wiki.whmcs.com/API:Functions
Мне интересно, было бы более разумно использовать удаленное приложение C++ для API или просто проверять базу данных MySQL на наличие новых заявок? Это не совсем то, с чем я слишком знаком (я обычно делаю моды), но это не кажется слишком сложным. Мне просто нужна помощь в выборе лучшего подхода.
2 ответа
Во-первых, я бы вообще не пошел по пути игры с базой данных, важная система должна иметь свою базу данных доступной только с 127.0.0.1, что исключало бы такую возможность.
Затем у вас есть возможность либо push-уведомлений, либо опросов, в зависимости от того, как работает ваше приложение.
Для опроса вам нужно будет запомнить, какой билет был последним, который вы видели, затем вы можете использовать метод API:Get_Tickets (я считаю, что вы должны использовать limitstart == последний билет, который вы видели - мы не используем эту часть whmcs, а вместо этого также использовать каяко, так что я не уверен)
В качестве альтернативы, если вам нужны push-уведомления, вы можете использовать http://wiki.whmcs.com/Hooks и хук TicketOpen, а затем заставить whmcs отправлять идентификатор заявки в ваше приложение.
Я всегда предпочел бы опубликованный API по сравнению с (обычно) базой данных черного ящика, которая имеет гораздо более высокую вероятность изменений. API был выставлен для явной цели интеграции.