Diferencia entre revisiones de «Monday.com»
(→Ejemplo práctico) |
(→Ejemplo práctico) |
||
| Línea 13: | Línea 13: | ||
<?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"]; | ||
$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 ="XXXXXXXXXXXXX"; | $token ="XXXXXXXXXXXXX"; | ||
| − | + | //identificador del tablero donde vamos a meter el item (se puede obtener programaticamente con la API de monday.com | |
| − | //identificador del tablero donde vamos a meter el item | + | $boardid1="1226936037"; |
| − | $boardid1="1226936037"; | + | |
| − | //creamos | + | //creamos la petición a la API de monday.com |
$ch = curl_init("https://api.monday.com/v2"); | $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_HTTPHEADER, array("Authorization: $token","Content-Type:application/json")); | ||
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 | + | //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\\\"}"; | $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( | ||
| Línea 50: | Línea 49: | ||
); | ); | ||
$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); | ||
Revisión del 13:58 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 //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);
?>
