# Nodaro com o Make

> Inicie um workflow do Nodaro em um cenário do Make com o app HTTP e receba a imagem ou o vídeo pronto em um webhook personalizado do Make. Sem chave de API.

Source: https://nodaro.ai/pt-BR/docs/guides/make-integration

O **Make** pode iniciar qualquer workflow do Nodaro a partir de um cenário e receber a imagem, o vídeo ou o áudio pronto em um webhook personalizado. O Nodaro faz a geração. O Make decide quando a execução acontece e para onde o resultado vai depois. Nenhuma das duas direções precisa de uma chave de API do Nodaro, porque o próprio endereço de webhook do workflow inicia a execução.

## Como os dois se conectam
1. O módulo **Make a request** do app HTTP envia por POST um corpo JSON, por exemplo um prompt, ao endereço de webhook de um workflow do Nodaro.
2. O workflow do Nodaro começa com um [Gatilho de webhook](https://nodaro.ai/docs/nodes/automate/webhook-trigger), executa os nós dele e termina com uma [Saída de webhook](https://nodaro.ai/docs/nodes/publish/webhook-output).
3. A Saída de webhook envia o resultado por POST a um **Custom webhook** do Make, que inicia um segundo cenário com o resultado.

Workflow: O lado do Nodaro: um cenário do Make inicia o Gatilho de webhook, e a Saída de webhook envia o endereço da imagem a um webhook personalizado do Make.

- Gatilho de webhook → Gerar imagem (prompt)
- Gerar imagem → Saída de webhook (image_url)

## Etapa 1: receber o resultado no Make
Crie primeiro o lado que recebe, porque o workflow do Nodaro precisa do endereço dele.

1. Crie um cenário e adicione o módulo **Webhooks › Custom webhook** como gatilho dele.
2. Clique em **Add** ao lado de **Webhook**, dê um nome a ele, por exemplo “Resultado do Nodaro”, e clique em **Save**.
3. Copie a URL que o Make gera. Agora o Make fica aguardando a primeira requisição.

Cada webhook do Make pertence a um único cenário. Ative o cenário quando ele estiver pronto, para que ele processe cada resultado assim que chegar.

## Etapa 2: montar o workflow do Nodaro
1. Adicione um nó **Gatilho de webhook**. Em **Parâmetros de saída**, adicione um parâmetro chamado `prompt`, do tipo **Texto**.
2. Conecte a saída `prompt` à entrada de prompt de um nó [Gerar imagem](https://nodaro.ai/docs/nodes/image/generate-image), ou de qualquer outro nó que crie um resultado.
3. Adicione um nó **Saída de webhook**. Cole a URL do webhook do Make em **URL do webhook**. Em **Parâmetros de entrada**, adicione `image_url`, do tipo **URL de imagem**, e conecte a imagem a ele.
4. Salve o workflow. Selecione o Gatilho de webhook e copie o endereço dele em **URL do webhook**.

O endereço tem a forma `https://app.nodaro.ai/v1/webhooks/<token>`. O token funciona como uma senha: qualquer pessoa que tenha o endereço pode iniciar o workflow.

## Etapa 3: iniciar a execução pelo Make
1. No cenário que deve iniciar a execução, adicione o módulo **Make a request** do app **HTTP**.
2. Cole o endereço do Nodaro em **URL** e defina **Method** como **POST**.
3. Defina **Body content type** como `application/JSON` e **Body input method** como **Data structure**. Adicione um campo chamado `prompt` e mapeie o valor de um módulo anterior.
4. Defina **Parse response** como **Yes**, para que os próximos módulos possam mapear o `executionId`.

O método **Data structure** escapa os seus valores. Uma string JSON crua com valores mapeados pode quebrar quando um valor contém aspas.

## O que volta
O Nodaro responde à requisição na hora, antes de gerar qualquer coisa. A resposta é `202`, com o ID da execução:

```json
{ "executionId": "3f9e2b1a-7c6d-4e5f-8a9b-0c1d2e3f4a5b", "status": "pending" }
```

Quando a execução termina, a Saída de webhook envia o resultado por POST ao seu webhook personalizado. O corpo tem uma chave por parâmetro de entrada, e os valores de mídia são endereços de arquivos no Nodaro:

```json
{ "image_url": "https://cdn.nodaro.ai/images/2538b658-d2e1-42ee-890a-72ce06089feb.png" }
```

Execute o workflow do Nodaro uma vez enquanto o webhook personalizado escuta, e o Make aprende a estrutura; assim, `image_url` vira um campo que você pode mapear. Você também pode definir a estrutura à mão nas configurações avançadas do webhook.

## Consultar periodicamente em vez de usar um webhook
Você também pode consultar o resultado periodicamente com um [token de API pessoal](https://nodaro.ai/docs/developers/api/authentication), no mesmo cenário. A consulta periódica funciona para workflows dos seus projetos pessoais.

1. Depois do módulo da requisição, adicione o módulo **Tools › Sleep**, por exemplo por 30 segundos.
2. Adicione outro módulo **Make a request** com **Method** **GET** e a URL `https://app.nodaro.ai/v1/api/status/<executionId>`, com o `executionId` mapeado da primeira requisição.
3. Para o token, escolha o tipo de autenticação **API key**: coloque `Bearer <your API token>` em **Key**, posicione-o no cabeçalho e dê ao parâmetro o nome `Authorization`.
4. Quando o status for `completed`, chame `https://app.nodaro.ai/v1/api/result/<executionId>` do mesmo jeito. A resposta lista as saídas da execução com os endereços delas.

Um vídeo pode levar vários minutos, e um módulo Sleep espera por um tempo limitado. Para execuções longas, o método com webhook acima é mais simples. [Executar um workflow com novos valores de entrada](https://nodaro.ai/docs/developers/api/workflows#run-a-workflow-with-new-input-values) descreve as respostas de status e de resultado.

## Limites a considerar
| Limite | O que acontece | O que fazer |
| --- | --- | --- |
| Uma execução por vez em cada workflow | Uma requisição durante uma execução responde `409`, com o `executionId` da execução em andamento. | Envie a próxima requisição depois que o resultado anterior chegar, ou copie o workflow. |
| 10 requisições por minuto por endereço | As requisições a mais respondem `429`. | Espace as requisições. |
| Uma única tentativa de entrega | A Saída de webhook espera 30 segundos por uma resposta e não tenta de novo. Uma entrega com falha faz o nó falhar. | Mantenha ativado o cenário que recebe. |
| Um webhook do Make sem uso é desativado | O Make desativa um webhook que nenhum cenário usa por 5 dias. | Mantenha o webhook personalizado em um cenário ativo. |

## Quanto custa
O Gatilho de webhook e a Saída de webhook não custam nada. Você paga os créditos dos nós entre eles, pelos mesmos preços do editor. No exemplo acima, cada execução custa o preço de uma imagem do Nano Banana 2, 22 créditos. Os créditos reservados para um nó que falha voltam automaticamente.

O mesmo padrão funciona no [n8n](https://nodaro.ai/docs/guides/n8n-integration) e no [Zapier](https://nodaro.ai/docs/guides/zapier-integration). [Automações](https://nodaro.ai/docs/guides/automations) trata dos agendamentos e das outras formas de iniciar um workflow.

## Perguntas frequentes

### Preciso de uma chave de API do Nodaro para usar o Nodaro pelo Make?

Não. O módulo Make a request do app HTTP inicia a execução pelo endereço de webhook do workflow do Nodaro, e o nó Saída de webhook envia o resultado a um webhook personalizado do Make. Você só precisa de uma chave de API se consultar o resultado periodicamente.

### Por que não consigo mapear os campos do resultado do Nodaro no Make?

Um webhook personalizado do Make aprende a estrutura de dados com a primeira requisição que recebe. Execute o workflow do Nodaro uma vez enquanto o webhook escuta, ou defina a estrutura de dados à mão, e os campos ficam disponíveis.

### Por que o Nodaro responde 409?

O workflow do Nodaro já tem uma execução em andamento, e um workflow atende uma requisição por vez. Envie a próxima requisição depois que o resultado anterior chegar, ou faça uma cópia do workflow para execuções em paralelo.

### Quanto custa?

O Gatilho de webhook e a Saída de webhook são gratuitos. Você paga os créditos dos nós entre eles, pelos mesmos preços do editor.
