Documentation Index
Fetch the complete documentation index at: https://docs.dilli.studio/llms.txt
Use this file to discover all available pages before exploring further.
As automações da Dilli permitem capturar webhooks de entrada, validar a carga útil e responder ou chamar outros serviços sem gerenciar servidores.
Como funciona
- Gatilho: Cada automação tem uma URL única. Aponte ferramentas externas (pagamentos, formulários, envio, etc.) para ela.
- Validar: Defina regras simples para que cargas úteis ruins sejam interrompidas antes que as ações sejam executadas.
- Agir: Encadeie chamadas HTTP de saída, ramifique em condições e molde a resposta final que deseja retornar.
- Responder: Envie de volta uma resposta HTTP limpa (status, cabeçalhos, corpo) para o chamador.
Pausar e retomar
- Pause uma automação para interromper o processamento temporariamente (útil durante manutenção ou testes).
- Enquanto pausado, novas solicitações recebem uma resposta de “temporariamente indisponível” e nenhuma ação é executada.
- Retome para voltar ao processamento normal instantaneamente.
Caixa de entrada e repetição
- Cada solicitação é registrada em uma Caixa de Entrada com método, caminho, corpo, carimbos de data/hora e se foi bem-sucedida.
- Repita qualquer solicitação passada para testar alterações sem esperar por um evento ao vivo.
- Os logs permanecem por 30 dias por padrão (opções de retenção dependentes do plano podem ser aplicadas).
Usos comuns
- Capture webhooks de pagamento ou assinatura e sincronize-os com registros de CRM.
- Gere redirecionamentos dinâmicos após envios de formulários (por exemplo, rotear para diferentes páginas de agradecimento).
- Enriqueça os dados recebidos com uma chamada rápida para uma API de terceiros e, em seguida, retorne uma resposta personalizada.
actions:
- name: "Get Auth Token"
type: "http_request"
method: "POST"
url: "https://api.example.com/token"
headers:
Content-Type: "application/x-www-form-urlencoded"
data:
auth_type: "DEV"
grant_type: "password"
username: "dummy_user"
password: "dummy_pass"
set:
access_token: output.access_token
- name: "Fetch Destination City Code"
type: "http_request"
method: "GET"
url: "https://api.example.com/cities"
headers:
Authorization: "Bearer {{ vars.access_token }}"
data:
zipCode: "{{ request.destination.postal_code }}"
set:
destination_city_code: output.city_id
- name: "Generate Shipping Quote"
type: "http_request"
method: "POST"
url: "https://api.example.com/shipping"
headers:
Authorization: "Bearer {{ vars.access_token }}"
Content-Type: "application/json"
data:
OriginZipCode: "{{ request.origin.postal_code }}"
OriginCityId: 1234
DestinationZipCode: "{{ request.destination.postal_code }}"
DestinationCityId: "{{ vars.destination_city_code }}"
TotalWeight: 10.0
InvoiceValue: 999.99
ReceiverCpfcnpj: "00000000000000"
ContactName: "Contact Name"
ContactPhoneNumber: "123456789"
set:
carrier_name: "Example Carrier"
carrier_code: "EXPRESS"
price: output.total_price
currency: "BRL"
type: "ship"
min_delivery_date: "2025-01-01T00:00:00-0300"
max_delivery_date: "2025-01-05T00:00:00-0300"
phone_required: true
reference: "dummy_ref"
Redirecionamento
Se definido, o fluxo redirecionará a solicitação para uma URL específica após a execução de todas as ações.
redirect:
to: "https://example.com/success"
Resposta
Defina a estrutura da resposta da automação, incluindo status HTTP, cabeçalhos e corpo.
response:
status: 200
headers:
Content-Type: "application/json"
X-Powered-By: "Dilli Studio"
body:
rates:
- name: "{{ vars.carrier_name }}"
code: "{{ vars.carrier_code }}"
price: "{{ vars.price }}"
currency: "{{ vars.currency }}"
type: "{{ vars.type }}"
min_delivery_date: "{{ vars.min_delivery_date }}"
max_delivery_date: "{{ vars.max_delivery_date }}"
phone_required: true
reference: "{{ vars.reference }}"