Crea tus propias integraciones

Endpoint Parameters

Todas las estructuras que se usan para las llamadas y envíos a los endpoints deben ser en formato JSON.

Configuración de Formularios

Los steps se usan para crear endpoints que forman las integraciones, hay diferentes dipos de steps para acciones específicas en el bot.

Formularios

Se implementan formularios para solicitar datos al usuario. Para crear un formulario, se utiliza el siguiente formato JSON:

Parametros:

  • type: EL tipo de formato del valor de entrada.
  • label: La etiqueta de entrada del formulario, donde se le indica al cliente el valor que va a ingresar en ese campo.
  • ref: La referencia o nombre del campo de entrada del formulario, que será usado en la integración para obtener el valor que ha
    ingresado el usuario en el campo requerido.
  • required: Indica si el campo es obligatorio o no.

JSON:

STEP FORM

[{
	"label": "Tell me your order number",
	"ref": "ordernumber",
	"required": true,
	"type": "text"
}]

Cómo se recibe la información?

Los datos se envían por método POST y en una fila. Puede ser recibido por cada referencia de entrada:

Código PHP:

DATA

$data = $request->getParam('ordernumber');

Respuesta que debe ser enviada al bot:

Una vez que se reciben los datos del formulario y el cliente los procesa, debe devolver la respuesta en formato JSON al bot de la siguiente manera:

  • Answer: Es la respuesta que se mostrará en el bot, debe ser de tipo cadena o en formato JSON codificado.
  • Answer Clean: Es la respuesta que se mostrará en canales como Facebook o Whatsapp, debe ser de tipo cadena o o en formato JSON
    codificado.
  • Complements: Será de tipo JSON, si desea agregar complementos a la respuesta, como los botones. Puede encontrar los JSON en la
    documentación del complemento.

RESPONSE WITHOUT COMPLEMENTS

{
	"answer": "Your order with number 657, was sent to your home",
	"answer_clean": "Your order with number 657, was sent to your home",
	"complements": null
}

RESPONSE WITH COMPLEMENTS

{
	"answer": "Response Integration OK 
\n
\n",
	"answer_clean": "Response Integration OK \n\n",
	"complements": [{
		"action": "buttons",
		"blockInput": false,
		"oneChoice": false,
		"quickReplies": false,
		"param": {
			"data": [{
				"label": "Message button",
				"type": "message",
				"value": "Nice message!",
				"conditions": null
			}]
		}
	}]
}

Formulario tipo Email

Este tipo de formulario se utiliza para enviar correos electrónicos del usuario a los correos del cliente, sólo a aquellos correos que se especifiquen en la configuración.

Parametros:

  • emailTo: El correo electrónico del destinatario (sobrescribir los parámetros del ejemplo)
  • emailSubject: El Asunto del correo (sobrescribir los parámetros del ejemplo)
  • senderMessage: El mensaje que el usuario ve una vez enviado correo electrónico.

JSON:

EMAIL FORM

[{
	"type": "text",
	"label": "Name",
	"ref": "Name",
	"required": true,
	"regex": "([A-z])$"
}, {
	"type": "text",
	"label": "E-mail",
	"ref": "email",
	"required": true
}, {
	"type": "number",
	"label": "Phone: ",
	"ref": "phone",
	"required": true,
	"regex": "^([0-9]{6,10})$"
}, {
	"ref": "emailTo",
	"type": "hidden",
	"value": "theawesomestore@support.com"
}, {
	"ref": "emailSubject",
	"type": "hidden",
	"value": "Virtual Assistant Support form"
}, {
	"ref": "senderMessage",
	"type": "hidden",
	"value": "Thank you, our Support Team will get in touch as soon as possible."
}]