{"id":65084,"date":"2023-11-23T08:34:37","date_gmt":"2023-11-23T11:34:37","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=65084&#038;preview=true&#038;preview_id=65084"},"modified":"2023-11-30T05:27:55","modified_gmt":"2023-11-30T08:27:55","slug":"aplicativo-de-relatorios-woocommerce","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/","title":{"rendered":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce"},"content":{"rendered":"<p>O <a href=\"https:\/\/kinsta.com\/pt\/blog\/tutorial-woocommerce\/\">plugin WooCommerce<\/a> para WordPress permite que voc\u00ea crie e gerencie com efici\u00eancia uma plataforma de eCommerce, fornecendo acesso a recursos de notifica\u00e7\u00e3o integrados que alertam voc\u00ea sobre pedidos novos ou conclu\u00eddos, n\u00edveis baixos de estoque e pagamentos bem-sucedidos. Esses recursos s\u00e3o essenciais, mas oferecem apenas insights limitados sobre os valiosos dados que o WooCommerce coleta.<\/p>\n<p>Tais limita\u00e7\u00f5es s\u00e3o a natureza dos plugins tradicionais operando no ambiente WordPress. Por outro lado, aplicativos hospedados \u2014 opera\u00e7\u00f5es baseadas na web em servidores externos \u2014 s\u00e3o muito mais extens\u00edveis.<\/p>\n<p>Ao se integrarem \u00e0s APIs do WooCommerce e usarem recursos externos, os aplicativos hospedados podem fornecer relat\u00f3rios avan\u00e7ados, alertas personalizados e insights detalhados sobre as transa\u00e7\u00f5es de eCommerce.<\/p>\n<p>Neste artigo, voc\u00ea aprender\u00e1 a criar um aplicativo hospedado que gera alertas de e-mail com dados abrangentes de transa\u00e7\u00f5es, superando os recursos do plugin padr\u00e3o.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Recursos existentes de relat\u00f3rios e notifica\u00e7\u00f5es<\/h2>\n<p>Os alertas e atualiza\u00e7\u00f5es de status integrados do WooCommerce ajudam no gerenciamento essencial da loja, mas podem n\u00e3o atender todas as demandas comerciais. Portanto, muitos usu\u00e1rios recorrem a plugins de terceiros para aumentar seus recursos de notifica\u00e7\u00e3o e relat\u00f3rio.<\/p>\n<p>Alguns dos plugins mais populares incluem:<\/p>\n<ul>\n<li><a href=\"https:\/\/woocommerce.com\/posts\/woocommerce-admin-a-new-central-dashboard-for-woocommerce\/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce Admin<\/a> &#8211; Fornece um painel intuitivo com as principais m\u00e9tricas e relat\u00f3rios da loja.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/woocommerce-pdf-invoices-packing-slips\/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce PDF Invoices and Packing Slips<\/a> &#8211; Permite a personaliza\u00e7\u00e3o de templates de faturas e notas de embalagem \u2014 enviadas automaticamente aos clientes por e-mail \u2014 e fornece um registro das faturas e notas de embalagem geradas.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/woocommerce-google-analytics-integration\/\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce Google Analytics Integration<\/a> &#8211; Usa as ferramentas do Google Analytics para gerar relat\u00f3rios detalhados sobre a demografia dos clientes e as fontes de tr\u00e1fego.<\/li>\n<\/ul>\n<p>Com esses plugins, o WooCommerce oferece op\u00e7\u00f5es de relat\u00f3rios e alertas, incluindo resumos de pedidos, alertas de estoque baixo, gerenciamento de invent\u00e1rio e an\u00e1lises detalhadas por meio da integra\u00e7\u00e3o com ferramentas como o <a href=\"https:\/\/kinsta.com\/pt\/blog\/ga4\/\">Google Analytics<\/a>.<\/p>\n<h2>As limita\u00e7\u00f5es dos sistemas de relat\u00f3rios atuais<\/h2>\n<p>Embora ben\u00e9ficos, os sistemas de relat\u00f3rios atuais t\u00eam recursos limitados e apresentam v\u00e1rias <strong>limita\u00e7\u00f5es<\/strong>, como<\/p>\n<ul>\n<li><strong>Personaliza\u00e7\u00e3o<\/strong>: <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-usar-o-google-analytics\/\">Ferramentas e plugins gen\u00e9ricos para\u00a0relat\u00f3rios<\/a> podem limitar a capacidade de sua empresa de obter insights detalhados e espec\u00edficos a partir dos dados. Voc\u00ea pode precisar de m\u00e9tricas personalizadas, visualiza\u00e7\u00f5es \u00fanicas, integra\u00e7\u00e3o com ferramentas anal\u00edticas exclusivas ou filtros de dados espec\u00edficos que n\u00e3o est\u00e3o dispon\u00edveis em ferramentas e plugins comuns de relat\u00f3rios.<\/li>\n<li><strong>Escalabilidade<\/strong><strong>:<\/strong> Os sistemas de relat\u00f3rios existentes podem enfrentar <a href=\"https:\/\/kinsta.com\/pt\/blog\/escalabilidade-do-woocommerce\/\">problemas de escalabilidade<\/a> ao lidar com grandes conjuntos de dados. O desempenho lento e os gargalos no processamento de dados podem impedir a an\u00e1lise eficiente dos dados, levando a atrasos na tomada de decis\u00f5es e nos tempos de resposta.<\/li>\n<li><strong>Depend\u00eancia do WordPress<\/strong><strong>:<\/strong> A integra\u00e7\u00e3o com o WordPress pode limitar a independ\u00eancia, a personaliza\u00e7\u00e3o e a capacidade de escalonamento. Isso pode levar a restri\u00e7\u00f5es relativas a recursos de servidor, compatibilidade de plugins e vulnerabilidades de seguran\u00e7a, al\u00e9m de potencialmente impedir a ado\u00e7\u00e3o de tecnologias e solu\u00e7\u00f5es mais avan\u00e7adas por parte da sua empresa.<\/li>\n<\/ul>\n<p>Por outro lado, um aplicativo de relat\u00f3rios personalizado pode fornecer informa\u00e7\u00f5es detalhadas sobre transa\u00e7\u00f5es e clientes. Voc\u00ea pode usar esses dados para prever tend\u00eancias de mercado e otimizar suas ofertas de acordo com elas.<\/p>\n<p>Al\u00e9m disso, voc\u00ea pode dimensionar rapidamente um aplicativo de relat\u00f3rios personalizado para acomodar volumes de dados cada vez maiores, garantindo opera\u00e7\u00f5es cont\u00ednuas \u00e0 medida que sua empresa cresce.<\/p>\n<h2>O aplicativo de relat\u00f3rios avan\u00e7ados<\/h2>\n<p>O aplicativo de relat\u00f3rios avan\u00e7ados apresentado neste artigo tem as seguintes fun\u00e7\u00f5es:<\/p>\n<ul>\n<li>Alertas detalhados de transa\u00e7\u00f5es s\u00e3o enviados por e-mail ao propriet\u00e1rio da loja quando o cliente faz um novo pedido. O aplicativo tamb\u00e9m tem um painel que mostra uma lista de todos os pedidos com seus detalhes.<\/li>\n<li>As atualiza\u00e7\u00f5es de estoque mostram os <a href=\"https:\/\/kinsta.com\/pt\/blog\/gerenciamento-de-inventario-woocommerce\/\">detalhes do estoque da loja<\/a> no painel. A partir da\u00ed, voc\u00ea pode acompanhar facilmente os n\u00edveis de estoque de cada produto.<\/li>\n<li>O relat\u00f3rio de vendas totais permite que voc\u00ea analise as tend\u00eancias de receita ao longo do tempo.<\/li>\n<\/ul>\n<p>Diferentemente dos plugins gen\u00e9ricos ou do sistema padr\u00e3o de notifica\u00e7\u00f5es e alertas do WooCommerce, esse aplicativo oferece alertas detalhados e personaliz\u00e1veis sobre o estoque restante e o total de vendas.<\/p>\n<p>Voc\u00ea tamb\u00e9m tem v\u00e1rias vantagens ao hospedar o aplicativo, como:<\/p>\n<ul>\n<li><strong>Escalabilidade<\/strong><strong>:<\/strong> A hospedagem independente minimiza os gargalos no processamento de dados, garantindo que voc\u00ea possa expandir as opera\u00e7\u00f5es sem restri\u00e7\u00f5es de recursos.<\/li>\n<li><strong>Personaliza\u00e7\u00e3o:<\/strong> A hospedagem independente permite que voc\u00ea personalize a forma de usar os dados coletados, por exemplo, integrando servi\u00e7os de terceiros (como mecanismos de an\u00e1lise preditiva) e implementando t\u00e9cnicas exclusivas de visualiza\u00e7\u00e3o de dados para se alinhar melhor aos requisitos e \u00e0s metas da sua empresa.<\/li>\n<li><strong>Autonomia:<\/strong> Ao remover seu aplicativo do ambiente do WordPress, voc\u00ea se livra de restri\u00e7\u00f5es como recursos limitados do servidor e poss\u00edveis conflitos entre v\u00e1rios plugins.<\/li>\n<\/ul>\n<h2>Como desenvolver um aplicativo de relat\u00f3rios avan\u00e7ados<\/h2>\n<p>Nesta se\u00e7\u00e3o, vamos criar um aplicativo de relat\u00f3rios usando o Node.js com a <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\/#introduction\" target=\"_blank\" rel=\"noopener noreferrer\">API REST do WooCommerce<\/a> e <a href=\"https:\/\/woocommerce.com\/document\/webhooks\/\" target=\"_blank\" rel=\"noopener noreferrer\">webhooks<\/a> para recuperar os dados da loja.<\/p>\n<p><strong>Requisitos:<\/strong><\/p>\n<ul>\n<li>Uma loja do WooCommerce em execu\u00e7\u00e3o localmente <a href=\"https:\/\/kinsta.com\/pt\/blog\/tutorial-woocommerce\/\">com um ou mais produtos<\/a> definidos.<\/li>\n<li>Uma <a href=\"https:\/\/www.mailgun.com\/\">conta gratuita do Mailgun<\/a> para enviar e-mails.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/pt\/blog\/como-instalar-o-node-js\/\">Node.js<\/a> e <a href=\"https:\/\/ngrok.com\/docs\/getting-started\/\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a> instalados.<\/li>\n<li>O <a href=\"https:\/\/github.com\/VirtuaCreative\/woocommerce-reporting-app\" target=\"_blank\" rel=\"noopener noreferrer\">template inicial<\/a> do projeto.<\/li>\n<li>Um editor de c\u00f3digo.<\/li>\n<\/ul>\n<h3>Configure o template inicial<\/h3>\n<p>Siga estas etapas para configurar o template inicial:<\/p>\n<ol start=\"1\">\n<li><a href=\"https:\/\/help.mailgun.com\/hc\/en-us\/articles\/203380100-Where-Can-I-Find-My-API-Key-and-SMTP-Credentials-\" target=\"_blank\" rel=\"noopener noreferrer\">Anote a chave API do Mailgun e o dom\u00ednio sandbox<\/a> e cole os valores deles no arquivo <strong>.env<\/strong> junto com as vari\u00e1veis correspondentes. Para a vari\u00e1vel <code>MAILGUN_SENDER_EMAIL<\/code>, forne\u00e7a o e-mail que voc\u00ea usou para criar a conta do Mailgun como o valor.<\/li>\n<li>No painel de controle do WordPress, selecione <strong>WooCommerce<\/strong>\u00a0&gt; <strong>Settings<\/strong>\u00a0&gt; <strong>Advanced<\/strong>\u00a0&gt; <strong>REST API<\/strong>.<\/li>\n<\/ol>\n<figure style=\"width: 1179px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-rest-api.png\" alt=\"Guia Avan\u00e7ado do WooCommerce mostrando a se\u00e7\u00e3o da API REST.\" width=\"1179\" height=\"668\"><figcaption class=\"wp-caption-text\">Guia Avan\u00e7ado do WooCommerce mostrando a se\u00e7\u00e3o da API REST.<\/figcaption><\/figure>\n<ol start=\"3\">\n<li>Clique em <strong>Add key (Adicionar chave)<\/strong> para criar a chave API e autenticar solicita\u00e7\u00f5es do seu aplicativo.<\/li>\n<li>Abra a se\u00e7\u00e3o <strong>Key details (Detalhes da chave)<\/strong> e forne\u00e7a uma descri\u00e7\u00e3o e um usu\u00e1rio, selecione <strong>Read\/Write permissions<\/strong> <strong>(Permiss\u00f5es de leitura\/grava\u00e7\u00e3o)<\/strong> e clique em <strong>Generate API key (Gerar chave API)<\/strong>.<\/li>\n<\/ol>\n<figure style=\"width: 1179px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-api-key-details.png\" alt=\"Guia Avan\u00e7ado do WooCommerce mostrando os detalhes da Chave API.\" width=\"1179\" height=\"671\"><figcaption class=\"wp-caption-text\">Guia Avan\u00e7ado do WooCommerce mostrando os detalhes da Chave API.<\/figcaption><\/figure>\n<ol start=\"5\">\n<li>Certifique-se de copiar a <strong>Consumer key (<\/strong><strong>Chave do consumidor)<\/strong> e o <strong>Consumer secret <\/strong><strong>(Segredo do consumidor)<\/strong> da p\u00e1gina resultante, pois voc\u00ea n\u00e3o poder\u00e1 v\u00ea-los novamente.<\/li>\n<li>Abra o arquivo <strong>.env<\/strong> e atribua os valores que voc\u00ea copiou na etapa anterior \u00e0s suas respectivas vari\u00e1veis. Forne\u00e7a a URL da sua loja para a vari\u00e1vel <code>WOOCOMMERCE_STORE_URL<\/code> (algo como <code>http:\/\/localhost\/mystore\/index.php<\/code>).<\/li>\n<li>Instale todas as depend\u00eancias do projeto executando o seguinte comando em seu terminal:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">npm i express @woocommerce\/woocommerce-rest-api dotenv ejs mailgun.js\n\nnpm i -D nodemon<\/code><\/pre>\n<p>Essas depend\u00eancias servem para as seguintes finalidades:<\/p>\n<ul>\n<li><code>express<\/code>: Framework do Node.js para criar uma API.<\/li>\n<li><code>@woocommerce\/woocommerce-rest-api<\/code>: Faz chamadas de rede para a API REST do WooCommerce.<\/li>\n<li><code>dotenv<\/code>: Carrega vari\u00e1veis de ambiente do arquivo <strong>.env<\/strong>.<\/li>\n<li><code>ejs<\/code>: Cria templates JavaScript.<\/li>\n<li><code>mailgun.js<\/code>: Envia e-mails usando o Mailgun.<\/li>\n<li><code>nodemon<\/code>: Reinicia o servidor automaticamente quando s\u00e3o detectadas altera\u00e7\u00f5es nos arquivos.<\/li>\n<\/ul>\n<h3>Implemente fun\u00e7\u00f5es do aplicativo<\/h3>\n<p>O template inicial cont\u00e9m o c\u00f3digo para renderizar os templates de JavaScript embutido (EJS) na pasta views. Dessa forma, voc\u00ea pode se concentrar na l\u00f3gica do servidor, que busca os dados necess\u00e1rios das APIs do WooCommerce e os passa para os templates EJS para exibi\u00e7\u00e3o na interface do usu\u00e1rio (UI).<\/p>\n<p>Para implementar a funcionalidade do aplicativo, siga estas etapas:<\/p>\n<ol start=\"1\">\n<li>Crie um arquivo chamado <strong>server.js <\/strong>na pasta raiz do projeto. O arquivo funciona como o ponto de entrada no servidor Express.<\/li>\n<li>Cole o seguinte c\u00f3digo dentro do arquivo <strong>server.js <\/strong>:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">const express = require('express')\nconst WooCommerceRestApi = require(\"@woocommerce\/woocommerce-rest-api\").default;\nrequire('dotenv').config();\n\nconst app = express()\nconst port = 3000\n\nconst WooCommerce = new WooCommerceRestApi({\n url: process.env.WOOCOMMERCE_STORE_URL,\n consumerKey: process.env.WOOCOMMERCE_CONSUMER_KEY,\n consumerSecret: process.env.WOOCOMMERCE_SECRET_KEY,\n version: \"wc\/v3\"\n});\n\napp.set('view engine', 'ejs')\n\n\/\/ endpoint to check if the application is up and running\napp.get('\/', (req, res) =&gt; {\n   res.send('The application is up and running!')\n})\n\n\/\/ retrieve all products in the store\napp.get('\/products', (req, res) =&gt; {\n   WooCommerce.get(\"products\")\n       .then((response) =&gt; {\n           res.render('pages\/inventory', {\n               products: response.data,\n               currentPage: req.originalUrl\n           });\n       })\n       .catch((error) =&gt; {\n           console.log(error.response.data);\n       });\n})\n\napp.listen(port, () =&gt; {\n console.log(`App listening on port ${port}`)\n})<\/code><\/pre>\n<p>O c\u00f3digo acima usa o Express.js para criar um servidor da web. Voc\u00ea come\u00e7a importando os pacotes necess\u00e1rios, configurando o cliente WooCommerce para interagir com a <a href=\"https:\/\/woo.com\/document\/api-documentation\/\" target=\"_blank\" rel=\"noopener noreferrer\">API REST do WooCommerce<\/a> e configurando o aplicativo para usar templates EJS.<\/p>\n<p>Primeiro, voc\u00ea define um endpoint <code>\/<\/code> que pode ser usado para verificar se o aplicativo est\u00e1 ativo e em execu\u00e7\u00e3o. Em seguida, voc\u00ea define uma rota <code>\/products<\/code> que recupera todos os produtos da loja do WooCommerce. Se voc\u00ea for bem-sucedido, essa rota renderizar\u00e1 o template <code>inventory<\/code> com os dados obtidos.<\/p>\n<p>Observe que o c\u00f3digo tamb\u00e9m passa o endere\u00e7o <code>currentPage<\/code> para o template de todas as rotas, o que ajuda a identificar as p\u00e1ginas ativas no painel.<\/p>\n<ol start=\"3\">\n<li>Execute o comando <code>npm run dev<\/code> e abra <code>http:\/\/localhost:3000\/products<\/code> em seu navegador para ver os resultados:<\/li>\n<\/ol>\n<figure style=\"width: 1176px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-store-inventory.png\" alt=\"P\u00e1gina de Invent\u00e1rio da Loja com detalhes do item.\" width=\"1176\" height=\"666\"><figcaption class=\"wp-caption-text\">P\u00e1gina de Invent\u00e1rio da Loja com detalhes do item.<\/figcaption><\/figure>\n<p>A p\u00e1gina Store Inventory renderiza todos os produtos dispon\u00edveis na loja, juntamente com seus detalhes. Essas informa\u00e7\u00f5es ajudam voc\u00ea a acompanhar os produtos dispon\u00edveis e a gerenciar o estoque adequadamente.<\/p>\n<ol start=\"4\">\n<li>Para lidar com relat\u00f3rios de vendas, adicione a seguinte rota ao arquivo <strong>server.js<\/strong>:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">\/\/ retrieve monthly sales report\napp.get('\/sales', (req, res) =&gt; {\n   WooCommerce.get(\"reports\/sales\", {\n       \t\tperiod: \"month\"\n   })\n       .then((response) =&gt; {\n           res.render('pages\/sales', {\n               sales: response.data,\n               currentPage: req.originalUrl\n           })\n       })\n       .catch((error) =&gt; {\n         console.log(error.response.data);\n       });\n})<\/code><\/pre>\n<p>Esse c\u00f3digo define um endpoint <code>\/sales<\/code> que recupera o relat\u00f3rio de vendas mensal da API de relat\u00f3rio de vendas do WooCommerce. A chamada \u00e0 API inclui o par\u00e2metro <code>period<\/code> com o valor <code>month<\/code>, que especifica o relat\u00f3rio de vendas do m\u00eas atual. Quando a solicita\u00e7\u00e3o \u00e9 bem-sucedida, o c\u00f3digo renderiza o template EJS de vendas com os dados obtidos.<\/p>\n<ol start=\"5\">\n<li>Navegue at\u00e9 <code>http:\/\/localhost:3000\/sales<\/code> em seu navegador para visualizar os resultados:<\/li>\n<\/ol>\n<figure style=\"width: 1176px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-monthly-sales-report.png\" alt=\"P\u00e1gina Relat\u00f3rio de vendas mensais.\" width=\"1176\" height=\"666\"><figcaption class=\"wp-caption-text\">P\u00e1gina Relat\u00f3rio de vendas mensais.<\/figcaption><\/figure>\n<p>Essa p\u00e1gina exibe um relat\u00f3rio abrangente de vendas totais, ajudando voc\u00ea a analisar as tend\u00eancias de receita mensal da sua empresa.<\/p>\n<h3>Implemente o gerenciamento de pedidos<\/h3>\n<ol start=\"1\">\n<li>Adicione a seguinte rota ao arquivo <strong>server.js<\/strong>.<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">\/\/ retrieve all orders\napp.get('\/orders', (req, res) =&gt; {\n   WooCommerce.get(\"orders\")\n       .then((response) =&gt; {\n           res.render('pages\/orders', {\n               orders: response.data,\n               currentPage: req.originalUrl\n           })\n       })\n       .catch((error) =&gt; {\n           console.log(error.response.data);\n       });\n})<\/code><\/pre>\n<p>Esse c\u00f3digo recupera todos os pedidos da loja do WooCommerce e renderiza o template Orders com os dados obtidos.<\/p>\n<ol start=\"2\">\n<li>Navegue at\u00e9 <code>http:\/\/localhost:3000\/orders<\/code> em seu navegador para visualizar os resultados. Essa p\u00e1gina exibe informa\u00e7\u00f5es para o gerenciamento de pedidos:<\/li>\n<\/ol>\n<figure style=\"width: 1176px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-orders.png\" alt=\"Orders page with a table containing the Customer, Currency, Number of Items, Created On, Discount, Shipping Fee, Cart Total, Payment Method, and Status columns.\" width=\"1176\" height=\"666\"><figcaption class=\"wp-caption-text\">P\u00e1gina de pedidos mostrando detalhes da transa\u00e7\u00e3o.<\/figcaption><\/figure>\n<h3>Personaliza\u00e7\u00e3o de alertas para relat\u00f3rios abrangentes de transa\u00e7\u00f5es<\/h3>\n<p>Para implementar a funcionalidade que envia a voc\u00ea um alerta personalizado por e-mail quando um cliente faz um pedido em seu site, siga estas etapas:<\/p>\n<ol start=\"1\">\n<li>Abra uma janela de terminal e execute <code>ngrok http 3000<\/code> para fazer um t\u00fanel na conex\u00e3o do servidor da web. Esse comando gera um link HTTPS que o WooCommerce pode usar para enviar dados de webhook. Copie o link de encaminhamento gerado.<\/li>\n<li>Adicione a seguinte rota ao arquivo <strong>server.js <\/strong>:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">app.post('\/woocommerce-webhook\/new-order', (req, res) =&gt; {\n   const data = req.body; \/\/ Received data from the WooCommerce webhook\n   console.log('New order:', data);\n\n   if(data?.id){\n       mg.messages.create(process.env.MAILGUN_SANDBOX_DOMAIN, {\n           from: `WooCommerce Store &lt;${process.env.MAILGUN_SENDER_EMAIL}&gt; `,\n           to: [process.env.MAILGUN_SENDER_EMAIL],\n           subject: \"New Order Created\",\n           html: newOrderEmail(data.order_key, `${data.billing.first_name} ${data.billing.last_name}`, data.billing.email, data.total, data.status, data.payment_method_title, data.line_items)\n       })\n       .then(msg =&gt; console.log(msg)) \/\/ logs response data\n       .catch(err =&gt; console.log(err)); \/\/ logs any error\n   }\n\n   res.status(200).send('Webhook received successfully'); \/\/ Send a response to WooCommerce\n});<\/code><\/pre>\n<p>Esse c\u00f3digo define uma rota que lida com os dados recebidos de um webhook do WooCommerce acionado quando um cliente cria um novo pedido. Se os dados recebidos contiverem uma propriedade <code>id<\/code> (indicando um pedido v\u00e1lido), ele usar\u00e1 a API Mailgun para enviar uma notifica\u00e7\u00e3o por e-mail para o endere\u00e7o de e-mail especificado.<\/p>\n<p>O e-mail inclui v\u00e1rios detalhes do pedido, como nome do cliente, e-mail, valor total, status, m\u00e9todo de pagamento e uma lista de itens comprados.<\/p>\n<p>O c\u00f3digo comp\u00f5e o e-mail usando a fun\u00e7\u00e3o <code>newOrderEMail()<\/code> definida no arquivo <strong>utils\/new-order-email.js <\/strong>, que retorna um template de e-mail personalizado. Depois de processar os dados e enviar o e-mail, o servidor responde com um c\u00f3digo de status 200, indicando o recebimento bem-sucedido do webhook e uma mensagem correspondente (&#8220;Webhook received successfully&#8221;).<\/p>\n<ol start=\"3\">\n<li>Adicione a seguinte instru\u00e7\u00e3o para importar a fun\u00e7\u00e3o <code>newOrderEmail()<\/code>:<\/li>\n<\/ol>\n<pre><code class=\"language-javascript\">const { newOrderEmail } = require('.\/utils\/new-order-email');<\/code><\/pre>\n<ol start=\"4\">\n<li>Execute o comando <code>npm run start<\/code> para iniciar o servidor.<\/li>\n<\/ol>\n<ol start=\"5\">\n<li>No painel de controle do WordPress, selecione <strong>WooCommerce<\/strong>\u00a0&gt; <strong>Settings<\/strong>\u00a0&gt; <strong>Advanced<\/strong>\u00a0&gt; <strong>Webhooks<\/strong>.<\/li>\n<\/ol>\n<figure style=\"width: 1200px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-webhooks.png.png\" alt=\"P\u00e1gina Avan\u00e7ada mostrando a se\u00e7\u00e3o de Webhooks.\" width=\"1200\" height=\"668\"><figcaption class=\"wp-caption-text\">P\u00e1gina Avan\u00e7ada mostrando a se\u00e7\u00e3o de Webhooks.<\/figcaption><\/figure>\n<ol start=\"6\">\n<li>Clique em <strong>Add webhook (Adicionar webhook)<\/strong> e forne\u00e7a as seguintes informa\u00e7\u00f5es no formul\u00e1rio de dados do <strong>webhook <\/strong>:<\/li>\n<\/ol>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><strong>Nome<\/strong>: Alerta de novo pedido<\/li>\n<li><strong>Status<\/strong>: Ativo<\/li>\n<li><strong>T\u00f3pico<\/strong>: Pedido criado<\/li>\n<li><strong>URL de entrega<\/strong>: Cole a URL de encaminhamento do ngrok que voc\u00ea copiou na etapa 1. Certifique-se de que voc\u00ea anexou <code>\/woocommerce-webhook\/new-order<\/code> ao URL. Esse \u00e9 o endpoint rec\u00e9m-definido para receber a carga do webhook.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><strong>Segredo<\/strong>: Deixe em branco. O padr\u00e3o \u00e9 o segredo do consumidor do usu\u00e1rio atual da API. O segredo gera um hash do webhook entregue nos cabe\u00e7alhos da solicita\u00e7\u00e3o. O receptor pode usar esse segredo para verificar a autenticidade dos dados recebidos. Se a assinatura corresponder ao valor esperado, isso confirma que os dados foram enviados pelo WooCommerce, proporcionando confian\u00e7a e seguran\u00e7a.<\/li>\n<li><strong>Vers\u00e3o da API<\/strong>: Integra\u00e7\u00e3o da API WP REST v3.<\/li>\n<\/ul>\n<figure style=\"width: 1198px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-webhook-form.png\" alt=\"P\u00e1gina avan\u00e7ada mostrando o formul\u00e1rio de dados do Webhook.\" width=\"1198\" height=\"667\"><figcaption class=\"wp-caption-text\">P\u00e1gina avan\u00e7ada mostrando o formul\u00e1rio de dados do Webhook.<\/figcaption><\/figure>\n<ol start=\"7\">\n<li>Clique em <strong>Salvar webhook<\/strong>.<\/li>\n<\/ol>\n<ol start=\"8\">\n<li>Visite sua loja e fa\u00e7a um pedido. Voc\u00ea dever\u00e1 ver um e-mail como o que est\u00e1 abaixo:<\/li>\n<\/ol>\n<figure style=\"width: 1170px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/11\/woo-app-new-order-email.png\" alt=\"Alerta de e-mail para um novo pedido e informa\u00e7\u00f5es de estoque.\" width=\"1170\" height=\"655\"><figcaption class=\"wp-caption-text\">Alerta de e-mail para um novo pedido e informa\u00e7\u00f5es de estoque.<\/figcaption><\/figure>\n<h3>Implante tudo na Kinsta<\/h3>\n<p>Com a Kinsta, voc\u00ea pode implantar n\u00e3o apenas seu site WordPress + WooCommerce com <a href=\"https:\/\/kinsta.com\/pt\/hospedagem-wordpress\/\">Hospedagem Gerenciada de WordPress<\/a>, mas tamb\u00e9m seu novo aplicativo de relat\u00f3rios com <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hospedagem de Aplicativos<\/a>.<\/p>\n<p>Nossos servi\u00e7os de hospedagem premium oferecem recursos essenciais, tais como:<\/p>\n<ul>\n<li><strong>Alto desempenho e velocidade incr\u00edvel<\/strong>: A Kinsta hospeda seus sites e aplicativos na rede de n\u00edvel premium do Google Cloud Platform com as m\u00e1quinas C2 mais r\u00e1pidas e robustas, e com Edge Caching por meio do CDN do Cloudflare com 300 PoPs.<\/li>\n<li><strong>Implanta\u00e7\u00e3o r\u00e1pida e descomplicada: <\/strong>para uma experi\u00eancia de hospedagem tranquila, a Kinsta constr\u00f3i aplicativos automaticamente e implanta sites WordPress sem necessidade de configura\u00e7\u00e3o manual. Voc\u00ea pode facilmente instalar e desenvolver seus sites com o <a href=\"https:\/\/kinsta.com\/pt\/devkinsta\/\">DevKinsta<\/a>\u00a0e public\u00e1-los com o apertar de um bot\u00e3o, deixando as configura\u00e7\u00f5es do lado do servidor para nossa equipe de engenharia especializada.<\/li>\n<li><strong>Seguran\u00e7a:<\/strong> Seus aplicativos e sites ficam seguros atr\u00e1s de duas barreiras de prote\u00e7\u00e3o (firewalls), contando com prote\u00e7\u00e3o e redu\u00e7\u00e3o de impacto de ataques DDoS. Eles tamb\u00e9m utilizam as tecnologias HTTP\/3 e TLS 1.3. Al\u00e9m disso, s\u00e3o hospedados em cont\u00eaineres isolados, o que impede que picos de tr\u00e1fego de outros aplicativos afetem seu ambiente de produ\u00e7\u00e3o e protege contra poss\u00edveis ataques maliciosos de outros sites.<\/li>\n<\/ul>\n<h2>Resumo<\/h2>\n<p>Gra\u00e7as \u00e0 flexibilidade da hospedagem externa, voc\u00ea criou um aplicativo de relat\u00f3rio avan\u00e7ado que atualiza os n\u00edveis de estoque restantes e fornece relat\u00f3rios abrangentes sobre o total de vendas.<\/p>\n<p>Ele tamb\u00e9m oferece alertas detalhados de transa\u00e7\u00f5es, proporcionando insights em tempo real sobre transa\u00e7\u00f5es espec\u00edficas, incluindo detalhes do produto, quantidades e informa\u00e7\u00f5es do cliente, para que voc\u00ea possa gerenciar proativamente o estoque e entender as tend\u00eancias de vendas e os padr\u00f5es de receita.<\/p>\n<p>Voc\u00ea est\u00e1 pronto para transformar sua experi\u00eancia com o WooCommerce? <a href=\"https:\/\/sevalla.com\/pricing\/\">Experimente a Kinsta<\/a> para implementar relat\u00f3rios avan\u00e7ados e personalizados do WooCommerce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O plugin WooCommerce para WordPress permite que voc\u00ea crie e gerencie com efici\u00eancia uma plataforma de eCommerce, fornecendo acesso a recursos de notifica\u00e7\u00e3o integrados que alertam &#8230;<\/p>\n","protected":false},"author":290,"featured_media":65085,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[951,1023],"class_list":["post-65084","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-woocommerce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce\" \/>\n<meta property=\"og:description\" content=\"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-23T11:34:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-30T08:27:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marcia Ramos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcia Ramos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\"},\"author\":{\"name\":\"Marcia Ramos\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\"},\"headline\":\"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce\",\"datePublished\":\"2023-11-23T11:34:37+00:00\",\"dateModified\":\"2023-11-30T08:27:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\"},\"wordCount\":2529,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\",\"name\":\"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\",\"datePublished\":\"2023-11-23T11:34:37+00:00\",\"dateModified\":\"2023-11-30T08:27:55+00:00\",\"description\":\"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WooCommerce\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/woocommerce\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\",\"name\":\"Marcia Ramos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"caption\":\"Marcia Ramos\"},\"description\":\"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/marciadiasramos\/\"],\"honorificSuffix\":\"B.Sc.\",\"gender\":\"Female\",\"knowsLanguage\":[\"English\",\"Portuguese\"],\"jobTitle\":\"Editorial Team Lead\",\"worksFor\":\"Kinsta Inc.\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce - Kinsta\u00ae","description":"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/","og_locale":"pt_PT","og_type":"article","og_title":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce","og_description":"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.","og_url":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-11-23T11:34:37+00:00","article_modified_time":"2023-11-30T08:27:55+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","type":"image\/jpeg"}],"author":"Marcia Ramos","twitter_card":"summary_large_image","twitter_description":"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Marcia Ramos","Tempo estimado de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/"},"author":{"name":"Marcia Ramos","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116"},"headline":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce","datePublished":"2023-11-23T11:34:37+00:00","dateModified":"2023-11-30T08:27:55+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/"},"wordCount":2529,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/","url":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/","name":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","datePublished":"2023-11-23T11:34:37+00:00","dateModified":"2023-11-30T08:27:55+00:00","description":"Aprenda a criar um aplicativo hospedado que gera alertas por e-mail com dados de transa\u00e7\u00e3o abrangentes e personalizados.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/11\/wordpress-woocommerce-alerts-via-app-hosting.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-de-relatorios-woocommerce\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"WooCommerce","item":"https:\/\/kinsta.com\/pt\/topicos\/woocommerce\/"},{"@type":"ListItem","position":3,"name":"Crie um Aplicativo de Relat\u00f3rio Avan\u00e7ado para sua Loja WooCommerce"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116","name":"Marcia Ramos","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","caption":"Marcia Ramos"},"description":"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.","sameAs":["https:\/\/www.linkedin.com\/in\/marciadiasramos\/"],"honorificSuffix":"B.Sc.","gender":"Female","knowsLanguage":["English","Portuguese"],"jobTitle":"Editorial Team Lead","worksFor":"Kinsta Inc.","url":"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/290"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=65084"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65084\/revisions"}],"predecessor-version":[{"id":65477,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/65084\/revisions\/65477"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/es"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/de"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/translations\/nl"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/65084\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/65085"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=65084"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=65084"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=65084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}