Как мне обновить базу данных моего веб-приложения, когда в QuickBooks Online внесены изменения?

У меня есть веб-приложение с базой данных MySQL, которое мы поддерживаем в облаке, которое мы пытаемся интегрировать с нашей учетной записью QuickBooks Online. Мы хотим синхронизировать данные между базой данных веб-приложения и QuickBooks онлайн, например имена и адреса клиентов. Если они обновят свой адрес в веб-приложении, его можно легко обновить в QuickBooks онлайн с помощью QuickBooks Online API. Однако, если они сообщают нам свой новый адрес по телефону, а мы изменяем его непосредственно в QuickBooks в Интернете, мы не знаем, как сделать так, чтобы это что-то инициировало, чтобы оно автоматически обновляло наше веб-приложение MySQL. Как нам это сделать или узнать об этом процессе?


person dallin    schedule 11.09.2015    source источник
comment
Какой язык программирования?   -  person Keith Palmer Jr.    schedule 12.09.2015


Ответы (1)


В Intuit / QuickBooks есть API, специально предназначенный для этого варианта использования. Из документов:

Операция отслеживания измененных данных (CDC) возвращает список сущностей, которые изменились с заданного времени. Эта операция предназначена для приложения, которое периодически опрашивает службы данных, а затем обновляет свою локальную копию данных объекта.

Документы здесь:

Обычно вы делаете подписанный OAuth HTTP GET запрос следующим образом:

И вы получите список объектов, которые изменились с указанной даты / времени.

Ваше приложение может запоминать последний раз, когда вы вызывали это, и периодически вызывать этот API, чтобы получать данные, которые изменились с момента последнего вызова.

Вы получите что-то вроде этого:

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2013-04-03T10:36:19.393Z">
   <CDCResponse>
    <QueryResponse>
        <Customer>...
        </Customer>
        <Customer>...
        </Customer>
    </QueryResponse>
    <QueryResponse>
        <Invoice>...
        </Invoice>
        <Invoice>...
        </Invoice>
    </QueryResponse>
    </CDCResponse>
</IntuitResponse>
person Keith Palmer Jr.    schedule 12.09.2015