Diferencia entre revisiones de «Monday.com»
(Página creada con «Si usted utiliza Monday.com puede disponer de las llamadas de su centralita utilizando nuestros webhooks y con la API de Monday ==¿Qué necesita?== Solo necesita obtener...») |
(→Programamos un webhook cuando una llamada se cuelga o es perdida en la extensión 2) |
||
| 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 | ||
| + | |||
| + | $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); | ||
| + | <?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); | ||
| + | |||
| + | ?> | ||
===Código del servidor=== | ===Código del servidor=== | ||
===Resultado=== | ===Resultado=== | ||
Revisión del 13:43 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 = "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); <?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);
?>
