Diferencia entre revisiones de «Monday.com»
(→Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 2) |
(→Ejemplo práctico) |
||
| Línea 12: | Línea 12: | ||
===Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 2=== | ===Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 2=== | ||
| − | <?php | + | <?php |
| − | $llamante=$_GET["llamante"]; | + | $llamante=$_GET["llamante"]; |
| − | $tipo=$_GET["tipo"]; | + | $tipo=$_GET["tipo"]; |
| − | $duracion=$_GET["duracion"]; | + | $duracion=$_GET["duracion"]; |
| − | $fecha=$_GET["fecha"]; | + | $fecha=$_GET["fecha"]; |
| − | //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 = " | + | $token ="XXXXXXXXXXXXX"; |
| − | |||
//vamos a crear un item nuevo por cada llamada que llegue a la centralita, si es de la extension 1 lo ponemos en un tablero y si es de la 2 en otro | //vamos a crear un item nuevo por cada llamada que llegue a la centralita, si es de la extension 1 lo ponemos en un tablero y si es de la 2 en otro | ||
| Línea 55: | Línea 54: | ||
//curl_setopt($ch, CURLOPT_FILE, $fp); | //curl_setopt($ch, CURLOPT_FILE, $fp); | ||
| − | curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content-Type:application/json")); | + | curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content- |
| − | curl_setopt($ch, CURLOPT_POST, 1); | + | Type:application/json")); |
| − | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | + | curl_setopt($ch, CURLOPT_POST, 1); |
| − | //formamos el json | + | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
| − | $titulo = "Llamada del ".$llamante; | + | //formamos el json |
| + | $titulo = "Llamada del ".$llamante; | ||
| − | //adaptamos la fecha al formato de monday.com | + | //adaptamos la fecha al formato de monday.com |
| − | $anio = substr($fecha, 0, 4); | + | $anio = substr($fecha, 0, 4); |
| − | $mes = substr($fecha, 4, 2); | + | $mes = substr($fecha, 4, 2); |
| − | $dia = substr($fecha, 6, 2); | + | $dia = substr($fecha, 6, 2); |
| − | $hora = substr($fecha, 8, 2); | + | $hora = substr($fecha, 8, 2); |
| − | $minutos = substr($fecha, 10, 2); | + | $minutos = substr($fecha, 10, 2); |
| − | $segundos = substr($fecha, 12, 2); | + | $segundos = substr($fecha, 12, 2); |
| − | $solofecha = $anio."-".$mes."-".$dia; | + | $solofecha = $anio."-".$mes."-".$dia; |
| − | $solohora = $hora.":".$minutos.":".$segundos; | + | $solohora = $hora.":".$minutos.":".$segundos; |
| − | $fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}"; | + | $fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}"; |
| − | 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); |
| − | $jsonprint = json_encode($data, JSON_PRETTY_PRINT); | + | $jsonprint = json_encode($data, JSON_PRETTY_PRINT); |
| − | 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); |
| − | ?> | + | ?> |
===Código del servidor=== | ===Código del servidor=== | ||
===Resultado=== | ===Resultado=== | ||
Revisión del 13:45 29 abr 2021
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.
Ejemplo práctico
Vamos crear un item por cada llamada entrante a la extensión 2 (Técnicos) en el tablero consultas técnicas.
Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 2
<?php
$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";
//vamos a crear un item nuevo por cada llamada que llegue a la centralita, si es de la extension 1 lo ponemos en un tablero y si es de la 2 en otro
//identificador del tablero donde vamos a meter el item $boardid1="1226936037";
//creamos el item en Monday $ch = curl_init("https://api.monday.com/v2");
//curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: $token","Content-Type:application/json")); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); <?php
$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 = "eyJhbGciOiJIUzI1NiJ9.eyJ0aWQiOjEwNzI5MTYxOCwidWlkIjoyMTU5NzQ5NCwiaWFkIjoiMjAyMS0wNC0yMVQwNzo1NTo1OS42MjhaIiwicGVyIjoibWU6d3JpdGUiLCJhY3RpZC\ I6ODc4MTIwNSwicmduIjoidXNlMSJ9.yoE_I_2tM1CSlCeUxF3nc4oACo2q2EEkOnSjBC023kQ";
//vamos a crear un item nuevo por cada llamada que llegue a la centralita, si es de la extension 1 lo ponemos en un tablero y si es de la 2 en otro
//identificador del tablero donde vamos a meter el item $boardid1="1226936037";
//creamos el item en Monday $ch = curl_init("https://api.monday.com/v2");
//curl_setopt($ch, CURLOPT_FILE, $fp);
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
$titulo = "Llamada del ".$llamante;
//adaptamos la fecha al formato de monday.com $anio = substr($fecha, 0, 4); $mes = substr($fecha, 4, 2); $dia = substr($fecha, 6, 2); $hora = substr($fecha, 8, 2); $minutos = substr($fecha, 10, 2); $segundos = substr($fecha, 12, 2);
$solofecha = $anio."-".$mes."-".$dia;
$solohora = $hora.":".$minutos.":".$segundos;
$fechaprep = "{\\\"date4\\\":{\\\"date\\\":\\\"$solofecha\\\",\\\"time\\\":\\\"$solohora\\\"}";
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);
$jsonprint = json_encode($data, JSON_PRETTY_PRINT);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$salida = curl_exec($ch); curl_close($ch);
?>
