Rispondere a una domanda della chat
La risposta in parole (scritta, dettata o un suggerimento) a una domanda (path) o una richiesta di modifica libera (path null): il modello usa la cronologia e applica tutte le modifiche richieste, anche a più prodotti/opzioni; path è contesto, non un limite. La risposta entra in chat con applied (se la bozza è cambiata) e followUp opzionale { question, suggestions } per chiarimenti con risposta anche libera. Una richiesta già soddisfatta non è un errore. summary descrive l’esito. 502 answerFailed: bozza invariata, si può riprovare.
/api/v1/onboarding/drafts/{id}/answerAuthorization
Path
Body
curl -X POST "https://api.takoconnect.com/api/v1/onboarding/drafts/{id}/answer" \
-H "Authorization: Bearer $TAKO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"path": "e4.tiers",
"question": "Quanto costa il privato in catamarano?",
"answer": "1200 per tutto il gruppo"
}'{
"row": {
"id": "entity-id",
"tenantId": "tenant-id",
"status": "DRAFT",
"source": "site",
"url": "url",
"step": "step",
"draft": {
"business": {
"name": "name",
"city": "city",
"timezone": "timezone",
"email": "email",
"phone": "phone",
"website": "website"
},
"resources": [
{
"key": "key",
"name": "name",
"kind": "SEATS",
"quantity": 0,
"capacity": 0
}
],
"experiences": [
{
"key": "key",
"name": "name",
"product": "product",
"include": true,
"durationMinutes": 0,
"pricing": "PERSON",
"participantTypes": [
{
"type": "ADULT",
"name": null,
"minAge": null,
"maxAge": null
}
],
"prices": [
{
"type": "ADULT",
"label": null,
"amount": null,
"highAmount": null,
"maxAge": null
}
],
"tiers": [
{
"maxPax": null,
"amount": null,
"highAmount": null
}
],
"highSeason": {
"from": "from",
"to": "to"
},
"schedules": [
{
"from": null,
"to": null,
"weekdays": null,
"startTimes": null
}
],
"resourceKeys": [
"resourceKeys"
],
"sourceUrl": "sourceUrl"
}
],
"rules": {
"bookingCutoffHours": 0,
"freeCancellationHours": 0,
"instantConfirmation": true,
"meetingPoint": "meetingPoint"
},
"notes": [
{
"path": "path",
"status": "found",
"quote": "quote",
"suggestion": "suggestion"
}
]
},
"extracted": {
"business": {
"name": "name",
"city": "city",
"timezone": "timezone",
"email": "email",
"phone": "phone",
"website": "website"
},
"resources": [
{
"key": "key",
"name": "name",
"kind": "SEATS",
"quantity": 0,
"capacity": 0
}
],
"experiences": [
{
"key": "key",
"name": "name",
"product": "product",
"include": true,
"durationMinutes": 0,
"pricing": "PERSON",
"participantTypes": [
{
"type": "ADULT",
"name": null,
"minAge": null,
"maxAge": null
}
],
"prices": [
{
"type": "ADULT",
"label": null,
"amount": null,
"highAmount": null,
"maxAge": null
}
],
"tiers": [
{
"maxPax": null,
"amount": null,
"highAmount": null
}
],
"highSeason": {
"from": "from",
"to": "to"
},
"schedules": [
{
"from": null,
"to": null,
"weekdays": null,
"startTimes": null
}
],
"resourceKeys": [
"resourceKeys"
],
"sourceUrl": "sourceUrl"
}
],
"rules": {
"bookingCutoffHours": 0,
"freeCancellationHours": 0,
"instantConfirmation": true,
"meetingPoint": "meetingPoint"
},
"notes": [
{
"path": "path",
"status": "found",
"quote": "quote",
"suggestion": "suggestion"
}
]
},
"chat": {
"answers": [
{
"path": "path",
"question": "question",
"answer": "answer",
"summary": "summary",
"applied": true,
"followUp": {
"question": "question",
"suggestions": [
null
]
}
}
],
"skipped": [
"skipped"
]
},
"channels": [
"PHONE"
],
"mode": "single",
"activities": 0,
"orgType": "AGENCY",
"feedback": {
"rating": "EASY",
"reasons": [
"questionsUnclear"
],
"text": "text",
"callMe": true
},
"progress": {},
"createdAt": "2030-06-15T08:00:00.000Z",
"updatedAt": "2030-06-15T08:00:00.000Z"
},
"summary": "summary"
}Autorizzazione
AuthorizationBearer <token>
Chiave tenant emessa dalla dashboard o da POST /api-keys, usata come Bearer token.
Scope richiesti: suppliers:writecatalog:writeresources:write
In: header
Parametri di percorso
idstring
Body
Content-Type: application/json
pathstring | null
questionstring
answerstring
minLength 1
Risposte
201object
Operazione riuscita. Lo schema descrive il JSON restituito.
Mostra schema
rowobject
Mostra proprietà
idstring
tenantIdstring
statusenum
DRAFTCOMMITTINGDONE
sourceenum
sitetext
urlstring | null
stepstring | null
draftobject | null
Mostra proprietà
businessobject
Mostra proprietà
namestring | null
citystring | null
timezonestring | null
emailstring | null
phonestring | null
websitestring | null
resourcesobject[]
Mostra proprietà
keystring
minLength 1
namestring
minLength 1
kindenum
SEATSPERSONEQUIPMENT
quantityinteger | null
min 0
capacityinteger | null
min 0
experiencesobject[]
Mostra proprietà
keystring
minLength 1
namestring
minLength 1
productstring | null
includeboolean
durationMinutesinteger | null
min 0
pricingenum
PERSONRESOURCE
participantTypesobject[]
pricesobject[]
tiersobject[]
highSeasonobject | null
schedulesobject[]
resourceKeysstring[]
sourceUrlstring | null
rulesobject
Mostra proprietà
bookingCutoffHoursinteger | null
min 0
freeCancellationHoursinteger | null
min 0
instantConfirmationboolean | null
meetingPointstring | null
notesobject[]
Mostra proprietà
pathstring
statusenum
foundguessedmissing
quotestring | null
suggestionstring | null
extractedobject | null
Mostra proprietà
businessobject
Mostra proprietà
namestring | null
citystring | null
timezonestring | null
emailstring | null
phonestring | null
websitestring | null
resourcesobject[]
Mostra proprietà
keystring
minLength 1
namestring
minLength 1
kindenum
SEATSPERSONEQUIPMENT
quantityinteger | null
min 0
capacityinteger | null
min 0
experiencesobject[]
Mostra proprietà
keystring
minLength 1
namestring
minLength 1
productstring | null
includeboolean
durationMinutesinteger | null
min 0
pricingenum
PERSONRESOURCE
participantTypesobject[]
pricesobject[]
tiersobject[]
highSeasonobject | null
schedulesobject[]
resourceKeysstring[]
sourceUrlstring | null
rulesobject
Mostra proprietà
bookingCutoffHoursinteger | null
min 0
freeCancellationHoursinteger | null
min 0
instantConfirmationboolean | null
meetingPointstring | null
notesobject[]
Mostra proprietà
pathstring
statusenum
foundguessedmissing
quotestring | null
suggestionstring | null
chatobject
Mostra proprietà
answersobject[]
Mostra proprietà
pathstring | null
questionstring
answerstring
summarystring
applied?boolean
followUp?object | null
skippedstring[]
channelsenum[]
modeenum | null
singlemulti
activitiesinteger | null
orgTypeenum | null
AGENCYCONSORTIUMRESELLER
feedbackobject | null
Mostra proprietà
ratingenum | null
EASYOKHARD
reasonsenum[]
textstring | null
callMeboolean
progressany | null
Valore JSON libero; non usare per dedurre campi strutturati non documentati.
createdAtdatetime
date-time
updatedAtdatetime
date-time
summarystring
400object
Validazione o regola di dominio non soddisfatta; correggere la richiesta.
401object
Credenziale assente, revocata, scaduta o non valida.
403object
Scope, ruolo o tipo di credenziale non consentito.
404object
Risorsa assente o non accessibile nel perimetro risolto.
409object
Conflitto di stato, capacità, versione o riferimenti; rileggere lo stato e correggere.
413object
Corpo JSON oltre il limite di 15 MB.
500object
Errore interno. Prima di ripetere una mutazione verificarne l'esito.