{"componentChunkName":"component---src-templates-docs-js","path":"/whatsapp/direct_send","result":{"data":{"site":{"siteMetadata":{"title":"broadcaster","docsLocation":"https://github.com","docsLocationType":"github","editable":false}},"mdx":{"fields":{"id":"e0ec8a73-c6b2-5a8a-bac3-f2d8f105210f","title":"Envio Directo (beta)","slug":"/whatsapp/direct_send"},"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Envio Directo (beta)\",\n  \"order\": 14\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Warning = makeShortcode(\"Warning\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Warning, {\n    mdxType: \"Warning\"\n  }, mdx(\"p\", null, \"Direct Send API es una funcionalidad en fase \", mdx(\"b\", null, \"beta\"), \" de Meta, por lo que no est\\xE1 habilitada para todas las cuentas de WhatsApp Business (WABA). Si tu cuenta no la tiene habilitada, el mensaje falla y recibir\\xE1s una notificaci\\xF3n de error en tu webhook (ver \", mdx(\"a\", {\n    href: \"/whatsapp/direct_send/response\"\n  }, \"Respuesta\"), \").\")), mdx(\"p\", null, \"Direct Send API permite enviar mensajes de WhatsApp de negocio a usuario (categor\\xEDa utility) sin necesidad de crear y aprobar plantillas manualmente. En lugar de referenciar una plantilla por nombre, se env\\xEDa el contenido directamente (texto o interactivo) agregando el campo category a la petici\\xF3n. Meta compara el contenido contra las plantillas existentes o crea una nueva de forma autom\\xE1tica y as\\xEDncrona.\"), mdx(\"p\", null, \"Esta plataforma integra Direct Send sobre el mismo endpoint de mensajer\\xEDa que ya existe (POST /v1/messaging), con la misma autenticaci\\xF3n: para obtener el token consulta \", mdx(\"a\", {\n    href: \"/whatsapp/authentication_token\"\n  }, \"Generar Token de Autenticaci\\xF3n\"), \".\"), mdx(\"b\", null, \"Consideraciones:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Si se omite el campo category, el mensaje se comporta como un env\\xEDo normal (ver \", mdx(\"a\", {\n    href: \"/whatsapp/message_without_template\"\n  }, \"Mensajes sin plantilla\"), \").\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"El env\\xEDo puede tardar m\\xE1s de lo habitual, ya que Meta realiza el matching y, cuando es necesario, la creaci\\xF3n de la plantilla.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Si Meta crea una plantilla nueva, le asigna un nombre autom\\xE1tico (por ejemplo, auto_generated_1234567890) y despu\\xE9s se puede usar con normalidad. Para fijar un nombre propio, consulta \", mdx(\"a\", {\n    href: \"/whatsapp/direct_send/objects#h-atribuciondetemplate\"\n  }, \"Atribuci\\xF3n de template\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Enviar service en category se considera fuera de Direct Send y sigue el comportamiento de env\\xEDo existente.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Meta supervisa la categorizaci\\xF3n de los mensajes; consulta \", mdx(\"a\", {\n    href: \"/whatsapp/direct_send/misuse\"\n  }, \"Uso indebido de la API\"), \".\")), mdx(\"section\", null, mdx(\"h3\", {\n    parentName: \"section\"\n  }, \"Consulta de templates creados\"), mdx(\"p\", {\n    parentName: \"section\"\n  }, \"Las plantillas creadas por Direct Send se pueden consultar en el listado de plantillas (GET /v1/template/{{wabaId}}, ver \", mdx(\"a\", {\n    href: \"/whatsapp/template_management\"\n  }, \"Gesti\\xF3n de Plantillas\"), \") y se pueden usar para enviar de forma normal en cuanto quedan en estatus APPROVED.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#consulta-de-templates-creados","title":"Consulta de templates creados"}]},"timeToRead":1,"parent":{"__typename":"File","relativePath":"whatsapp/direct_send.md","fields":{"gitLogLatestAuthorName":"Jimena Acevedo - JC","gitLogLatestAuthorEmail":"jimena-acevedo@192.168.1.67","gitLogLatestDate":"3 days ago"}},"frontmatter":{"metaTitle":null,"showMetadata":null,"editable":null,"showPreviousNext":null,"showToc":null}},"gitBranch":{"name":"DEV"},"gitCommit":{"hash":"456be35532012cb399c2f67dcdb4de107acfb5bc","date":"2026-10-19 05:45"}},"pageContext":{"id":"e0ec8a73-c6b2-5a8a-bac3-f2d8f105210f"}},"staticQueryHashes":["12478684","12478684","2882937274","2882937274","353167761","353167761"]}