Ксерокопия с запиером - PullRequest
       41

Ксерокопия с запиером

1 голос
/ 25 октября 2019

Я расследую добавление веб-крюка в zapier, который будет использовать API для ксерокопирования для отправки счета. У Xero нет действия zapier для этого.

Я думал об использовании бета-версии oauth-2, но у нее сложный процесс, который не идеален для моего случая использования простого подключения к одной организации. в простой спокойной обстановке.

Есть идеи, как мне это настроить?

Ответы [ 2 ]

4 голосов
/ 30 октября 2019

Я не эксперт по Zapier, но мне удалось создать интеграцию OAuth 2.0 с действием, которое успешно отправляет счет. Это заняло несколько настроек. Я сделал это через пользовательский интерфейс, но вы можете использовать инструмент CLI, если хотите. Если у кого-нибудь есть какие-либо советы по улучшению этого, пожалуйста, сообщите мне!

Создайте новую интеграцию и выберите OAuth 2.0 для своей аутентификации. Установите URL перенаправления, идентификатор клиента и секрет клиента как обычно. Добавьте несколько областей (для отправки счета-фактуры по электронной почте требуется наличие account.transactions) и

Установите флажок «Я хочу автоматически обновлять при несанкционированной ошибке»

Для конечной точки теста используйте GET https://api.xero.com/connections

Теперь перейдите к тестовой аутентификации и пройдите процедуру авторизации, чтобы подключиться к вашей организации. Ответ на тестовый вызов будет включать tenantId, который вы можете скопировать в буфер обмена.

enter image description here

Нажмите «Сохранить и завершить», а затем перейдите на вкладку «Дополнительно». секция с левой стороны нав. Здесь вы можете добавить переменную среды TENANT_ID и вставить значение tenantId, которое есть в вашем буфере обмена.

enter image description here

Теперь вы настроили свою авторизациюМожно создать действие для отправки счета по электронной почте. Нажмите «Добавить действие», введите имя и т. Д. На вкладке «Дизайнер ввода» добавьте InvoiceID в качестве поля ввода.

enter image description here

Затем перейдите на вкладку «Конфигурация API». и настройте ваш запрос API. Здесь вам нужно переключиться в режим кода:

enter image description here

Есть три вещи, которые вам нужно добавить / изменить из стандартного шаблона

  1. Добавьте поле ввода InvoiceID в URL-адрес
  2. Добавьте заголовок xero-tenant-id с переменной среды TENANT_ID
  3. Жесткий код объекта ответа, например {«Result»:»Успех»}. Это потому, что Zapier не нравится пустое тело ответа, которое вы получаете от Xero API. Вероятно, есть менее хакерский способ сделать это, но он выполняет свою работу.

Теперь, если вы протестируете запрос API с действительным InvoiceID от вашей организации, электронное письмо будет отправлено из Xero.

Я поместил свою интеграцию на Github , которая включает в себя другие основные примеры, такие как получение счетов и создание контактов. Надеюсь, это полезно.

0 голосов
/ 02 ноября 2019

Вот как я решил это. Я не отмечаю это как правильный. Он был построен с использованием только zaps, а не платформы Zapier, которая, как я полагаю, является более надежным методом.

Zap 1 - авторизация

  1. Уловка Webhook для перенаправления URL-адреса авторизации xero.
  2. A Webhook для https://identity.xero.com/connect/token с URL перенаправления из предыдущего zap
  3. В хранилище Zapier задано несколько значений (захват токена и токена обновления)
  4. A получить Webhook https://api.xero.com/connections с действием по электронной почте для отправки идентификатора себе.
  5. отправьте клиенту приложение для авторизации приложения xero / запустите его для соответствующей учетной записи xero.

zap 2 - обновить токены, сделать запросы

  1. Получить значения хранилища
  2. Опубликовать веб-крючок для обновления токена https://identity.xero.com/connect/token
  3. Задать значения в хранилище Zapier для новых токенов
  4. Webhook для совершения звонка через xero api с использованием идентификатора клиента, который вы получили в письме, и нового токена.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...