Cómo Enviar Documentos en WhatsApp PDF DOCX XLSX

14 de enero de 2025

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 tratan con 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, ahorrándote tiempo y aumentando la productividad.

🤩 🤖 Wassenger es una plataforma de comunicación completa y una solución 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 comienza 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 petición

URL objetivo de la API usando el método POST

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

Encabezados HTTPS requeridos > Obtén tu clave API aquí

Content-Type: application/json
Token: $API_TOKEN

Usa el cuerpo en formato JSON

{ "phone": "+12345678909", "media": { "url": "https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf", "expiration": "30d" } }

¡Felicidades! Ahora puedes enviar mensajes automáticos usando la API a grupos en WhatsApp.

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

¿Eres desarrollador?

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:

# Los ejemplos requieren tener instalado el paquete requests de Python.
# Instálalo ejecutando: pip install requests

import requests url = "https://api.wassenger.com/v1/messages" payload = { "phone": "+12345667890", "media": { "url": "https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf", "expiration": "30d" } } headers = { "Content-Type": "application/json", "Token": "API TOKEN GOES HERE" } response = requests.post(url, json=payload, headers=headers) print(response.json())

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => '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' => '+1234567890',
    'media' => [
      'url' =>
        'https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.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;
}

// 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.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.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(); - [C#](https://replit.com/new) (RestClient) // This code requires you to have installed RestSharp package. // Documentation: https://restsharp.dev // Installation: https://www.nuget.org/packages/RestSharp var client = new RestClient("https://api.wassenger.com/v1/messages"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Token", "API TOKEN GOES HERE"); request.AddParameter("application/json", "{\\"phone\\":\\"+12345678909\\",\\"media\\":{\\"url\\":\\"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf\\",\\"expiration\\":\\"30d\\"}}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); - [C#](https://replit.com/new) (HttpClient) // This code uses the built-in HttpClient package in the .NET framework. // Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0 using System.Net.Http.Headers; var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.wassenger.com/v1/messages"), Headers = { { "Token", "API TOKEN GOES HERE" }, }, Content = new StringContent("{\\"phone\\":\\"+12345678909\\",\\"media\\":{\\"url\\":\\"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf\\",\\"expiration\\":\\"30d\\"}}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); } - [Java](https://replit.com/new) // This code requires you to have installed Unirest package. // Documentation: https://kong.github.io/unirest-java/#requests // Installation: http://kong.github.io/unirest-java/ HttpResponse response = Unirest.post("https://api.wassenger.com/v1/messages") .header("Content-Type", "application/json") .header("Token", "API TOKEN GOES HERE") .body("{\\"phone\\":\\"+1234567890\\",\\"media\\":{\\"url\\":\\"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf\\",\\"expiration\\":\\"30d\\"}}") .asString(); - [Powershell](https://replit.com/new) $headers\=@{} $headers.Add("Content-Type", "application/json") $headers.Add("Token", "API TOKEN GOES HERE") $response = Invoke-WebRequest -Uri 'https://api.wassenger.com/v1/messages' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"phone":"+12345678909","media":{"url":"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf","expiration":"30d"}}' - [Ruby](https://replit.com/new) require 'uri' require 'net/http' url = URI("https://api.wassenger.com/v1/messages") http = Net::HTTP.new(url.host, url.port) http.use\_ssl = true request = Net::HTTP::Post.new(url) request\["Content-Type"\] = 'application/json' request\["Token"\] = 'API TOKEN GOES HERE' request.body = "{\\"phone\\":\\"+12345678909\\",\\"media\\":{\\"url\\":\\"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf\\",\\"expiration\\":\\"30d\\"}}" response = http.request(request) puts response.read\_body - [Go](https://replit.com/new) package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.wassenger.com/v1/messages" payload := strings.NewReader("{\\"phone\\":\\"+12345678909\\",\\"media\\":{\\"url\\":\\"https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611\_sample\_explain.pdf\\",\\"expiration\\":\\"30d\\"}}") req, \_ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") req.Header.Add("Token", "API TOKEN GOES HERE") res, \_ := http.DefaultClient.Do(req) defer res.Body.Close() body, \_ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } > *🤩 🤖* [***Wassenger***](https://wassenger.com/) *es una plataforma de comunicación completa y una solución 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) #### Pruebas en vivo para enviar un mensaje a un grupo vía API ![](/images/blog/how-to-send-documents-on-whatsapp-pdf-docx-02.png) ### Preguntas frecuentes #### Cómo enviar mensajes a varios grupos Tienes que enviar múltiples peticiones a la API, una por cada grupo objetivo. Por ejemplo, para enviar un mensaje a 10 grupos, debes enviar 10 solicitudes HTTPS independientes a la API. No hay una opción para enviar múltiples mensajes en una sola petición a la API. #### ¿Qué tipo de mensajes se pueden enviar? Puedes enviar diferentes tipos de mensajes, incluyendo 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. #### 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 la petición 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

Get Started Free