Publicarea Asistenților ca API REST & Webhook-uri în Dify.ai & Enterprise RAG

Integrare și API Dify API v1

Integrarea fluxurilor vizuale în site-uri web, aplicații mobile și sisteme ERP/CRM prin scripturi JavaScript embeddable și API REST securizat.

Sintaxă & invocare
POST /v1/chat-messages cu Bearer API Key

Odată ce un flux de lucru sau un agent conversațional a fost testat și aprobat pe canvas-ul Dify, acesta poate fi publicat și integrat în producție prin trei modalități distincte, fără a fi nevoie să rescrieți logica în backend-ul aplicației principale.

Prima modalitate este Widget-ul Web Embeddable: o simplă linie de script HTML `<script src=”…/embed.js”>` injectează un chat plutitor modern pe orice site (WordPress, Shopify, portal intern).

A doua modalitate, ideală pentru dezvoltatori, este API-ul REST Unificat expus de Dify: fiecare asistent primește propriile chei API (`app-…`) și endpoint-uri dedicate (`/v1/chat-messages`, `/v1/workflows/run`), oferind streaming de răspunsuri, management de conversații pe utilizatori și feedback loops automate.

Sintaxă, opțiuni și concepte cheie

Opțiune / Concept Descriere practică
POST /v1/chat-messages Endpoint-ul principal pentru conversații interactive cu asistentul.
POST /v1/workflows/run Endpoint-ul pentru execuția automată de fluxuri pe bază de date de intrare.
user="user_id_123" Parametrul obligatoriu ce permite Dify să izoleze istoricul de dialog per utilizator final.
response_mode="streaming" Activarea streaming-ului SSE pentru afișarea fluidă a răspunsurilor în interfața clientului.

Exemple practice și cod

Exemplul 1: Interogarea unui asistent Dify prin cURL dintr-o aplicație externă

Formatul standard al apelului API securizat cu cheie de aplicație.

$ curl -X POST 'http://dify-server.internal/v1/chat-messages' \
  -H 'Authorization: Bearer app-xyz987654321' \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {},
    "query": "Cum pot schimba parola contului de client?",
    "response_mode": "blocking",
    "user": "client-id-5544"
  }'

# Răspunsul JSON returnat conține răspunsul generat și sursele de documente citate:
{
  "event": "message",
  "task_id": "9c8b7a6d...",
  "answer": "Pentru a schimba parola, navigați în meniul Setări -> Securitate...",
  "metadata": {
    "retriever_resources": [
      {"dataset_name": "Ghid Utilizator", "document_name": "securitate.pdf"}
    ]
  }
}

Rezultat & Impact

Integrare facilă a oricărui flux Dify în portaluri web sau sisteme existente.

Greșeli frecvente și bune practici

  • Expunerea cheilor de tip `app-…` în codul JavaScript de frontend accesibil public; apelați întotdeauna API-ul printr-un proxy de backend sigur.
  • Omiterea trimiterii parametrului unic `user`, ceea ce determină asistentul să amestece istoricul conversațiilor între utilizatori diferiți.

Ghiduri și noțiuni înrudite