Skip to main content
PATCH
Update AI receptionist configuration
Scope requis : AGENTS_WRITE

Comportement

Modifie toute partie de la configuration du réceptionniste, sauf le prompt et l’activation. Renvoie la configuration complète après l’écriture, dans la même forme que Lire la configuration. Deux règles de fusion s’appliquent :
  • Les valeurs simples sont fusionnées. name, les informations sur l’activité, language, voice_id, greeting_message, closing_message, tone_of_voice, answer_type et knowledge.text gardent leur valeur actuelle si vous les omettez.
  • Les collections sont remplacées. capabilities, business_hours, transfer_rules et scheduling.calendars sont des ensembles complets. Envoyez-en un et il remplace ce qui était configuré, omettez-le et il reste intact.
Pour ajouter une seule règle de transfert, lisez d’abord les règles existantes et renvoyez-les avec la nouvelle. Pour garder une capacité activée, incluez-la dans chaque map capabilities que vous envoyez. Un champ que cet endpoint ne déclare pas est refusé avec 400 UNKNOWN_FIELD, y compris les champs en lecture seule comme custom_prompt, prompt_metadata et status. Rien n’est ignoré en silence.

Règles de transfert

description est le champ qui décide si un transfert fonctionne. Le réceptionniste compare ce que dit l’appelant à ce texte : écrivez-le comme le motif de l’appelant (« questions de facturation », « veut réserver une intervention »), pas comme une instruction adressée au réceptionniste. Chaque règle a besoin de la cible qu’implique son type : Visez une cible autre que la ligne que vous configurez. Une règle qui renvoie l’appelant vers la même ligne le rend au réceptionniste qui vient de le transférer, et l’appel boucle. L’API accepte une telle règle : c’est à vous de l’éviter. Les règles sont recréées à chaque écriture : une erreur désigne l’entrée fautive par son index, par exemple transfer_rules[1].description.

Horaires d’ouverture

schedule est obligatoire dès que vous envoyez business_hours. Les heures sont exprimées en secondes depuis minuit : 9h à 17h s’écrit 32400 à 61200, et un jour absent de la liste est fermé.

Agendas de réservation

scheduling.calendars est une map dont les clés sont des id d’agenda issus de Lister les agendas. Un agenda que le réceptionniste n’a pas encore lui est rattaché, un agenda associé à [] reste rattaché sans type d’événement sélectionné, et un agenda absent de la map perd l’accès. Les types d’événement viennent de Lire un agenda. Renvoyez id, slug, title et length_in_minutes tels quels, et ajoutez votre propre description pour indiquer quand le réceptionniste doit réserver celui-là plutôt qu’un autre. Connecter un agenda à l’espace de travail est un flux OAuth, réalisé dans l’app Allo. Cet endpoint choisit parmi les connexions qui existent déjà.

Limites des champs

Erreurs

  • 400 UNKNOWN_FIELD : un champ que cet endpoint n’accepte pas, nommé dans param.
  • 400 INVALID_REQUEST_BODY : un champ déclaré n’a pas passé la validation. Le champ fautif est dans errors[].
  • 400 MISSING_FIELD : une partie obligatoire d’une collection manque, nommée dans param.
  • 400 INVALID_AGENT_LANGUAGE / 400 INVALID_AGENT_CAPABILITY : une valeur inconnue. Les valeurs acceptées sont listées dans le message.
  • 400 INVALID_TIMEZONE : business_hours.timezone n’est pas un identifiant IANA.
  • 400 INVALID_PHONE_NUMBER : business_phone n’est pas un numéro exploitable.
  • 400 AGENT_TRANSFER_RULE_TARGET_REQUIRED : une règle n’a pas la cible qu’exige son type.
  • 403 AGENT_TRANSFER_RULE_MEMBER_NO_LINE_ACCESS : le membre visé n’a pas accès à cette ligne.
  • 404 AGENT_VOICE_NOT_FOUND : aucune voix ne porte ce voice_id. Listez-les avec Lister les voix.
  • 404 AGENT_CALENDAR_NOT_FOUND : un id d’agenda de la map n’est pas visible pour vous.
  • 404 PHONE_NUMBER_NOT_FOUND : ce numéro n’est pas un numéro auquel vous avez accès.

Autorisations

Authorization
string
header
requis

Paramètres de chemin

number
string
requis

Allo phone number in E.164 format

Exemple:

"+14155551234"

Corps

application/json

Two merge rules apply. Single values are merged: omit one and it keeps its current value. The collections capabilities, business_hours, transfer_rules and scheduling.calendars are complete sets: send one and it replaces what was configured, omit it and it is left alone. An undeclared field is rejected with 400 UNKNOWN_FIELD rather than ignored.

name
string
Maximum string length: 64
Exemple:

"Maya"

business_name
string
Maximum string length: 64
Exemple:

"Acme Plumbing"

business_address
string
Maximum string length: 255
business_phone
string

E.164 format.

Maximum string length: 64
Exemple:

"+14155551234"

business_email
string
Maximum string length: 64
business_website
string
Maximum string length: 64
business_industry
string
Maximum string length: 64
language
enum<string>
Options disponibles:
fr,
fr-CA,
en-US,
en-GB,
es,
de,
hr
Exemple:

"en-US"

voice_id
string

An id from GET /v2/api/voices, listed under the receptionist's language.

Exemple:

"maya"

greeting_message
string
Maximum string length: 1000
closing_message
string
Maximum string length: 1000
tone_of_voice
enum<string>
Options disponibles:
FRIENDLY,
PROFESSIONAL,
NEUTRAL,
ENTHUSIASTIC
answer_type
enum<string>
Options disponibles:
CONCISE,
STANDARD,
DETAILED
capabilities
object

The complete set of toggles. A capability left out of the map is turned off, so read the current ones first and send them all back.

Exemple:
business_hours
object

Replaces the whole week. schedule is required when this key is sent.

transfer_rules
object[]

Replaces the whole rule set. Send [] to remove every rule.

scheduling
object
knowledge
object

Only the free-text knowledge is writable here. Websites and files have their own endpoints.

Réponse

The configuration after the write

data
object

The whole configuration of one line's AI receptionist.