{"id":23179,"date":"2026-09-16T01:29:13","date_gmt":"2026-09-16T01:29:13","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/the-php-sdk-the-first-of-many-official-mailgun-sdks-2\/"},"modified":"2026-09-16T01:29:13","modified_gmt":"2026-09-16T01:29:13","slug":"the-php-sdk-the-first-of-many-official-mailgun-sdks","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/","title":{"rendered":"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hoje, temos a alegria de anunciar que, para quem desenvolve em PHP, ficou ainda mais f\u00e1cil enviar mensagens com o Mailgun! Nas \u00faltimas semanas, estivemos trabalhando bastante na cria\u00e7\u00e3o de SDKs para a API do Mailgun. O SDK permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Hoje, estamos lan\u00e7ando a vers\u00e3o para PHP do SDK. Outras linguagens estar\u00e3o dispon\u00edveis em breve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para quem n\u00e3o tem familiaridade com um SDK, vamos primeiro revisar o que \u00e9 necess\u00e1rio para enviar uma mensagem usando a biblioteca HTTP padr\u00e3o CURL para PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enviando uma mensagem com CURL:<\/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                                Shell                            <\/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-shell\">\r\n                                <code id=\"code_0_content\" class=\"language-shell\">\r\n\r\n                                        function send_simple_message() {  \r\n      $ch = curl_init();\r\n      curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);\r\n      curl_setopt($ch, CURLOPT_USERPWD, &#039;api:key-example&#039;);\r\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, &#039;POST&#039;);\r\n      curl_setopt($ch, CURLOPT_URL, \r\n          &#039;https:\/\/api.mailgun.net\/v2\/samples.mailgun.org\/messages&#039;);\r\n      curl_setopt($ch, CURLOPT_POSTFIELDS, \r\n            array(&#039;from&#039; =&gt; &#039;Dwight Schrute &#039;,\r\n                  &#039;to&#039; =&gt; &#039;Michael Scott &#039;,\r\n                  &#039;subject&#039; =&gt; &#039;The Printer Caught Fire&#039;,\r\n                  &#039;text&#039; =&gt; &#039;We have a problem.&#039;));\r\n      $result = curl_exec($ch);\r\n      curl_close($ch);\r\n      return $result;\r\n    }\r\n    echo send_simple_message();\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 c\u00f3digo acima enviar\u00e1 uma mensagem usando a API do Mailgun, no entanto, h\u00e1 muito c\u00f3digo ali que, embora importante, \u00e9 complexo e, a menos que voc\u00ea seja especialista em CURL, pode ser um pouco confuso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Com nosso novo SDK, conseguimos reduzir a quantidade de c\u00f3digo necess\u00e1ria para apenas algumas linhas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enviando uma mensagem com o SDK do PHP do 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                                PHP                            <\/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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;); \r\n    $domain = &quot;example.com&quot;; \r\n\r\n    # Now, compose and send your message. \r\n    $mgClient-&gt;sendMessage($domain, \r\n                   array(&#039;from&#039; =&gt; &#039;Dwight Schrute &#039;, \r\n                         &#039;to&#039; =&gt; &#039;Michael Scott &#039;, \r\n                         &#039;subject&#039; =&gt; &#039;The Printer Caught Fire&#039;, \r\n                         &#039;text&#039; =&gt; &#039;We have a problem.&#039;));\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\">Obtendo logs com o SDK do PHP do 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                                PHP                            <\/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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and  \r\n    define your domain.  \r\n    $mgClient = new Mailgun(&#039;key-3ax6xnjp29jd6fds4gc373sgvjxteol0&#039;);\r\n    $domain = &#039;samples.mailgun.org&#039;;\r\n\r\n    # Now, issue a get against the &quot;log&quot; resource URL. \r\n    $result = $mgClient-&gt;get(&quot;$domain\/log&quot;, array(&#039;limit&#039; =&gt; 5, &#039;skip&#039; =&gt; 0));\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\">Todas as a\u00e7\u00f5es HTTP retornam um objeto de resposta com o qual voc\u00ea pode interagir facilmente.<\/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                                PHP                            <\/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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # Obtain the HTTP response code. (e.g. 200)  \r\n    $responseCode = $result-&gt;http_response_code;\r\n\r\n    # Obtain the total count of results provided by the query. \r\n    $responseBody = $result-&gt;http_response_body-&gt;total_count;\r\n\r\n    # Iterate through the results and echo the message IDs.\r\n    $logItems = $result-&gt;http_response_body-&gt;items;\r\n    for($logItems as $logItem){  \r\necho $logItem-&gt;message_id . &quot;n&quot;;\r\n    }\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\">Se quiser come\u00e7ar a usar o SDK hoje mesmo, o c\u00f3digo est\u00e1 dispon\u00edvel como um reposit\u00f3rio p\u00fablico no GitHub (<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\" target=\"_tabs\" rel=\"noopener noreferrer\">mailgun-php<\/a>). Voc\u00ea encontrar\u00e1 formas de fazer tudo o que \u00e9 poss\u00edvel com a API do Mailgun. Para exemplos de uso adicionais, confira o arquivo README no reposit\u00f3rio. Mas n\u00e3o paramos por a\u00ed\u2026 Criamos alguns utilit\u00e1rios dentro do SDK.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Message Builder<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A cria\u00e7\u00e3o de uma matriz de par\u00e2metros pode ser dif\u00edcil para algumas implementa\u00e7\u00f5es de c\u00f3digo, por isso inclu\u00edmos uma classe que permite fazer chamadas de m\u00e9todo que constroem automaticamente uma matriz de par\u00e2metros de mensagem formatada corretamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enviando uma mensagem com o SDK do PHP do Mailgun + Message Builder:<\/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                                PHP                            <\/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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define  \r\n    your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;);\r\n    $domain = &quot;example.com&quot;;\r\n\r\n    # Next, instantiate a Message Builder object from the SDK.\r\n    $msgBldr = $mgClient-&gt;MessageBuilder();\r\n\r\n    # Define the from address.\r\n    $msgBldr-&gt;setFromAddress(&quot;dwight@example.com&quot;, \r\n                     array(&quot;first&quot;=&gt;&quot;Dwight&quot;, &quot;last&quot; =&gt; &quot;Schrute&quot;)); \r\n    # Define a to recipient. \r\n    $msgBldr-&gt;addToRecipient(&quot;michael@example.com&quot;, \r\n                     array(&quot;first&quot; =&gt; &quot;Michael&quot;, &quot;last&quot; =&gt; &quot;Scott&quot;)); \r\n    # Define a cc recipient. \r\n    $msgBldr-&gt;addCcRecipient(&quot;pam@example.com&quot;, \r\n                     array(&quot;first&quot; =&gt; &quot;Pam&quot;, &quot;last&quot; =&gt; &quot;Beesly&quot;)); \r\n    # Define the subject. \r\n    $msgBldr-&gt;setSubject(&quot;Help!&quot;); \r\n    # Define the body of the message. \r\n    $msgBldr-&gt;setTextBody(&quot;The printer is on fire.&quot;); \r\n\r\n    # Other Optional Parameters. \r\n    $msgBldr-&gt;addCampaignId(&quot;Sabre-Printer-Fire&quot;); \r\n    $msgBldr-&gt;addCustomHeader(&quot;Customer-Id&quot;, &quot;12345&quot;); \r\n    $msgBldr-&gt;addAttachment(&quot;@\/sabre.jpg&quot;); \r\n    $msgBldr-&gt;setDeliveryTime(&quot;tomorrow 8:00AM&quot;, &quot;PST&quot;); \r\n\r\n    # Finally, send the message. \r\n    $mgClient-&gt;post(&#039;{$domain}\/messages&#039;, $msgBldr-&gt;getMessage());\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\">Para conferir uma lista de todas as fun\u00e7\u00f5es dispon\u00edveis, acesse a\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\/tree\/master\/src\/Message\" target=\"_tabs\" rel=\"noopener noreferrer\">lista no Github<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Batch Message<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m do Message Builder, temos o Batch Message. Essa classe permite compilar uma mensagem e enviar uma mensagem de modelo em lotes para at\u00e9 1.000 destinat\u00e1rios por postagem. O benef\u00edcio de usar essa classe \u00e9 que a contagem de destinat\u00e1rios \u00e9 monitorada e a mensagem \u00e9 enviada automaticamente para o endpoint quando voc\u00ea adiciona o mil\u00e9simo destinat\u00e1rio. Isso significa que voc\u00ea pode compilar sua mensagem e come\u00e7ar a iterar em seu banco de dados. N\u00e3o se preocupe em enviar a mensagem, pois o SDK se encarregar\u00e1 de fazer a postagem na API quando necess\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enviando uma mensagem com o SDK do PHP do Mailgun + Batch Message:<\/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                                PHP                            <\/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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define  \r\n    your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;);\r\n    $domain = &quot;example.com&quot;;\r\n\r\n    # Next, instantiate a Message Builder object from the SDK, pass in your \r\n    sending domain.  \r\n    $batchMsg = $mgClient-&gt;BatchMessage($domain);\r\n\r\n    # Define the from address.\r\n    $batchMsg-&gt;setFromAddress(&quot;dwight@example.com&quot;, \r\n                      array(&quot;first&quot;=&gt;&quot;Dwight&quot;, &quot;last&quot; =&gt; &quot;Schrute&quot;));\r\n    # Define the subject. \r\n    $batchMsg-&gt;setSubject(&quot;Help!&quot;);\r\n    # Define the body of the message.\r\n    $batchMsg-&gt;setTextBody(&quot;The printer is on fire!&quot;);\r\n\r\n    # Next, let&#039;s add a few recipients to the batch job.\r\n    $batchMsg-&gt;addToRecipient(&quot;pam@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;pam&quot;, &quot;last&quot; =&gt; &quot;Beesly&quot;));\r\n    $batchMsg-&gt;addToRecipient(&quot;jim@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;Jim&quot;, &quot;last&quot; =&gt; &quot;Halpert&quot;));\r\n    $batchMsg-&gt;addToRecipient(&quot;andy@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;Andy&quot;, &quot;last&quot; =&gt; &quot;Bernard&quot;));\r\n    ...etc...etc...\r\n    \/\/ After 1,000 recipeints, Batch Message will automatically post your message \r\n    to the messages endpoint. \r\n\r\n    \/\/ Call finalize() to send any remaining recipients still in the buffer.\r\n    $batchMsg-&gt;finalize();\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\">Como \u00e9 poss\u00edvel ver, o Batch Message na verdade \u00e9 uma extens\u00e3o do Message Builder. Todas as fun\u00e7\u00f5es dispon\u00edveis no Message Builder tamb\u00e9m est\u00e3o dispon\u00edveis no Batch Message. Confira a\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\/blob\/master\/doc\/index.md\" target=\"_tabs\" rel=\"noopener noreferrer\">documenta\u00e7\u00e3o completa no Github<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Opt-In Handler<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por fim, criamos um manipulador de duplo opt-in simples para ajudar voc\u00ea a gerar links de opt-in exclusivos. O manipulador de opt-in tamb\u00e9m usa nosso\u00a0<a href=\"https:\/\/www.mailgun.com\/?post_type=products&#038;p=3101\" target=\"_tabs\" rel=\"noopener noreferrer\">servi\u00e7o gratuito de valida\u00e7\u00e3o de endere\u00e7os<\/a>\u00a0para validar a precis\u00e3o dos endere\u00e7os de e-mail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O fluxo t\u00edpico de uso desta classe seria o seguinte:<br>\n<b>Destinat\u00e1rio solicita cadastro<\/b>\u00a0-&gt; [Validar endere\u00e7o do destinat\u00e1rio] -&gt; [Gerar link de opt-in] -&gt; [Enviar link de opt-in por e-mail ao destinat\u00e1rio]<br>\n<b>Destinat\u00e1rio clica no link de opt-in<\/b>\u00a0-&gt; [Validar link de opt-in] -&gt; [Cadastrar usu\u00e1rio] -&gt; [Enviar confirma\u00e7\u00e3o final]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O ideal \u00e9 usar essa classe para os formul\u00e1rios de assinatura do seu site, portanto voc\u00ea precisar\u00e1 de um servidor web acess\u00edvel pela internet para lidar com o clique no link de valida\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deixe-nos saber o que voc\u00ea acha. H\u00e1 algo mais que voc\u00ea gostaria de ver no SDK? Ou algo de que voc\u00ea gosta muito. Agradecemos o seu feedback!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bons envios,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os Mailgunners<\/p>\n\n\n\r\n    <aside data-content-type=\"longform\"  class=\"banner-block longform-spacings rounded-lg shadow-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 bg-light\" data-theme=\"dark\" aria-labelledby=\"banner-block-block_b2090a99e7aa04a1f74c82931bed6bde\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Cadastre-se            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_b2090a99e7aa04a1f74c82931bed6bde\">\r\n                \u00c9 f\u00e1cil come\u00e7ar. E \u00e9 gr\u00e1tis.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Veja o que voc\u00ea pode alcan\u00e7ar com a melhor plataforma de entrega de e-mail do mundo.<\/div>\r\n                            <\/div>\r\n        \r\n        <div class=\"text-start mt-5\"><a href=\"https:\/\/signup.mailgun.com\/new\/signup\"  class=\"btn btn-secondary\" >Get started<\/a><\/div>\r\n    <\/aside>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013<\/p>\n","protected":false},"author":13,"featured_media":4555,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[22],"class_list":["post-23179","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-product"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013\" \/>\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\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/\" \/>\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\/07\/MG-Blog-Product.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\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=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/\",\"name\":\"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T01:29:13+00:00\",\"description\":\"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/the-php-sdk-the-first-of-many-official-mailgun-sdks\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun\"}]},{\"@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":"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun","description":"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013","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\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/","og_locale":"pt_BR","og_type":"article","og_title":"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun","og_description":"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013","og_url":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/","url":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/","name":"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T01:29:13+00:00","description":"O SDK do PHP permite que voc\u00ea interaja facilmente com a nossa API, removendo todo o c\u00f3digo boilerplate necess\u00e1rio para interagir com um servi\u00e7o da web HTTP. Leia mais \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/the-php-sdk-the-first-of-many-official-mailgun-sdks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/pt\/inicio\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/pt\/blog\/"},{"@type":"ListItem","position":3,"name":"O SDK do PHP: o primeiro de muitos SDKs oficiais do Mailgun"}]},{"@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\/blog\/23179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/23179\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=23179"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog_category?post=23179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}