Esta ação é útil para customizações, como por exemplo exibir um menu de opções que dependa de dados de um usuário logado.
⚠️Atenção: disponível somente no canal Widget.
Estrutura
[
{
"name": "socket_event",
"parameters": {
"event": "myEvent",
"payload": {
"param1": "value",
"param2": "<? $context_var ?>"
}
},
"result_variable": "event_response"
}
]
Atributos
- name: socket_event
- parameters:
- event: nome do evento que será disparado.
- payload: dados que serão enviados para o evento. Quaisquer dados podem ser enviados para serem tratados posteriormente no frontend.
- result_variable: variável de contexto que receberá o resultado da emissão do evento. Em caso de sucesso, essa variável conterá o seguinte JSON:
{
"code": 200,
"event": "show_context",
"status": "ok"
}
Exemplo
Disparo do evento no builder (action):
[
{
"name": "socket_event",
"parameters": {
"event": "sendData",
"payload": {
"name": "Marcos Duarte"
}
},
"result_variable": "event_response"
}
]
Listener do evento declarado no <body> do widget:
<script type="text/javascript">
$(document).ready(function() {
socket.on('sendData', function(payload) {
console.log(payload);
});
});
</script>
Ao emitir o evento, no console do browser será exibido os dados recebidos:
{"name": "Marcos Duarte"}