REST API & Webhooks Referenca
Pitaj.io pruža moderan, skalabilan REST API koji vam omogućava da AI mogućnosti platforme integrišete direktno u vaše mobilne aplikacije, interne poslovne sisteme ili custom korisničke portale.
Osnovne postavke
- Base URL:
https://api.pitaj.io/v1 - Format podataka:
application/json(UTF-8) - Autentifikacija: Svi zahtjevi moraju sadržavati vaš tajni API ključ unutar
Authorizationzaglavlja:
Authorization: Bearer pitaj_sec_live_98a7b6c5d4e3f2101. Slanje poruke agentu (POST /chat)
Omogućava slanje poruke agentu i dobijanje odgovora sintetizovanog iz Baze Znanja:
curl -X POST https://api.pitaj.io/v1/chat \ -H "Authorization: Bearer pitaj_sec_live_98a7b6c5d4e3f210" \ -H "Content-Type: application/json" \ -d '{ "agent_id": "agt_01h9x8y7z6", "conversation_id": "conv_998877", "message": "Koje je radno vrijeme vaše poslovnice u Mostaru?", "stream": false }'const response = await fetch('https://api.pitaj.io/v1/chat', { method: 'POST', headers: { 'Authorization': 'Bearer pitaj_sec_live_98a7b6c5d4e3f210', 'Content-Type': 'application/json' }, body: JSON.stringify({ agent_id: 'agt_01h9x8y7z6', conversation_id: 'conv_998877', message: 'Koje je radno vrijeme vaše poslovnice u Mostaru?' })});
const data = await response.json();console.log(data.response.text);import requests
url = "https://api.pitaj.io/v1/chat"headers = { "Authorization": "Bearer pitaj_sec_live_98a7b6c5d4e3f210", "Content-Type": "application/json"}payload = { "agent_id": "agt_01h9x8y7z6", "conversation_id": "conv_998877", "message": "Koje je radno vrijeme vaše poslovnice u Mostaru?"}
res = requests.post(url, json=payload, headers=headers)print(res.json()["response"]["text"])Odgovor servera (200 OK)
{ "id": "msg_01h9xyz123", "conversation_id": "conv_998877", "created_at": "2026-10-28T10:14:02Z", "response": { "text": "Naša poslovnica u Mostaru (Kralja Tomislava 12) radi od ponedjeljka do petka od 08:00 do 16:30h, a subotom od 09:00 do 13:00h.", "model": "pro-v2", "sources": [ { "title": "Lokacije i Radno Vrijeme", "url": "https://firma.ba/poslovnice" } ] }, "credits_used": 2}2. Dohvatanje prikupljenih leadova (GET /leads)
Vraća paginiranu listu svih kontakata prikupljenih putem Lead Capture formi:
curl -X GET "https://api.pitaj.io/v1/leads?agent_id=agt_01h9x8y7z6&limit=50" \ -H "Authorization: Bearer pitaj_sec_live_98a7b6c5d4e3f210"3. Webhooks & Verifikacija potpisa
Pitaj.io šalje HTTP POST notifikacije na vaš server za ključne događaje:
lead.captured: Posjetilac je popunio formu za kontakt.ticket.escalated: Razgovor zahtijeva preuzimanje od strane operatera.conversation.completed: Posjetilac je zaključio razgovor ili ocijenio CSAT anketu.
Verifikacija X-Pitaj-Signature zaglavlja
Svaki webhook zahtjev sadrži sigurnosno zaglavlje X-Pitaj-Signature sa HMAC-SHA256 potpisom:
import crypto from 'crypto';
function verifyWebhook(payload: string, signatureHeader: string, secret: string) { const expectedSignature = 'sha256=' + crypto .createHmac('sha256', secret) .update(payload) .digest('hex');
return crypto.timingSafeEqual( Buffer.from(signatureHeader), Buffer.from(expectedSignature) );}