{"id":8824,"date":"2025-11-21T17:50:48","date_gmt":"2025-11-21T17:50:48","guid":{"rendered":"https:\/\/altamira.gob.mx\/2427\/?page_id=8824"},"modified":"2025-11-25T01:34:59","modified_gmt":"2025-11-25T01:34:59","slug":"prueba2","status":"publish","type":"page","link":"https:\/\/altamira.gob.mx\/2427\/prueba2\/","title":{"rendered":"prueba2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8824\" class=\"elementor elementor-8824\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bcc4bbc e-flex e-con-boxed e-con e-parent\" data-id=\"bcc4bbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b34833f elementor-widget elementor-widget-html\" data-id=\"b34833f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t<!DOCTYPE html>\n\t<html lang=\"es\">\n\t<head>\n\t  <meta charset=\"UTF-8\">\n\t  <title>Chatbot<\/title>\n\t  <style>\n  body {\n    font-family: Arial, sans-serif;\n    margin: 0;\n    padding: 0;\n  }\n\n \n  #chatBubble {\n    position: fixed;\n    bottom: 20px;\n    right: 20px;\n    background-color: #802b39;\n    border-radius: 20%;\n    width: 100px;\n    height: 100px;\n    cursor: pointer;\n    box-shadow: 0 4px 8px rgba(0,0,0,0.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    z-index: 1000;\n  }\n\n  #chatBubble img {\n    width: 100px;\n    height: 100px;\n  }\n\n  \/* --- VENTANA DE CHAT --- *\/\n  #chatWindow {\n    position: fixed;\n    bottom: 90px;\n    right: 20px;\n    width: 320px;\n    max-height: 500px;\n    background: white;\n    border-radius: 10px;\n    box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n    display: none;\n    flex-direction: column;\n    overflow: hidden;\n    z-index: 1000;\n  }\n\n#chatHeader {\n  background: #802b39;\n  color: white;\n  padding: 10px;\n  font-weight: bold;\n\n  display: flex;\n  align-items: center;\n  gap: 10px;\n\n  justify-content: flex-start; \/* alineado a la izquierda *\/\n}\n\n\n  #chatbox {\n    flex: 1;\n    padding: 10px;\n    overflow-y: auto;\n    display: flex;\n    flex-direction: column;\n  }\n\n  \/* --- MENSAJES --- *\/\n  .message {\n    max-width: 80%;\n    padding: 10px 14px;\n    border-radius: 15px;\n    margin: 6px 0;\n    line-height: 1.4;\n    word-wrap: break-word;\n  }\n\n  \/* --- BOT --- *\/\n  .bot {\n    align-self: flex-start;\n    background-color: #e6e6e6;\n    color: #4e1b24;\n    border-bottom-left-radius: 5px;\n  }\n\n  \/* --- USUARIO --- *\/\n  .user {\n    align-self: flex-end;\n    background-color: #802b39;\n    color: white;\n    border-bottom-right-radius: 5px;\n    text-align: right;\n  }\n\n  \/* --- \u00c1REA DE ENTRADA --- *\/\n  #userInput {\n    resize: none;\n    width: calc(100% - 20px);\n    padding: 8px;\n    margin: 10px;\n    border: 1px solid #ccc;\n    border-radius: 5px;\n    box-sizing: border-box;\n    font-family: inherit;\n    font-size: 14px;\n    overflow-y: auto; \n    min-height: 40px;\n    max-height: 120px; \n    line-height: 1.4;\n  }\n\n  #sendButton {\n    width: calc(100% - 20px);\n    margin: 0 10px 10px;\n    padding: 8px;\n    background: #802b39;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n  }\n\n  #sendButton:hover {\n    background: #4e1b24;\n  }\n\n  \/* --- BOTONES DEL BOT --- *\/\n  .bot-button {\n    background-color: #802b39;   \n    color: white;\n    border: none;\n    border-radius: 20px;           \n    padding: 6px 14px;\n    margin-top: 8px;\n    cursor: pointer;\n    font-size: 14px;\n    transition: background-color 0.3s;\n  }\n\n  .bot-button:hover {\n    background-color: #4e1b24;\n  }\n\n.mini-btn {\n  background-color: #802b39;\n  color: white;\n  border: none;\n  padding: 6px 12px;\n  margin: 5px 3px;\n  border-radius: 12px;\n  cursor: pointer;\n  font-size: 13px;\n  transition: 0.2s;\n}\n\n.mini-btn:hover {\n  background-color: #4e1b24;\n}\n\n#bot-button{\n    width: calc(100% - 20px);\n    margin: 0 10px 10px;\n    padding: 8px;\n    background: #802b39;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n  }\n\n  #bot-reporte{\n    width: calc(100% - 20px);\n    margin: 0 10px 10px;\n    padding: 8px;\n    background: #802b39;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n  }\n  \n    #btnSubirImagen{\n    width: calc(100% - 20px);\n    margin: 0 10px 10px;\n    padding: 8px;\n    background: #802b39;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n  }\n  \n      #btnSinImagen{\n    width: calc(100% - 20px);\n    margin: 0 10px 10px;\n    padding: 8px;\n    background: #802b39;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n  }\n  \n.reset-btn {\n  width: 36px;\n  height: 36px;\n  border-radius: 10%;\n  border: none;\n  background: #802b39;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  cursor: pointer;\n  margin-left: 10px;\n  margin-right: 10px;\n  transition: 0.2s;\n  position: relative;\n}\n\n\/* Elimina cualquier color que afecte al icono *\/\n.reset-btn svg {\n  width: 18px;\n  height: 18px;\n  display: block;\n}\n\n.reset-btn:hover {\n  background: #4e1b24;\n  transform: scale(1.1);\n}\n\n\/* Tooltip *\/\n.reset-btn:hover::after {\n  content: attr(title);\n  position: absolute;\n  left: 45px;\n  top: 50%;\n  transform: translateY(-50%);\n  background: #4e1b24;\n  color: white;\n  padding: 5px 10px;\n  border-radius: 6px;\n  white-space: nowrap;\n  font-size: 12px;\n  pointer-events: none;\n  opacity: 1;\n  transition: opacity 0.2s;\n}\n\n.reset-btn::after {\n  opacity: 0;\n}\n\n\n\n  \n\t  <\/style>\n\t<\/head>\n\t<body>\n\n\t<!-- Esta es la burbuja del bot, falta editar foto para mejorar al calidad-->\n\t<div id=\"chatBubble\">\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"80\" height=\"70\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"#ffffff\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"9\" rx=\"4\"\/><circle cx=\"12\" cy=\"3\" r=\"2\"\/><path d=\"M12 5v4m-3 8v-2m6 0v2\"\/><\/g><\/svg> <\/div>\n\n  <!-- Ventana del chatbot -->\n  <div id=\"chatWindow\">\n   <div id=\"chatHeader\">\n  <button id=\"btnResetChat\" class=\"reset-btn\" title=\"Reiniciar conversaci\u00f3n\"> \u21ba\n<\/button>\n<span>ALTAMI<\/span>\n\n<\/div>\n\n    <div id=\"chatbox\">\n    <button id=\"bot-button\">\ud83c\udfe0 Quiero pagar mi predial<\/button>\n    <!-- <button id=\"bot-reporte\" class=\"opcion-bot\"> Crear reporte ciudadano<\/button> -->\n    <\/div>\n\n\n\n    <textarea id=\"userInput\" placeholder=\"Escribe tu mensaje...\"><\/textarea>\n    <input type=\"file\" id=\"inputImagen\" accept=\"image\/*\" style=\"display:none;\">\n\n    <button id=\"sendButton\">Enviar<\/button>\n  <\/div>\n\n\n\n\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n\n<script>\nfunction mostrarOpcionesBot() {\n  const opciones = document.createElement(\"div\");\n  opciones.classList.add(\"message\", \"bot\");\n\n  opciones.innerHTML = `\n    <button class=\"mini-btn\" id=\"btnPredial\">\ud83c\udfe0 Quiero pagar mi predial<\/button>\n    \n  `; \/*<button class=\"mini-btn\" id=\"btnReporte\">Crear reporte ciudadano<\/button>*\/\n\n  chatbox.appendChild(opciones);\n  chatbox.scrollTop = chatbox.scrollHeight;\n}\n\n\/********************************************\n\nlet sessionId = localStorage.getItem(\"sessionId\");\nif (!sessionId) {\n  sessionId = crypto.randomUUID();\n  localStorage.setItem(\"sessionId\", sessionId);\n}\n\nconst WEBHOOK_URL = \"\";*\/\n\n\/********************************************\n *\/\nconst chatBubble = document.getElementById(\"chatBubble\");\nconst chatWindow = document.getElementById(\"chatWindow\");\nconst chatbox = document.getElementById(\"chatbox\");\nconst userInput = document.getElementById(\"userInput\");\nconst sendButton = document.getElementById(\"sendButton\");\nconst inputImagen = document.getElementById(\"inputImagen\");\n\n\/**\/\nfunction addMessage(text, sender = \"bot\") {\n  const msg = document.createElement(\"div\");\n  msg.classList.add(\"message\", sender);\n  msg.innerHTML = text;\n  chatbox.appendChild(msg);\n  chatbox.scrollTop = chatbox.scrollHeight;\n}\n\nchatBubble.addEventListener(\"click\", () => {\n  chatWindow.style.display = chatWindow.style.display === \"flex\" ? \"none\" : \"flex\";\n});\n\ndocument.getElementById(\"btnResetChat\").addEventListener(\"click\", reiniciarConversacion);\n\n\n\/*\nasync function sendToN8N(message) {\n  try {\n    const response = await fetch(WEBHOOK_URL, {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/json\" },\n      body: JSON.stringify({\n        message: message,\n        sessionId: sessionId\n      })\n    });\n\n    const data = await response.json();\n\n    const reply = data.reply || data.myField || JSON.stringify(data);\n    addMessage(reply, \"bot\");\n\n  } catch (error) {\n    console.error(\"Error n8n:\", error);\n    addMessage(\" Error al conectar con el servidor.\", \"bot\");\n  }\n}*\/\n\nfunction mostrarBotonRegresar() {\n  const btn = document.createElement(\"button\");\n  btn.innerText = \"\u2b05 Regresar\";\n  btn.classList.add(\"mini-btn\");\n\n  btn.onclick = () => {\n    \/\/ reset de estados al regresar\n    estadoConsulta = null;\n    estadoReporte = null;\n    addMessage(\"\u00bfEn qu\u00e9 puedo ayudarte?\");\n    mostrarOpcionesBot();\n  };\n\n  const cont = document.createElement(\"div\");\n  cont.classList.add(\"message\", \"bot\");\n  cont.appendChild(btn);\n  chatbox.appendChild(cont);\n\n  chatbox.scrollTop = chatbox.scrollHeight;\n}\n\nfunction reiniciarConversacion() {\n  chatbox.innerHTML = \"\"; \n\n  estadoConsulta = null;\n  estadoReporte = null;\n\n  \/*telefonoUsuario = \"\";\n  nombreUsuario = \"\";\n  descripcionReporte = \"\";\n  lat = null;\n  lon = null;\n  imagenBase64 = \"\";*\/\n\n  addMessage(\"Hola soy ALTAMI un Agente virtual para ti, indicame en que puedo ayudar hoy.\");\n  mostrarOpcionesBot();\n}\n\n\n\/* *\/\nlet estadoConsulta = null;\nlet datoClave = \"\";\nlet datoNombre = \"\";\n\n\/*\nlet estadoReporte = null;\nlet telefonoUsuario = \"\";\nlet nombreUsuario = \"\";\nlet descripcionReporte = \"\";\nlet lat = null;\nlet lon = null;\nlet imagenBase64 = \"\";*\/\n\n\/**\/\ndocument.getElementById(\"bot-button\").addEventListener(\"click\", function () {\n  estadoConsulta = \"pedirClave\";\n  estadoReporte = null; \/\/ reset del otro flujo\n  addMessage(\"\ud83d\udd11 Por favor ingrese su clave catastral:\");\n});\n\n\/*document.getElementById(\"bot-reporte\").addEventListener(\"click\", function () {\n  estadoReporte = \"pedirTelefono\";\n  estadoConsulta = null; \/\/ reset del otro flujo\n  addMessage(\"Para registrar tu reporte ciudadano, ingresa tu n\u00famero telef\u00f3nico:\");\n});*\/\n\n\/**\/\nasync function handleInput() {\n  const texto = userInput.value.trim();\n  if (!texto) return;\n\n  addMessage(texto, \"user\");\n  userInput.value = \"\";\n\n  \/**\/\n  if (estadoConsulta === \"pedirClave\") {\n    datoClave = texto;\n    estadoConsulta = \"pedirNombre\";\n    addMessage(\"\ud83d\udc64 Ind\u00edqueme por favor el Nombre del propietario  o Raz\u00f3n Social  \u00a0de\u00a0este\u00a0predio:\");\n    return;\n  }\n\n  if (estadoConsulta === \"pedirNombre\") {\n    datoNombre = texto;\n    estadoConsulta = null;\n\n    addMessage(\"\u23f3 Estoy consultando tu informaci\u00f3n, un momento por favor\u2026\");\n\n    $.ajax({\n      url: \"https:\/\/ast.siaweb.net\/php\/api-xapp.php\",\n      type: \"POST\",\n      dataType: \"json\",\n      data: {\n        accion: \"obtener-pago-chat\",\n        clave: datoClave,\n        nombre: datoNombre\n      },\n      success: function (response) {\n\n        \n        if (response.success) {\n\n          let msg =\n            \"Contribuyente encontrado<br><br>\" +\n            \"Nombre: \" + response.contribuyente + \"<br>\" +\n            \"Clave: \" + response.clave + \"<br>\" +\n            \"Monto a pagar: $\" + response.monto_pagar + \"<br><br>\" +\n            \"\ud83d\udc49 <a href='\" + response.url + \"' target='_blank'>Realizar pago aqu\u00ed<\/a>\";\n\n          addMessage(msg);\n          mostrarBotonRegresar();\n\n          return;\n        }\n\n        \n        if (response.error?.includes(\"ya fue pagada\")) {\n          addMessage(\"\u2714 Esta clave ya se encuentra pagada o est\u00e1 en proceso de pago.\");\n          mostrarBotonRegresar();\n          return;\n        }\n\n       \n   addMessage(\n  \"\u26a0 No encontr\u00e9 informaci\u00f3n con esos datos. \u00bfLos revisamos de nuevo?<br><br>\" +\n  \/*\"O si desea contactar a un colaborador del municipio, d\u00e9 clic aqu\u00ed:<br>\" +\n  \"<a href='https:\/\/wa.me\/' target='_blank'>\ud83d\udcde Contactar<\/a>\"*\/\n);\nmostrarBotonRegresar();\n\n      }\n    });\n\n    return;\n  }\n\n  \/*\n  if (estadoReporte === \"pedirTelefono\") {\n    telefonoUsuario = texto;\n    estadoReporte = \"pedirNombre\";\n    addMessage(\"Gracias. Ahora ingresa tu nombre:\");\n    return;\n  }\n\n  if (estadoReporte === \"pedirNombre\") {\n    nombreUsuario = texto;\n    estadoReporte = \"pedirDescripcion\";\n    addMessage(\"Describe el problema que deseas reportar:\");\n    return;\n  }\n\n  if (estadoReporte === \"pedirDescripcion\") {\n    descripcionReporte = texto;\n    estadoReporte = \"pedirDireccion\";\n\n    addMessage(\n      \"Por favor escribe la *direcci\u00f3n exacta* donde ocurre el problema.<br><br>\" +\n      \"Ejemplos:<br>\" +\n      \"\ud83d\udccd Calle Hidalgo 345, Colonia Centro<br>\" +\n      \"\ud83d\udccd Avenida de la Industria 540, Zona Centro\"\n    );\n\n    return;\n  }\n\n  \/********************************************\n   * CONVERTIR DIRECCI\u00d3N \u2192 LAT \/ LON (NOMINATIM)\n   *******************************************\n  if (estadoReporte === \"pedirDireccion\") {\n    const direccion = texto;\n\n    addMessage(\"Buscando ubicaci\u00f3n en el mapa...\");\n\n    fetch(`https:\/\/nominatim.openstreetmap.org\/search?format=json&q=${encodeURIComponent(direccion)}`)\n      .then(res => res.json())\n      .then(data => {\n        if (!data || data.length === 0) {\n          addMessage(\"\u274c No pude encontrar esa direcci\u00f3n. Intenta escribirla nuevamente:\");\n          return; \/\/ permanece en pedirDireccion\n        }\n\n        \/\/ Guardar coordenadas\n        lat = data[0].lat;\n        lon = data[0].lon;\n\n        estadoReporte = \"pedirImagen\";\n\n        addMessage(\n          \"Direcci\u00f3n encontrada \ud83d\udccd<br>\" +\n          \"Ahora sube una imagen del problema (opcional):<br>\" +\n          `<button class=\"mini-btn\" id=\"btnSubirImagen\">\ud83d\udce4 Subir imagen<\/button><br>` +\n          `<button class=\"mini-btn\" id=\"btnSinImagen\">\ud83d\udeab Enviar sin imagen<\/button>`\n        );\n      })\n      .catch(() => {\n        addMessage(\"\u274c Error al conectar con el servicio de mapas. Intenta de nuevo.\");\n      });\n\n    return;\n  }\n\n  \/*\n  if (estadoReporte === \"enviarReporte\") {\n    enviarReporte();\n    return;\n  }*\/\n\n  \/**************************************\n   * \ud83d\udea8 SI LLEGA AQU\u00cd \u2192 NO EST\u00c1 EN NING\u00daN FLUJO\n   *    ENVIAR A N8N\n   *************************************\n  sendToN8N(texto);*\/\n}\n\n\/*\ninputImagen.addEventListener(\"change\", function (e) {\n  const file = e.target.files[0];\n  if (!file) return;\n\n  \/\/ Validar im\u00e1genes\n  if (!file.type.startsWith(\"image\/\")) {\n    addMessage(\"\u26a0 El archivo debe ser una imagen.\");\n    return;\n  }\n\n  const reader = new FileReader();\n  reader.onload = function (event) {\n    const img = new Image();\n    img.src = event.target.result;\n\n    img.onload = function () {\n      const canvas = document.createElement(\"canvas\");\n      const MAX_WIDTH = 800;   \/\/ \u2b05 Ajustable\n      const MAX_HEIGHT = 800;  \/\/ \u2b05 Ajustable\n      let width = img.width;\n      let height = img.height;\n\n      \/\/ Reducci\u00f3n proporcional\n      if (width > height) {\n        if (width > MAX_WIDTH) {\n          height *= MAX_WIDTH \/ width;\n          width = MAX_WIDTH;\n        }\n      } else {\n        if (height > MAX_HEIGHT) {\n          width *= MAX_HEIGHT \/ height;\n          height = MAX_HEIGHT;\n        }\n      }\n\n      canvas.width = width;\n      canvas.height = height;\n\n      const ctx = canvas.getContext(\"2d\");\n      ctx.drawImage(img, 0, 0, width, height);\n\n      \/\/ Comprimir a JPG calidad 70%\n      const compressedBase64 = canvas.toDataURL(\"image\/jpeg\", 0.7);\n\n      \/\/ QUITAR formateo (solo el base64)\n      imagenBase64 = compressedBase64.split(\",\")[1];\n\n      estadoReporte = \"enviarReporte\";\n      enviarReporte();\n    };\n  };\n\n  reader.readAsDataURL(file);\n});*\/\n\n\/*\nfunction enviarReporte() {\n  addMessage(\"Enviando tu reporte...\");\n\n  $.ajax({\n    url: \"\",\n    type: \"POST\",\n    data: {\n      accion: \"guardar-peticion-chatbot\",\n      telefono: telefonoUsuario,\n      nombre: nombreUsuario,\n      descripcion: descripcionReporte,\n      latitud: lat,\n      longitud: lon,\n      imagen_base64: imagenBase64\n    },\n    success: function (resp) {\n      try {\n        const response = typeof resp === \"string\" ? JSON.parse(resp) : resp;\n\n        if (response.success) {\n          addMessage(\"\u2714 Tu reporte fue registrado correctamente.\");\n          mostrarBotonRegresar();\n        } else {\n          addMessage(\"\u274c Error: \" + response.error);\n          mostrarBotonRegresar();\n        }\n      } catch (error) {\n        addMessage(\"\u26a0 Error: Respuesta inesperada del servidor.\");\n        mostrarBotonRegresar();\n      }\n    },\n    error: function () {\n      addMessage(\"\u274c Error al enviar el reporte.\");\n      mostrarBotonRegresar();\n    }\n  });\n}*\/\n\n\/**\/\nchatbox.addEventListener(\"click\", (e) => {\n\n  \/\/ BOT\u00d3N: Consultar Pago (dentro del chat)\n  if (e.target && e.target.id === \"btnPredial\") {\n    estadoConsulta = \"pedirClave\";\n    estadoReporte = null;\n    addMessage(\"\ud83d\udd11 Por favor ingrese su clave catastral:\");\n    return;\n  }\n\n  \/*BOT\u00d3N: Reporte Ciudadano (dentro del chat)\n  if (e.target && e.target.id === \"btnReporte\") {\n    estadoReporte = \"pedirTelefono\";\n    estadoConsulta = null;\n    addMessage(\"Para registrar tu reporte ciudadano, ingresa tu n\u00famero telef\u00f3nico:\");\n    return;\n  }\n\n  \/\/ BOT\u00d3N: Subir imagen\n  if (e.target && e.target.id === \"btnSubirImagen\") {\n    inputImagen.click();\n    return;\n  }\n\n  \/\/ BOT\u00d3N: Enviar sin imagen\n  if (e.target && e.target.id === \"btnSinImagen\") {\n    imagenBase64 = \"\";\n    estadoReporte = \"enviarReporte\";\n    enviarReporte();\n    return;\n  }*\/\n});\n\n\/**\/\nsendButton.addEventListener(\"click\", handleInput);\n\nuserInput.addEventListener(\"keypress\", (e) => {\n  if (e.key === \"Enter\" && !e.shiftKey) {\n    e.preventDefault();\n    handleInput();\n  }\n});\n\n<\/script>\n\t<\/body>\n\t<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Chatbot \u21ba ALTAMI \ud83c\udfe0 Quiero pagar mi predial Enviar<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-8824","page","type-page","status-publish","hentry"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"FranciscoM","author_link":"https:\/\/altamira.gob.mx\/2427\/author\/franciscom\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Chatbot \u21ba ALTAMI \ud83c\udfe0 Quiero pagar mi predial Enviar","_links":{"self":[{"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/pages\/8824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/comments?post=8824"}],"version-history":[{"count":9,"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/pages\/8824\/revisions"}],"predecessor-version":[{"id":9220,"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/pages\/8824\/revisions\/9220"}],"wp:attachment":[{"href":"https:\/\/altamira.gob.mx\/2427\/wp-json\/wp\/v2\/media?parent=8824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}