← Înapoi la oson.ro

Cerere ofertă — agenți și integrări

Această pagină descrie cum pot agenții AI și conectorii server-side să trimită cereri de ofertă către OSON.

MCP (ChatGPT / clienți MCP)

Endpoint Streamable HTTP: https://oson.ro/mcp

Token temporar (24h): /ai/token/ — read-only sau cu trimitere ofertă.

Tool-uri: oson.get_overview, oson.check_fit, oson.prepare_quote_request, oson.create_quote_request.

Autentificare: Bearer din pagina token sau cheie partener server-side. Flux: prepare → confirmare utilizator → create cu user_confirmed=true.

Documentație agenți: llms.txt · llms-full.txt (FAQ extins)

Validare MCP (smoke test)

Token Bearer se solicită de la OSON — nu îl publicați în pagini sau în llms.txt.

curl -i -X POST https://oson.ro/mcp \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{}'

# Fără token — așteptat 401 JSON (nu HTML Django):
curl -i -X POST https://oson.ro/mcp

În client MCP (Cursor, ChatGPT Connectors): verificați oson.get_overview, apoi prepare_quote_request (nu scrie în DB), apoi create_quote_request doar după confirmare utilizator.

Endpoint REST — integrare autorizată

POST https://oson.ro/api/quote/

Autentificare: Authorization: Bearer <token server-side> (token emis de OSON, nu public).

Opțional: header Idempotency-Key pentru retry sigur.

Artifact Claude — important

Widget-urile pe *.claudemcpcontent.com nu pot apela fetch către oson.ro (CSP sandbox, eșec în 0–2 ms). Serverul CORS e configurat corect; blocajul e în browserul artifact-ului.

Alternativă în artifact: deschide formularul cu date precompletate (navigare, nu fetch):

https://oson.ro/?name=...&company=...&email=...&project_needs=...&source=claude#cerere

Endpoint REST — agenți LLM anonimi (server-side / fără iframe)

POST https://oson.ro/api/quote/public/ — fără Bearer. Funcționează din backend, curl, ChatGPT Actions — nu din artifact Claude în browser.

Contract OpenAPI

Schema completă: /openapi.json

Câmpuri obligatorii

Câmpuri recomandate pentru agenți

Răspuns succes

{
  "success": true,
  "id": 42,
  "reference": "OSON-42",
  "status": "new",
  "message": "Cererea de ofertă a fost primită."
}

Flux recomandat

  1. Verifică dacă OSON se potrivește nevoii utilizatorului.
  2. Colectează nume, companie, email și consimțământ explicit.
  3. Pregătește un sumar scurt al intenției — nu trimite conversația integrală.
  4. Cere confirmare utilizatorului înainte de trimitere.
  5. Trimite cererea prin API server-side autorizat.

Formular uman

Utilizatorii pot trimite și prin formularul public de pe homepage.

Confidențialitate

Politica de confidențialitate