Skip to content
Back to Blog

Cómo Enviar Documentos En WhatsApp PDF DOCX XLSX Con PHP

Guía paso a paso para compartir documentos con contactos de WhatsApp usando Wassenger

Compartir documentos importantes como PDFs, archivos DOCX o hojas de cálculo XLSX con tus contactos de WhatsApp puede mejorar significativamente la colaboración y la eficiencia. Sin embargo, gestionar estas tareas manualmente puede llevar mucho tiempo, especialmente para empresas que manejan múltiples contactos y clientes.

Entra Wassenger, un potente CRM diseñado específicamente para la mensajería de WhatsApp. Con Wassenger, las empresas pueden compartir documentos sin esfuerzo, automatizar mensajes y mantenerse conectadas con sus equipos y clientes de una manera más organizada. Esta guía te mostrará cómo aprovechar Wassenger para enviar documentos sin problemas a contactos de WhatsApp, ahorrando tiempo y aumentando la productividad.

🤩 🤖 Wassenger es una plataforma completa de comunicación y una solución de API para WhatsApp. Explora más de 100 casos de uso de la API y automatiza cualquier cosa en WhatsApp registrándote para una prueba gratuita y empieza en minutos!

Requisitos

  • Tener un número de WhatsApp ya vinculado a la plataforma y en línea.
  • Número de teléfono del destinatario con prefijo internacional en formato E164. Ejemplo: +12345678909. Puedes validar el número de teléfono aquí.

Preparar la solicitud

URL objetivo de la API usando el método POST

https://api.wassenger.com/v1/messages

Cabeceras HTTPS necesarias > Obtén tu clave de API aquí

Content-Type: application/json
Token: $API_TOKEN

🤩 🤖 Wassenger es una solución completa de API para WhatsApp. Regístrate para una prueba gratuita de 7 días y comienza en minutos!

Explora cómo usar el código en tu navegador sin instalar ningún software.

Además, puedes encontrar diferentes lenguajes que puedes probar en Replit.com:

Enviar documentos desde una URL:

// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP. // Install it first following these instructions: // https://docs.guzzlephp.org/en/stable/overview.html#installation

request('POST', 'https://api.wassenger.com/v1/messages', \[ 'body' => '{"phone":"+12345678909","media":{"url":"https://www.africau.edu/images/default/sample.pdf","expiration":"30d"}}', 'headers' => \[ 'Content-Type' => 'application/json', 'Token' => 'API TOKEN GOES HERE', \], \]); echo $response->getBody(); - [PHP (Http2)](https://replit.com/new) // This code example requires to have installed pecl\_http package, a simple and elegant HTTP client for PHP. // Install it by running: pecl install pecl\_http // More information: https://mdref.m6w6.name/http append(json\_encode(\[ 'phone' => '+1234567890', 'media' => \[ 'url' => 'https://www.africau.edu/images/default/sample.pdf', 'expiration' => '30d' \] \])); $request->setRequestUrl('https://api.wassenger.com/v1/messages'); $request->setRequestMethod('POST'); $request->setBody($body); $request->setHeaders(\[ 'Content-Type' => 'application/json', 'Token' => 'API TOKEN GOES HERE' \]); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody(); - [PHP (curl)](https://replit.com/new) "https://api.wassenger.com/v1/messages", CURLOPT\_RETURNTRANSFER => true, CURLOPT\_ENCODING => "", CURLOPT\_MAXREDIRS => 10, CURLOPT\_TIMEOUT => 30, CURLOPT\_HTTP\_VERSION => CURL\_HTTP\_VERSION\_1\_1, CURLOPT\_CUSTOMREQUEST => "POST", CURLOPT\_POSTFIELDS => json\_encode(\[ 'phone' => '+12345678909', 'media' => \[ 'url' => 'https://www.africau.edu/images/default/sample.pdf', 'expiration' => '30d' \] \]), CURLOPT\_HTTPHEADER => \[ "Content-Type: application/json", "Token: API TOKEN GOES HERE" \], \]); $response = curl\_exec($curl); $err = curl\_error($curl); curl\_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } Enviar documentos desde un archivo subido: **Reemplaza esta expresión por el valor específico:** `{{UPLOADED FILE ID}}` - [PHP (Guzzle)](https://replit.com/new) // This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP. // Install it first following these instructions: // https://docs.guzzlephp.org/en/stable/overview.html#installation request('POST', 'https://api.wassenger.com/v1/messages', \[ 'body' => '{"phone":"+12345678909","message":"This is a caption for an image message","media":{"file":"{{UPLOADED FILE ID}}"}}', 'headers' => \[ 'Content-Type' => 'application/json', 'Token' => 'API TOKEN GOES HERE', \], \]); echo $response->getBody(); - [PHP (Http2)](https://replit.com/new) // This code example requires to have installed pecl\_http package, a simple and elegant HTTP client for PHP. // Install it by running: pecl install pecl\_http // More information: https://mdref.m6w6.name/http append(json\_encode(\[ 'phone' => '+12345678909', 'message' => 'This is a caption for an image message', 'media' => \[ 'file' => '{{UPLOADED FILE ID}}' \] \])); $request->setRequestUrl('https://api.wassenger.com/v1/messages'); $request->setRequestMethod('POST'); $request->setBody($body); $request->setHeaders(\[ 'Content-Type' => 'application/json', 'Token' => 'API TOKEN GOES HERE' \]); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody(); - [PHP (curl)](https://replit.com/new) "https://api.wassenger.com/v1/messages", CURLOPT\_RETURNTRANSFER => true, CURLOPT\_ENCODING => "", CURLOPT\_MAXREDIRS => 10, CURLOPT\_TIMEOUT => 30, CURLOPT\_HTTP\_VERSION => CURL\_HTTP\_VERSION\_1\_1, CURLOPT\_CUSTOMREQUEST => "POST", CURLOPT\_POSTFIELDS => json\_encode(\[ 'phone' => '+12345678909', 'message' => 'This is a caption for an image message', 'media' => \[ 'file' => '{{UPLOADED FILE ID}}' ] \]), CURLOPT\_HTTPHEADER => \[ "Content-Type: application/json", "Token: API TOKEN GOES HERE" \], \]); $response = curl\_exec($curl); $err = curl\_error($curl); curl\_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } > *🤩 🤖* [***Wassenger***](https://wassenger.com/) *es una plataforma completa de comunicación y una solución de API para WhatsApp.* [***Explora más de 100 casos de uso de la API y automatiza cualquier cosa en WhatsApp***](https://wassenger.com/) *registrándote* [*para una prueba gratuita y comienza en minutos****!***](https://wassenger.com/register) #### Prueba en vivo para enviar un mensaje a un grupo vía API ![](/images/blog/how-to-send-documents-on-whatsapp-pdf-docx-02.png) [Prueba el probador en vivo de la API de Wassenger](https://app.wassenger.com/help/api-tester) ### Preguntas frecuentes #### Cómo enviar mensajes a múltiples contactos Tienes que enviar múltiples solicitudes a la API, una por cada contacto destino. Por ejemplo, para enviar un mensaje a 10 grupos, deberías enviar 10 solicitudes HTTPS independientes a la API. No existe la opción de enviar múltiples mensajes en una sola solicitud a la API. #### ¿Qué tipo de mensajes se pueden enviar? Puedes enviar diferentes tipos de mensajes, incluidos texto, imágenes, videos, emojis, audio, GIFs, ubicaciones geográficas y documentos de archivo vía API. Consulta [otros tutoriales](https://app.wassenger.com/help/category/tutorials) para más información. #### ¿Puedo programar mensajes masivos para una hora específica? Sí, Wassenger te permite [programar campañas](https://wassenger.com/campaigns) con antelación para enviar mensajes en el momento más conveniente para tu audiencia. #### Recursos útiles adicionales [Documentación de la API](https://wassenger.com/docs) Para más detalles sobre el endpoint de la API, por favor revisa nuestra documentación. Encontrarás todos los detalles sobre los parámetros de solicitud aceptados, posibles respuestas de éxito o error y ejemplos de código listos para usar en múltiples lenguajes de programación. [https://app.wassenger.com/docs/#tag/Messages](https://app.wassenger.com/docs/#tag/Messages)

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger.

Browse more

Tutorials, guides and case studies on running WhatsApp at team scale.

Ready for the official WhatsApp Business API?See what Meta charges — and keep your current number.
WhatsApp API pricing