Diferencia entre revisiones de «Monday.com»
(→Ejemplo práctico) |
(→Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 1) |
||
| (No se muestran 22 ediciones intermedias de 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
| + | {{#seo: | ||
| + | |title= Cómo funciona monday.com con webhooks de {{PROD_TILDE}} y API de Monday | ||
| + | |keywords=monday com en español,como funciona monday com | ||
| + | |||
| + | |description= | ||
| + | }} | ||
Si usted utiliza Monday.com puede disponer de las llamadas de su centralita utilizando nuestros webhooks y con la API de Monday | Si usted utiliza Monday.com puede disponer de las llamadas de su centralita utilizando nuestros webhooks y con la API de Monday | ||
==¿Qué necesita?== | ==¿Qué necesita?== | ||
| − | Solo necesita obtener el token para utilizar la API y un programa intermedio que realice las acciones necesarios cuando llega una llamada, se cuelga o se realiza. | + | Solo necesita obtener el '''token''' para utilizar la API y un '''programa''' intermedio que realice las acciones necesarios cuando llega una llamada, se cuelga o se realiza. |
| + | [https://api.developer.monday.com/docs#authentication-section-accessing-tokens Aquí tiene la información de cómo obtener] | ||
| − | = | + | [[Archivo:token_monday.png|link=]] |
| − | + | ==Cómo funciona monday.com: Ejemplo práctico== | |
| − | ===Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión | + | Vamos crear un item por cada llamada entrante a la extensión 1 (Técnicos) en el tablero consultas técnicas. |
| + | |||
| + | ===Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 1=== | ||
| + | |||
| + | Nos iremos a la extensión 1 > Avisos y podremos algo similar a esto: | ||
| + | |||
| + | <pre>https://www.miservidor.es/monday_llamada.php?llamante=$llamante&llamado=$llamado&tipo=$tipo&referencia=$referencia&duracion=$duracion&fecha=$fecha</pre> | ||
| + | |||
| + | [[Archivo:webhook_monday.png]] | ||
| + | |||
| + | ===Código del servidor=== | ||
<?php | <?php | ||
| − | + | //cogemos los datos de la llamada que nos vienen del webhook | |
$llamante=$_GET["llamante"]; | $llamante=$_GET["llamante"]; | ||
$tipo=$_GET["tipo"]; | $tipo=$_GET["tipo"]; | ||
| Línea 21: | Línea 38: | ||
//este token es un identificador que se genera en el propio monday | //este token es un identificador que se genera en el propio monday | ||
$token ="XXXXXXXXXXXXX"; | $token ="XXXXXXXXXXXXX"; | ||
| − | + | //identificador del tablero donde vamos a meter el item (se puede obtener programaticamente con la API de monday.com | |
| − | + | $boardid1="1226936037"; | |
| − | + | ||
| − | //identificador del tablero donde vamos a meter el item | + | //creamos la petición a la API de monday.com |
| − | $boardid1="1226936037"; | + | $ch = curl_init("https://api.monday.com/v2"); |
| − | + | //metemos el token de autorización en la cabecera | |
| − | //creamos | + | curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content-Type:application/json")); |
| − | $ch = curl_init("https://api.monday.com/v2"); | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | // | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content- | ||
| − | |||
curl_setopt($ch, CURLOPT_POST, 1); | curl_setopt($ch, CURLOPT_POST, 1); | ||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | ||
| − | //formamos el json | + | |
| + | //formamos el json con los datos del webhook | ||
$titulo = "Llamada del ".$llamante; | $titulo = "Llamada del ".$llamante; | ||
| − | + | //adaptamos la fecha al formato de monday.com, el webhook nos la da así 20210429142052 | |
| − | //adaptamos la fecha al formato de monday.com | + | $solohora = solohora($fecha); //nos devolverá 14:20:25 |
| − | + | $solofecha = solofecha($fecha); //nos devolverá 2021-04-29 | |
| − | $ | ||
| − | $ | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
$fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}"; | $fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}"; | ||
| − | + | ||
| + | //como ejemplo si la llamada es perdida ponemos un estado y si fue contestada otro | ||
if ($tipo == "llamada_perdida") | if ($tipo == "llamada_perdida") | ||
$estado = "\\\"status\\\": {\\\"label\\\": \\\"Stuck\\\"}}"; | $estado = "\\\"status\\\": {\\\"label\\\": \\\"Stuck\\\"}}"; | ||
else | else | ||
$estado = "\\\"status\\\": {\\\"label\\\": \\\"Done\\\"}}"; | $estado = "\\\"status\\\": {\\\"label\\\": \\\"Done\\\"}}"; | ||
| + | |||
$accion = "mutation {create_item (board_id:$boardid1, item_name:\"$titulo\", column_values:\"$fechaprep,$estado\"){id}}"; | $accion = "mutation {create_item (board_id:$boardid1, item_name:\"$titulo\", column_values:\"$fechaprep,$estado\"){id}}"; | ||
| − | |||
$data = array( | $data = array( | ||
"query" => $accion | "query" => $accion | ||
); | ); | ||
| − | |||
$json = json_encode($data); | $json = json_encode($data); | ||
| − | |||
| − | |||
| − | |||
| − | |||
curl_setopt($ch, CURLOPT_POSTFIELDS, $json); | curl_setopt($ch, CURLOPT_POSTFIELDS, $json); | ||
| − | |||
$salida = curl_exec($ch); | $salida = curl_exec($ch); | ||
curl_close($ch); | curl_close($ch); | ||
| − | |||
?> | ?> | ||
| − | + | Puede descargar el código de ejemplo [http://www.duocom.es/pub/monday_llamada.txt aquí] | |
===Resultado=== | ===Resultado=== | ||
| + | |||
| + | [[Archivo:monday_items_creados.png]] | ||
| + | |||
| + | ---- | ||
| + | ---- | ||
| + | |||
| + | '''Indice''' | ||
| + | |||
| + | [[Página principal]] >> [[CRM]] >> Monday | ||
Revisión actual del 08:21 7 jun 2022
Si usted utiliza Monday.com puede disponer de las llamadas de su centralita utilizando nuestros webhooks y con la API de Monday
Sumario
¿Qué necesita?
Solo necesita obtener el token para utilizar la API y un programa intermedio que realice las acciones necesarios cuando llega una llamada, se cuelga o se realiza.
Aquí tiene la información de cómo obtener
Cómo funciona monday.com: Ejemplo práctico
Vamos crear un item por cada llamada entrante a la extensión 1 (Técnicos) en el tablero consultas técnicas.
Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 1
Nos iremos a la extensión 1 > Avisos y podremos algo similar a esto:
https://www.miservidor.es/monday_llamada.php?llamante=$llamante&llamado=$llamado&tipo=$tipo&referencia=$referencia&duracion=$duracion&fecha=$fecha
Código del servidor
<?php //cogemos los datos de la llamada que nos vienen del webhook $llamante=$_GET["llamante"]; $tipo=$_GET["tipo"]; $duracion=$_GET["duracion"]; $fecha=$_GET["fecha"];
//este token es un identificador que se genera en el propio monday
$token ="XXXXXXXXXXXXX";
//identificador del tablero donde vamos a meter el item (se puede obtener programaticamente con la API de monday.com
$boardid1="1226936037";
//creamos la petición a la API de monday.com
$ch = curl_init("https://api.monday.com/v2");
//metemos el token de autorización en la cabecera
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content-Type:application/json"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//formamos el json con los datos del webhook
$titulo = "Llamada del ".$llamante;
//adaptamos la fecha al formato de monday.com, el webhook nos la da así 20210429142052
$solohora = solohora($fecha); //nos devolverá 14:20:25
$solofecha = solofecha($fecha); //nos devolverá 2021-04-29
$fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}";
//como ejemplo si la llamada es perdida ponemos un estado y si fue contestada otro
if ($tipo == "llamada_perdida")
$estado = "\\\"status\\\": {\\\"label\\\": \\\"Stuck\\\"}}";
else
$estado = "\\\"status\\\": {\\\"label\\\": \\\"Done\\\"}}";
$accion = "mutation {create_item (board_id:$boardid1, item_name:\"$titulo\", column_values:\"$fechaprep,$estado\"){id}}";
$data = array(
"query" => $accion
);
$json = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$salida = curl_exec($ch);
curl_close($ch);
?>
Puede descargar el código de ejemplo aquí
Resultado
Indice
Página principal >> CRM >> Monday


