{"id":18231,"date":"2026-09-03T11:49:08","date_gmt":"2026-09-03T11:49:08","guid":{"rendered":"https:\/\/www.mailgun.com\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/"},"modified":"2026-09-03T11:49:08","modified_gmt":"2026-09-03T11:49:08","slug":"como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x","status":"publish","type":"case-studies","link":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/","title":{"rendered":"Como a Launch School Academy aumentou o engajamento dos alunos em 3x"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Na Tealeaf Academy, criar uma experi\u00eancia de \u201cEstudar Juntos, Progredir Juntos\u201d para os nossos alunos est\u00e1 no centro da nossa forma de ensinar. Uma das nossas principais ferramentas \u00e9 o f\u00f3rum de discuss\u00e3o, onde os alunos fazem perguntas, compartilham ideias, colaboram nas tarefas de casa e os professores entram rapidamente para ajudar os alunos a resolverem seus problemas. Uma de nossas prioridades recentes era reduzir o atrito no uso do f\u00f3rum de discuss\u00e3o e encorajar mais discuss\u00f5es com uma notifica\u00e7\u00e3o por e-mail complementar e um fluxo de trabalho de \u201cresponder ao e-mail para postar no f\u00f3rum de discuss\u00e3o\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Assim que implementamos o c\u00f3digo abaixo usando a API Routes do Mailgun, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora, \u00e0s vezes at\u00e9 em minutos, e os alunos conseguem passar para o pr\u00f3ximo conjunto de tarefas muito mais rapidamente.<\/b><b><i>\u00a0<\/i><\/b>Veja como fizemos isso:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nosso fluxo de trabalho funcionaria da seguinte maneira:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Quando uma postagem (muito provavelmente, uma pergunta) \u00e9 criada, todos os participantes do curso s\u00e3o avisados por uma notifica\u00e7\u00e3o por e-mail<\/li>\n\n\n\n<li>Os participantes do curso podem responder \u00e0s notifica\u00e7\u00f5es por e-mail diretamente da sua caixa de entrada de e-mail, sem precisarem entrar no curso<\/li>\n\n\n\n<li>Essa resposta ser\u00e1 publicada no f\u00f3rum de discuss\u00e3o online e tamb\u00e9m \u00e9 enviada para outros participantes do curso, para manter a conversa fluindo.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Por que escolhemos o Mailgun<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A pe\u00e7a-chave deste fluxo de trabalho \u00e9 receber e analisar as mensagens de e-mail de entrada. N\u00f3s pesquisamos por v\u00e1rios provedores de servi\u00e7os de e-mail, e no final escolhemos o Mailgun porque:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ele \u00e9 muito amig\u00e1vel para desenvolvedores \u2013 N\u00f3s somos desenvolvedores, e o Mailgun fala a nossa l\u00edngua. As APIs exp\u00f5em diversas op\u00e7\u00f5es de baixo n\u00edvel que permitem ajustes. N\u00f3s gostamos das\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/api-routes.html?highlight=routes#routes\" target=\"_tabs\" rel=\"noopener noreferrer\">rotas<\/a>\u00a0em particular \u2013 \u00c9 uma \u00f3tima camada de abstra\u00e7\u00e3o que torna a integra\u00e7\u00e3o com os aplicativos muito f\u00e1cil. (veja como n\u00f3s o usamos abaixo)<\/li>\n\n\n\n<li>\u00c9 o servi\u00e7o mais completo em recursos que encontramos \u2013 podemos usar o Mailgun para e-mails transacionais, campanhas, bem como listas de e-mails \u2013 \u00e9 bom ter apenas um provedor de servi\u00e7os para lidar com tudo o que precisamos.<\/li>\n\n\n\n<li>O pre\u00e7o \u00e9 razo\u00e1vel e o caminho para fazer upgrade para IP dedicado e DKIM personalizado \u00e9 \u00f3timo, mesmo que ainda n\u00e3o precisemos disso.<\/li>\n\n\n\n<li>O suporte \u00e9 de primeira linha. H\u00e1 um chat ao vivo onde eu posso conversar com os desenvolvedores deles diretamente sobre os problemas, e tem sido muito \u00fatil para n\u00f3s resolvermos os problemas.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Configurando a infraestrutura de e-mail<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O primeiro passo foi criar um novo dom\u00ednio no Mailgun. No nosso caso, \u00e9 messaging.gotealeaf.com, o qual usamos para enviar e receber e-mails.<\/li>\n\n\n\n<li>Em seguida, criamos um MailgunGateway como nosso wrapper para a API do Mailgun. Esse wrapper cuida de todas as nossas intera\u00e7\u00f5es com o Mailgun atrav\u00e9s da nossa conta. Aqui usamos a API send_batch_messages do Mailgun para enviar e-mails em HTML. Ela nos permite enviar uma mensagem para v\u00e1rios destinat\u00e1rios com uma \u00fanica chamada de API. Mantemos a nossa chave de API como vari\u00e1veis de ambiente no servidor para maior seguran\u00e7a. H\u00e1 tamb\u00e9m um filtro de entrega simples para que nenhum e-mail seja enviado no ambiente de desenvolvimento; No ambiente de homologa\u00e7\u00e3o, todos os e-mails s\u00e3o enviados para Chris (meu cofundador) e para mim, para que possamos testar as coisas sem o receio de enviar spam aos nossos usu\u00e1rios; Somente no ambiente de produ\u00e7\u00e3o os e-mails s\u00e3o enviados para usu\u00e1rios reais.<\/li>\n<\/ul>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                HTML                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    class MailgunGateway  \r\n  def send_batch_message(options={})\r\n    RestClient.post(messaging_api_end_point,\r\n        from: default_sender,\r\n        to: delivery_filter(options[:to]),\r\n        subject: options[:subject],\r\n        html: options[:body],\r\n        :&quot;h:Reply-To&quot; =&gt; options[:reply_to],\r\n        :&quot;recipient-variables&quot; =&gt; options[:recipient_variables]\r\n        ) if Rails.env.staging? || Rails.env.production?\r\n    end\r\n  end\r\n\r\n  private\r\n\r\n  def default_sender\r\n    &quot;Tealeaf Academy &quot;\r\n  end\r\n\r\n  def api_key\r\n    @api_key ||= ENV[&#039;mailgun_api_key&#039;]\r\n  end\r\n\r\n  def messaging_api_end_point\r\n    @messaging_api_end_piont ||= \r\n        &quot;https:\/\/api:#{api_key}@api.mailgun.net\/v2\/messaging.gotealeaf.com\/messages&quot;\r\n  end\r\n\r\n  def delivery_filter(emails)\r\n    Rails.env.production? ? emails : &quot;kevin@gotealeaf.com, chris@gotealeaf.com&quot;\r\n  end\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Enviar notifica\u00e7\u00f5es por e-mail para nova postagem ou coment\u00e1rio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Assim que uma postagem ou coment\u00e1rio \u00e9 criado, enviamos uma notifica\u00e7\u00e3o por e-mail para todos os participantes do curso. Estamos enviando e-mails de forma s\u00edncrona por enquanto, mas, \u00e0 medida que tivermos mais usu\u00e1rios, provavelmente vamos querer transferir isso para um trabalho em segundo plano.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                HTML                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    Launch School Code 1class Courses::PostsController &lt; AuthenticatedController  \r\n  expose(:course)\r\n  expose(:posts) { course.posts }\r\n  expose(:post)\r\n\r\n  def create\r\n    post.user = current_user\r\n    post.save\r\n    CourseNotifier.new(course).notify_course_participants_on_new_discussion(post)\r\n    redirect_to course_home_path(course)\r\n  end\r\n\r\n  ...\r\nend\r\n\r\nclass Courses::Posts::CommentsController &lt; AuthenticatedController  \r\n  expose(:course)\r\n  expose(:posts) { course.posts }\r\n  expose(:post)\r\n  expose(:comments) { post.comments }\r\n  expose(:comment)\r\n\r\n  def create\r\n    comment.user = current_user\r\n    comment.save\r\n    CourseNotifier.new(course).notify_course_participants_on_new_discussion(comment)\r\n    redirect_to course_home_path(course)\r\n  end\r\n\r\n  ...\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">O CourseNotifier \u00e9 a classe onde colocamos a l\u00f3gica espec\u00edfica do nosso aplicativo para notifica\u00e7\u00f5es. Observe que o MailgunGateway \u00e9 injetado como o gateway padr\u00e3o \u2013 isso \u00e9 da \u00e9poca em que costum\u00e1vamos ter v\u00e1rios provedores de servi\u00e7os de e-mail para campanhas, listas e e-mails transacionais. Isso \u00e9 menos necess\u00e1rio agora que consolidamos todas as necessidades de entrega de e-mail no Mailgun!<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                HTML                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    class CourseNotifier\r\n\r\n  attr_reader :course, :gateway\r\n\r\n  def initialize(course, gateway=MailgunGateway.new)\r\n    @course = course\r\n    @gateway = gateway\r\n  end\r\n\r\n  def notify_course_participants_on_new_discussion(discussion)\r\n    gateway.send_batch_message(\r\n      to: notification_recipients(discussion).map(&amp;:email).join(&quot;, &quot;),\r\n      subject: notification_subject(discussion),\r\n      body: discussion_notification_text(discussion),\r\n      reply_to: reply_to_address(discussion),\r\n      recipient_variables: recipient_variables(\r\n        notification_recipients(discussion)\r\n      )\r\n    )\r\n  end\r\n\r\n  ...\r\n\r\n  private\r\n\r\n  def notification_recipients(discussion)\r\n    course.participants.reject {|participant| participant.email == discussion.user.email }\r\n  end\r\n\r\n  def notification_subject(discussion)\r\n    discussion.is_a?(Post) ?\r\n    &quot;[Tealeaf Academy] #{discussion.user.name} Posted a New Message on the Discussion Board&quot; :\r\n    &quot;[Tealeaf Academy] #{discussion.user.name} Replied to a Message on the Discussion Board&quot;\r\n  end\r\n\r\n  def reply_to_address(discussion)\r\n    &quot;reply+#{discussion.token}@messaging.gotealeaf.com&quot;\r\n  end\r\n\r\n  def recipient_variables(recipients)\r\n    vars = recipients.map do |recipient|\r\n      &quot;&quot;#{recipient.email}&quot;: {&quot;name&quot;:&quot;#{recipient.name}&quot;}&quot;\r\n    end\r\n    &quot;{#{vars.join(&#039;, &#039;)}}&quot;\r\n  end\r\n\r\n  def discussion_notification_text(discussion)\r\n&lt;&lt;-EMAIL\r\n\r\n\r\nHi %recipient.name%,\r\n\r\n&lt;p&gt;#{discussion.user.name} says on the course dicussion board:&lt;\/p&gt;\r\n\r\n&quot;#{discussion.text}&quot;\r\n&lt;br \/&gt;\r\n&lt;p&gt;Reply to this email directly or &lt;a href=&quot;http:\/\/www.gotealeaf.com\/courses\/#{course.slug}\/home&quot;&gt;view it on the discussion board&lt;\/a&gt;&lt;\/p&gt;\r\n\r\nEMAIL  \r\n  end\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">O reply<i>to<\/i>address \u00e9 onde inserimos o token da postagem no cabe\u00e7alho \u201cReply-To\u201d. O conte\u00fado dos e-mails \u00e9 bem simples, ent\u00e3o n\u00f3s apenas o colocamos aqui na classe. Se tiv\u00e9ssemos um estilo de e-mail mais elaborado, ter\u00edamos usado a renderiza\u00e7\u00e3o de modelo para lidar com isso. Com a API send<i>batch<\/i>message do Mailgun, podemos chamar a API apenas uma vez para enviar a v\u00e1rios destinat\u00e1rios, e o m\u00e9todo recipient_variables \u00e9 onde personalizamos as mensagens de e-mail para cada destinat\u00e1rio para incluir os seus nomes e adicionar um toque pessoal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lidando com mensagens de entrada no aplicativo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Indo para o Mailgun, em \u201cRoutes\u201d no Painel de Controle, criamos uma rota da seguinte forma:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Express\u00e3o de Filtro: match_recipient(\u201creply+(.*)@messaging.gotealeaf.com\u201d)<\/li>\n\n\n\n<li>A\u00e7\u00e3o: forward(\u201chttp:\/\/www.gotealeaf.com\/api\/incoming_messages\/?post_token=1\u201d)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Quando um usu\u00e1rio responde a um e-mail, ele o responde para um endere\u00e7o de e-mail como \u201creply+fj42gq4v@messaging.gotealeaf.com\u201d, e essa rota encaminhar\u00e1 o e-mail para um webhook que expomos para lidar com mensagens de entrada.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                HTML                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    class Api::IncomingMessagesController &lt; ApplicationController  \r\n  skip_before_filter :verify_authenticity_token\r\n\r\n  def create\r\n    user = User.where(email: params[&#039;sender&#039;]).first\r\n    post = Post.where(token: params[&#039;post_token&#039;]).first\r\n    text = params[&quot;stripped-text&quot;]\r\n    if post &amp;&amp; user &amp;&amp; text.present?\r\n      comment = post.comments.create(user: user, text: text)\r\n      CourseNotifier.new(post.course).notify_course_participants_on_new_discussion(comment)\r\n    end\r\n    head(200)\r\n  end\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Aqui, usamos o e-mail do remetente para encontrar o autor, e usamos o token da postagem para encontrar a postagem sob a qual essa resposta deve ser agrupada. O Mailgun nos fornece o texto limpo, que \u00e9 muito \u00fatil e remove a parte original da mensagem para conter apenas a resposta real! No final, retornamos um cabe\u00e7alho 200 para informar ao Mailgun que essa intera\u00e7\u00e3o foi bem-sucedida, caso contr\u00e1rio, o Mailgun achar\u00e1 que nosso servidor est\u00e1 fora do ar e continuar\u00e1 fielmente tentando chamar o nosso webhook.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O resultado da implementa\u00e7\u00e3o desse fluxo de trabalho \u00e9 impressionante \u2013 a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora, \u00e0s vezes at\u00e9 em minutos, os alunos conseguem passar para o pr\u00f3ximo conjunto de tarefas muito mais rapidamente e estamos muito felizes com o resultado.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <img decoding=\"async\" class=\"quote-logo\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/omnisend.svg\" alt=\"Logotipo da cita\u00e7\u00e3o de Paulius Milisauskas\">\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-fb3ed6ed6c92e3c783a8b24b3067950f\">\r\n            &#8220;Conseguimos garantir melhor atendimento aos nossos profissionais de marketing usando o Mailgun. Eles contam conosco, e n\u00f3s contamos com o Mailgun: e esse relacionamento nos ajuda a manter a credibilidade com nossos clientes.&#8221;        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                    <div>\r\n                        <img decoding=\"async\" width=\"72\" height=\"72\" class=\"rounded-lg quote-author\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/Portrait-Paulius-Milisauskas-Omnisend.png\" alt=\"Foto de Paulius Milisauskas\">\r\n                    <\/div>\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-fb3ed6ed6c92e3c783a8b24b3067950f\">\r\n                        Paulius Milisauskas                    <\/cite>\r\n                                            <span class=\"mb-0 text-body-color\">Vice-presidente de Opera\u00e7\u00f5es de Clientes<\/span>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Mantenha-me informado! Receba \u00f3timos recursos em sua caixa de entrada toda semana.                <\/div>\r\n                                    <form accept-charset=\"UTF-8\" action=\"\" enctype=\"multipart\/form-data\" data-form-subscription method=\"POST\" style=\"max-width: 400px;\">\r\n                <div class=\"row justify-content-between align-items-top g-2\">\r\n                    <div class=\"col-10\">\r\n                        <input type=\"email\" name=\"email\" class=\"form-control\" placeholder=\"Email\" autocomplete=\"email\" required>\r\n                        <div data-fs=\"error\" role=\"alert\" class=\"invalid-feedback\">\r\n                            Please complete this required field.                        <\/div>\r\n                    <\/div>\r\n                                            <div class=\"col-12 order-last mt-3 fs-xxs\" data-fs=\"acceptance\" style=\"display:none;\">\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-terms-3833\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-3833\" class=\"form-check-label text-body-color\">\r\n                                        I have read and agree to the Terms of Service.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-privacy-6113\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-6113\" class=\"form-check-label text-body-color\">\r\n                                        I have read and agree to the Privacy Policy.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                                                    <\/div>\r\n                    \r\n                                            <div class=\"col-12 order-last fs-xxs mb-0 mt-2 text-body-color\">\r\n                            Envie-me a newsletter da Mailjet. Eu concordo expressamente em receber a newsletter e sei que posso cancelar a inscri\u00e7\u00e3o facilmente a qualquer momento.                        <\/div>\r\n                    \r\n                    <div class=\"col-2\">\r\n                        <button type=\"submit\" value=\"Submit\" aria-label=\"Submit\" class=\"btn btn-secondary btn-icon\">\r\n                            <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/layout\/chevron-right.svg\"><\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <input type=\"hidden\" name=\"formSubscriptionRecaptchaToken\" data-fs=\"recaptcha-token\">\r\n                <input type=\"hidden\" name=\"customListID\" value=\"\">\r\n\r\n            <\/form>\r\n            <div data-fs=\"message-success\" style=\"display: none;\">\r\n                <p class=\"mb-0 mt-2 text-body-color\">\r\n                    Verifique sua caixa de entrada mensalmente para receber sua newsletter da Mailjet!                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Esta postagem foi escrita por Kevin Wang, Instrutor Chefe da Tealeaf Academy (Launch School). A Tealeaf Academy \u00e9 uma escola online para desenvolvedores e oferece bootcamps online intensivos e baseados em projetos sobre desenvolvimento web. Se voc\u00ea acha este post \u00fatil, deveria conferi-los!<\/p>\n","protected":false},"author":90,"featured_media":8232,"template":"","meta":{"_acf_changed":true},"class_list":["post-18231","case-studies","type-case-studies","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun<\/title>\n<meta name=\"description\" content=\"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-LaunchSchool.png\" \/>\n\t<meta property=\"og:image:width\" content=\"592\" \/>\n\t<meta property=\"og:image:height\" content=\"368\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/\",\"name\":\"Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-LaunchSchool.png\",\"datePublished\":\"2026-09-03T11:49:08+00:00\",\"description\":\"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-LaunchSchool.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-LaunchSchool.png\",\"width\":592,\"height\":368},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case Studies\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Como a Launch School Academy aumentou o engajamento dos alunos em 3x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun","description":"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais","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:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/","og_locale":"pt_BR","og_type":"article","og_title":"Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun","og_description":"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais","og_url":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":592,"height":368,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-LaunchSchool.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/","url":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/","name":"Como a Tealeaf Academy aumentou o engajamento dos alunos em 3x | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-LaunchSchool.png","datePublished":"2026-09-03T11:49:08+00:00","description":"Assim que implementamos o c\u00f3digo abaixo usando a API do Mailgun Routes, a atividade no nosso f\u00f3rum de discuss\u00e3o aumentou tr\u00eas vezes, e as perguntas agora normalmente s\u00e3o respondidas em uma hora. Leia mais","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-LaunchSchool.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-LaunchSchool.png","width":592,"height":368},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-a-tealeaf-academy-aumentou-o-engajamento-dos-alunos-em-3x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/pt\/inicio\/"},{"@type":"ListItem","position":2,"name":"Case Studies","item":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/"},{"@type":"ListItem","position":3,"name":"Como a Launch School Academy aumentou o engajamento dos alunos em 3x"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/pt\/#website","url":"https:\/\/www.mailgun.com\/pt\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!","publisher":{"@id":"https:\/\/www.mailgun.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/pt\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/case-studies\/18231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/case-studies"}],"about":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/types\/case-studies"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/users\/90"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/8232"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=18231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}