public

POST /v1/public/assistant/ask

Ask Zinn® a pre-sales question — no account, one grounded answer.

Tous les points de terminaison public

Toute la documentation pour développeurs

Authentification

Cet point de terminaison est public. Il ne nécessite aucun identifiant ni aucune organisation : c'est ce que notre propre site marketing et nos moteurs de réponse IA lisent.

Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.

Essayer

Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.

curl -X POST https://api.zinndigital.com/v1/public/assistant/ask \
  -H "Content-Type: application/json" \
  -d '{ "question": <string> }'

Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API

Détails

Anonymous — no credential, no tenant, nothing stored. The public half of Ask Zinn®: a visitor deciding whether to buy asks a question, and the answer is built from PUBLISHED knowledge-base articles plus the LIVE catalogue read at request time, so a price it quotes is the price the engine will charge. ⛔ It answers only from that material. grounded: false is the assistant saying it could not — a successful response whose correct rendering is a route to a human, never an error banner. A client that renders it as a failure has inverted the one property this surface exists to give (§2.44, §2.57). ⛔ It cannot read a site, a ticket, an invoice or an org: no identifier for one is accepted anywhere on this path. Anything about an existing account comes back grounded: false. ⛔ history is supplied by the CALLER because nothing is persisted — there is no account to hang a conversation on. It is bounded here and again in the engine. Charged against a fail-closed per-IP and global budget before the body is parsed, because every call is a paid model call.

Corps de la requête

NomTypeObligatoireQu'est-ce que c'est
questionstringOuiWhat the visitor asked, in their own language. ⛔ Shorter than the dashboard assistant's 4,000: a customer pastes an error log, a prospect asks a question, and an unbounded prompt…
localestringNonWhich translation of a knowledge-base article to retrieve, and the language to answer in. An unknown value falls back to English rather than failing.
currencystringNonWhich currency's catalogue prices reach the answer. ⛔ A hint, not a filter: a plan that carries no price in this currency is quoted in one it does have, clearly labelled, because…
historyPresalesTurn[]NonEarlier turns, oldest first. ⛔ The CALLER holds these because nothing is stored — there is no account to hang a conversation on and no lawful basis to keep one. They are therefore…

Réponse

NomTypeObligatoireQu'est-ce que c'est
answerstringOuiThe reply, in the language the visitor wrote in.
groundedbooleanOuiTrue when the answer came from the supplied articles and catalogue. False when the assistant said it could not answer from them — which is the honest outcome and the one this…
citationsstring[]OuiSlugs of published articles the answer used, for /kb/{slug}. ⛔ Filtered to the ones actually supplied to the model, so a fabricated citation can never render as a link to a 404.
plan_codesstring[]OuiCatalogue plan codes the answer recommends or prices, filtered the same way. The site turns these into links to the page that sells them.
plansobject[]OuiThe plans in plan_codes, in the same order, with the name a visitor sees. ⛔ A code is an internal identifier and is never shown; the answer text has already had every supplied…

Erreurs que cet point de terminaison peut renvoyer

422 · 429 · 503