Интеграция с Make
Как вызывать Typizer из Make модулем HTTP и обрабатывать результат в сценарии с вебхуком.
Как и в n8n, отдельного модуля (app) Typizer в Make нет — интеграция идёт через встроенный модуль HTTP и модуль «Custom webhook».
Названия и возможности модулей могут отличаться между версиями и тарифами Make — сверяйтесь с актуальной документацией Make, если что-то из описанного ниже называется иначе в вашем аккаунте.
Модуль HTTP: запрос к /v1/extract
Модуль «HTTP > Make a request» с методом POST на https://api.typizer.ru/v1/extract:
- заголовок
Authorization: Bearer <ключ>— ключ стоит хранить в соединении (connection) Make, а не открытым текстом в модуле; - заголовок
Idempotency-Key— свой на каждый запуск сценария: встроенная функция Make{{uuid}}генерирует новый UUID при каждом выполнении; - тип тела —
multipart/form-data: файл,schema(JSON-схема строкой) и, при необходимости,webhook_url, указывающий на модуль Custom webhook этого же сценария.
Сценарий с вебхуком
Модуль «Webhooks > Custom webhook» создаёт постоянный адрес для приёма результата — укажите его в
webhook_url запроса на извлечение, и сценарий запустится заново, когда Typizer пришлёт событие.
Как и в любой другой интеграции, не обрабатывайте тело вебхука без проверки подписи — алгоритм
тот же, что в «Приём вебхуков»: HMAC-SHA256 от
{webhook-id}.{webhook-timestamp}.{тело} на секрете конечной точки, допуск 5 минут. Проверьте, есть
ли в вашем тарифе Make встроенная функция HMAC-SHA256 (с версией и набором функций Make меняется) —
если нет, проверку делает либо собственный сервер-валидатор (ещё один HTTP-вызов из сценария), либо
модуль Code (доступен на платных планах Make) с тем же алгоритмом, что и в сниппетах на этой
странице.
Пример сценария целиком
Готовый экспорт сценария (JSON, импортируется в Make через «Import Blueprint») с модулем HTTP и модулем приёма вебхука:
{
"name": "Typizer: extract + webhook",
"flow": [
{
"id": 1,
"module": "http:ActionSendData",
"version": 3,
"metadata": { "designer": { "x": 0, "y": 0 } },
"parameters": {},
"mapper": {
"url": "https://api.typizer.ru/v1/extract",
"method": "POST",
"headers": [
{ "name": "Authorization", "value": "Bearer {{connection.apiKey}}" },
{ "name": "Idempotency-Key", "value": "{{uuid}}" }
],
"qs": [],
"bodyType": "multipart",
"parseResponse": true,
"multipart": [
{ "name": "file", "type": "file", "value": "{{1.data}}" },
{
"name": "schema",
"type": "text",
"value": "{\"type\":\"object\",\"properties\":{\"invoice_number\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"inn\":{\"type\":\"string\",\"x-typizer-check\":\"inn\"}},\"required\":[\"invoice_number\",\"total\"]}"
},
{ "name": "webhook_url", "type": "text", "value": "{{2.url}}" }
]
},
"notes": "{{uuid}} — встроенная функция Make, генерирует новый UUID при каждом запуске сценария: свой Idempotency-Key на каждый вызов. {{2.url}} — адрес вебхука из модуля 2 этого же сценария (см. ниже): результат придёт туда."
},
{
"id": 2,
"module": "gateway:CustomWebHook",
"version": 1,
"metadata": { "designer": { "x": 300, "y": 300 } },
"parameters": {
"hook": "typizer-webhook",
"maxResults": 1
},
"mapper": {}
},
{
"id": 3,
"module": "util:ComposeTemplate",
"version": 1,
"metadata": { "designer": { "x": 600, "y": 300 } },
"parameters": {},
"mapper": {
"template": "Проверка подписи — тот же алгоритм, что в snippets/webhooks/verify.ts (см. «Приём вебхуков»): HMAC-SHA256 от {{webhook-id}}.{{webhook-timestamp}}.{{тело}} на секрете конечной точки, допуск 5 минут. В Make подпись проверяется модулем «HTTP > Make a request» к собственному серверу-валидатору или функцией в модуле Code (платный план Make); готового встроенного HMAC-модуля в Make нет — сверяйтесь с актуальной документацией Make."
},
"notes": "Эта заметка — не исполняемый шаг, а напоминание: без проверки подписи не обрабатывайте тело вебхука как доверенное."
}
],
"metadata": {
"instant": true,
"version": 1,
"scenario": {
"roundtrips": 1,
"maxErrors": 3,
"autoCommit": true,
"sequential": false,
"confidential": false,
"dataloss": false,
"dlq": false
},
"designer": { "orphans": [] }
}
}Что дальше
- «Приём вебхуков» — полное описание заголовков, повторов и проверки подписи.
- «Интеграция с n8n» — тот же сценарий в n8n.