Saltar a: navegación, buscar

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";
//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 (se puede obtener programaticamente con la API de monday.com                                                                                           
  //identificador del tablero donde vamos a meter el item                                                                                              
+
$boardid1="1226936037";
$boardid1="1226936037";
+
  //creamos el item en Monday                                                                                                                         
+
  //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_FILE, $fp);                                                                                                               
 
 
  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                                                                                                     
$anio = substr($fecha, 0, 4);
+
  $solohora = solohora($fecha); //nos devolverá 14:20:25
  $mes = substr($fecha, 4, 2);
+
  $solofecha = solofecha($fecha); //nos devolverá 2021-04-29
  $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\\\"}";
 
  $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);
$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);

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

¿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);
?>

Código del servidor

Resultado