Я не эксперт по Zapier, но мне удалось создать интеграцию OAuth 2.0 с действием, которое успешно отправляет счет. Это заняло несколько настроек. Я сделал это через пользовательский интерфейс, но вы можете использовать инструмент CLI, если хотите. Если у кого-нибудь есть какие-либо советы по улучшению этого, пожалуйста, сообщите мне!
Создайте новую интеграцию и выберите OAuth 2.0 для своей аутентификации. Установите URL перенаправления, идентификатор клиента и секрет клиента как обычно. Добавьте несколько областей (для отправки счета-фактуры по электронной почте требуется наличие account.transactions) и
Установите флажок «Я хочу автоматически обновлять при несанкционированной ошибке»
Для конечной точки теста используйте GET https://api.xero.com/connections
Теперь перейдите к тестовой аутентификации и пройдите процедуру авторизации, чтобы подключиться к вашей организации. Ответ на тестовый вызов будет включать tenantId, который вы можете скопировать в буфер обмена.
Нажмите «Сохранить и завершить», а затем перейдите на вкладку «Дополнительно». секция с левой стороны нав. Здесь вы можете добавить переменную среды TENANT_ID и вставить значение tenantId, которое есть в вашем буфере обмена.
Теперь вы настроили свою авторизациюМожно создать действие для отправки счета по электронной почте. Нажмите «Добавить действие», введите имя и т. Д. На вкладке «Дизайнер ввода» добавьте InvoiceID в качестве поля ввода.
Затем перейдите на вкладку «Конфигурация API». и настройте ваш запрос API. Здесь вам нужно переключиться в режим кода:
Есть три вещи, которые вам нужно добавить / изменить из стандартного шаблона
- Добавьте поле ввода InvoiceID в URL-адрес
- Добавьте заголовок xero-tenant-id с переменной среды TENANT_ID
- Жесткий код объекта ответа, например {«Result»:»Успех»}. Это потому, что Zapier не нравится пустое тело ответа, которое вы получаете от Xero API. Вероятно, есть менее хакерский способ сделать это, но он выполняет свою работу.
Теперь, если вы протестируете запрос API с действительным InvoiceID от вашей организации, электронное письмо будет отправлено из Xero.
Я поместил свою интеграцию на Github , которая включает в себя другие основные примеры, такие как получение счетов и создание контактов. Надеюсь, это полезно.