Se aplican consideraciones especiales al definir el esquema de éxito de una acción de datos que devuelve datos a una regla de marcación saliente.

Propiedades de salida del nido

Al construir su contacto de salida (esquema de éxito), es imperativo anidar las propiedades cuando sea necesario. Si un campo de salida de /ejecutar es un objeto complejo, la propiedad correspondiente en el esquema debe ser un esquema anidado y no una cadena que asume una salida "plana". Outbound ya usa ? aplanar = verdadero para aplanar la salida.

Ejemplo de propiedad no anidada

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data.my data field": {
      "type": "string",
    }
  }
}

El ejemplo anterior especifica un "data.my data field" en el esquema de éxito de una acción de datos. La acción resultante no funcionará si la utiliza una regla de acción de datos de marcación saliente. Outbound no podrá encontrar el campo en el / actions / {actionId} / execute respuesta. Saltará llamadas con un resultado de ININ-OUTBOUND-REGLA-ERROR-SALTADO.

Para evitar este problema, convierta "mi campo de datos" en una propiedad anidada del campo "datos":

Ejemplo correctamente anidado

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "my data field": {
          "type": "string"
        }
      }
    }
  }
}

En general, su esquema de salida debe tener la misma estructura que las propiedades que le interesan recuperar de la solicitud / execute.

Considere este objeto simple y cómo lo devuelve el esquema de salida:

Un objeto simple

{
  "foo": {
    "bat": "bar"
  }
}

Esquema de salida de objeto simple

{
 "$schema": "http://json-schema.org/draft-04/schema#",
 "type": "object",
 "properties": {
   "foo": {
     "type": "string"
   }
 }
}

Para que esto sea compatible con Outbound, modifique el esquema de salida del objeto simple para anidar la propiedad:

Objeto simple correctamente anidado

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "foo": {
      "type": "object",
      "properties": {
        "bat": {
          "type": "string"
        }
      }
    }
  }
}

Este esquema devolverá:

{
  "foo": {
    "bat": "bar"
  }
}

Campos requeridos

Si hay campos que su acción de datos requiere, márquelos como obligatorios en el esquema de éxito.

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "required": [
    "contact_id",
    "phone_number"
  ],
  "properties": {
   ...
    },
Nota: El número máximo de condiciones de reglas de acción de datos que puede tener en una sola campaña es dos.