{"id":1006,"date":"2022-03-02T14:44:31","date_gmt":"2022-03-02T14:44:31","guid":{"rendered":"https:\/\/blog.ultramsg.com\/recibir-mensajes-de-whatsapp-usando-php-y-webhook\/"},"modified":"2022-03-12T05:18:45","modified_gmt":"2022-03-12T05:18:45","slug":"recibir-mensajes-de-whatsapp-usando-php-y-webhook","status":"publish","type":"post","link":"https:\/\/blog.ultramsg.com\/es\/recibir-mensajes-de-whatsapp-usando-php-y-webhook\/","title":{"rendered":"Reciba mensajes de WhatsApp usando PHP y webhook"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"introduction\">Introducci\u00f3n<\/h2>\n\n<p>En este tutorial, crearemos una p\u00e1gina para manejar los mensajes de WhatsApp entrantes usando PHP.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"dependencies\">dependencias<\/h2>\n\n<p>para fines de desarrollo local, se requiere un servicio de t\u00faneles. Este ejemplo usa <a href=\"https:\/\/ngrok.com\/\" rel=\"nofollow noopener\" target=\"_blank\">ngrok<\/a> , puede descargar ngrok desde <a href=\"https:\/\/ngrok.com\/download\" data-type=\"URL\" data-id=\"https:\/\/ngrok.com\/download\" rel=\"nofollow noopener\" target=\"_blank\">aqu\u00ed<\/a> .<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"example\">Ejemplo<\/h2>\n\n<p>Este es un ejemplo muy simple, con el servidor registrando el cuerpo de la solicitud en el archivo log.txt.<\/p>\n\n<p>El cuerpo contiene la informaci\u00f3n completa del webhook enviada desde la instancia de WhatsApp de la API de Ultramsg.<\/p>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">$data = file_get_contents(\"php:\/\/input\");\n$event = json_decode($data, true);\nif(isset($event)){\n\t\/\/Here, you now have event and can process them how you like e.g Add to the database or generate a response\n\t$file = 'log.txt';  \n\t$data =json_encode($event).\"\\n\";  \n\tfile_put_contents($file, $data, FILE_APPEND | LOCK_EX);\n<\/code>}<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"on-server-usage\">Sobre el uso del servidor<\/h2>\n\n<p>Guarde el archivo de ejemplo anterior como test.php y c\u00e1rguelo en su servidor. La URL del Webhook ser\u00e1:<\/p>\n\n<pre class=\"wp-block-code\"><code><a href=\"http:\/\/your-server\/webhook.php\"><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">http:\/\/your-server\/test.php<\/code><\/a><\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"on-local-usage-with-ngrok\">Sobre uso local con ngrok<\/h2>\n\n<p>Guarde el archivo de ejemplo anterior como test.php en su host local y la URL ser\u00e1:<\/p>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">http:\/\/localhost\/test.php<\/code><\/code><\/pre>\n\n<p>Iniciar ngrok:<\/p>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">ngrok http 80<\/code><\/code><\/pre>\n\n<p>Despu\u00e9s de esto, deber\u00edas ver un<br\/>URL *.ngrok.io.<br\/>por ejemplo :<br\/>https:\/\/7647-115-83-121-164.ngrok.io<br\/>reemplazar host local con<br\/>URL de ngrok.io<br\/>la URL ser\u00e1:<br\/>https:\/\/7647-115-83-121-164.ngrok.io\/webhook.php<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"what-s-next\">\u00bfQue sigue?<\/h2>\n\n<p>pegue su URL en la configuraci\u00f3n de la instancia.<br\/>Deber\u00eda poder recibir webhooks ahora y puede verlos en el archivo log.txt.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"example-json-response\">EJEMPLO DE RESPUESTA JSON <\/h2>\n\n<pre class=\"wp-block-code\"><code>{\n  \"event_type\": \"message_received\",\n  \"instanceId\": \"90\",\n  \"data\": {\n    \"id\": \"false_10172127174@c.us_7ECAED9EB68D3474BE591443134C2E3F\",\n    \"from\": \"10172127174@c.us\",\n    \"to\": \"10172127175@c.us\",\n    \"ack\": \"pending\",\n    \"type\": \"chat\",\n    \"body\": \"I can't send a message using php code\\nCan you help me\",\n    \"fromMe\": false,\n    \"isForwarded\": false,\n    \"time\": 1643311467\n  }\n}<\/code><\/pre>\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Receive WhatsApp messages using PHP | WhatsApp api Webhook\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/TfQOclLMIng?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"useful-links\">Enlaces \u00fatiles<\/h2>\n\n<ul class=\"wp-block-list\"><li>Documentaci\u00f3n <span style=\"font-family: -apple-system, system-ui, BlinkMacSystemFont, \" segoe=\"\" ui=\"\" helvetica=\"\" arial=\"\" sans-serif=\"\" color=\"\" emoji=\"\" symbol=\"\">completa<\/span> <a style=\"font-family: -apple-system, system-ui, BlinkMacSystemFont, \" segoe=\"\" ui=\"\" helvetica=\"\" arial=\"\" sans-serif=\"\" color=\"\" emoji=\"\" symbol=\"\" href=\"https:\/\/docs.ultramsg.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">de la API de Whatsapp<\/a> <span style=\"font-family: -apple-system, system-ui, BlinkMacSystemFont, \" segoe=\"\" ui=\"\" helvetica=\"\" arial=\"\" sans-serif=\"\" color=\"\" emoji=\"\" symbol=\"\">.<\/span><\/li><li>enviar mensajes de <a href=\"https:\/\/blog.ultramsg.com\/es\/send-whatsapp-message-by-whatsapp-api-using-php\/\">la API de WhatsApp<\/a> usando PHP.<\/li><\/ul>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En este tutorial, crearemos una p\u00e1gina para manejar los mensajes de WhatsApp entrantes usando &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Reciba mensajes de WhatsApp usando PHP y webhook\" class=\"read-more button\" href=\"https:\/\/blog.ultramsg.com\/es\/recibir-mensajes-de-whatsapp-usando-php-y-webhook\/#more-1006\" aria-label=\"Leer m\u00e1s sobre Reciba mensajes de WhatsApp usando PHP y webhook\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":961,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[58,59,61],"class_list":["post-1006","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-whatsapp","tag-php-es","tag-tutoriales","tag-webhook-es","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/posts\/1006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/comments?post=1006"}],"version-history":[{"count":2,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/posts\/1006\/revisions"}],"predecessor-version":[{"id":1803,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/posts\/1006\/revisions\/1803"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/media\/961"}],"wp:attachment":[{"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/media?parent=1006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/categories?post=1006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/es\/wp-json\/wp\/v2\/tags?post=1006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}