Instructions relatives aux actions utilisées avec les règles appels sortants
Des considérations spéciales s’appliquent lors action de données de la définition appels sortants du schéma de réussite d’un qui renvoie les données à une règle.
Propriétés de sortie de nid
When constructing its output contact (success schema), it is imperative to nest properties when necessary. If an output field from /execute is a complex object, the corresponding property in the schema should be a nested schema, and not a string that assumes “flattened” output. Outbound already uses ?flatten=true
to flatten output.
Exemple de propriété non imbriquée
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data.my data field": {
"type": "string",
}
}
}
The above example specifies a “data.my data field” in the success schema of a data action. The resulting action won’t work if it used by an outbound dialing data action rule. Outbound will be unable to find the field in the /actions/{actionId}/execute response. It will skip calls with a result of ININ-OUTBOUND-RULE-ERROR-SKIPPED
.
Pour éviter ce problème, faites de “mon champ de données” une propriété imbriquée du champ “données” :
Exemple correctement imbriqué
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"my data field": {
"type": "string"
}
}
}
}
}
En général, votre schéma de sortie doit avoir la même structure que les propriétés que vous souhaitez récupérer à partir de la demande / execute
Considérez cet objet simple et comment le schéma de sortie le renvoie :
Un objet simple
{ "foo": { "bat": "bar" } }
Schéma de sortie de l’objet simple
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"foo": {
"type": "string"
}
}
}
Pour rendre cela compatible avec Outbound, modifiez le schéma de sortie de l’objet simple pour imbriquer la propriété :
Objet simple correctement imbriqué
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"foo": {
"type": "object",
"properties": {
"bat": {
"type": "string"
}
}
}
}
}
Ce schéma retournera :
{ "foo": { "bat": "bar" } }
Champs obligatoires
Si votre action de données requiert des champs, cochez-les comme requis dans le schéma de réussite.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"contact_id",
"phone_number"
],
"properties": {
...
},