<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Saeed Saqib</title>
    <description>The latest articles on DEV Community by Muhammad Saeed Saqib (@msaeedsakib).</description>
    <link>https://dev.to/msaeedsakib</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3837615%2F89361fe8-f622-4ead-a380-52f64342f874.jpeg</url>
      <title>DEV Community: Muhammad Saeed Saqib</title>
      <link>https://dev.to/msaeedsakib</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/msaeedsakib"/>
    <language>en</language>
    <item>
      <title>You Shouldn't Need a PhD to Send a WhatsApp Message from Your App</title>
      <dc:creator>Muhammad Saeed Saqib</dc:creator>
      <pubDate>Thu, 26 Mar 2026 20:56:38 +0000</pubDate>
      <link>https://dev.to/msaeedsakib/you-shouldnt-need-a-phd-to-send-a-whatsapp-message-from-your-app-1cg7</link>
      <guid>https://dev.to/msaeedsakib/you-shouldnt-need-a-phd-to-send-a-whatsapp-message-from-your-app-1cg7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2qatzlszkks5sn0z2hp.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2qatzlszkks5sn0z2hp.jpeg" alt="WhatsApp chat bubble with code snippet inside, surrounded by TypeScript, Python, C#, and PHP language icons on a dark background" width="800" height="422"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Let's be real for a second.&lt;/p&gt;

&lt;p&gt;You want to send a WhatsApp message from your app. That's it. A simple notification, an OTP, a booking confirmation, whatever. Should be easy, right?&lt;/p&gt;

&lt;p&gt;Then you look at the &lt;strong&gt;Official WhatsApp Business API&lt;/strong&gt;. You need a Meta Business account, a verified phone number, message templates approved by Facebook, webhook infrastructure &amp;amp; about 3 cups of coffee just to read the docs. Oh, and you can't even send a message to someone who hasn't messaged you first unless you pay for a "conversation" through their pricing model that requires an economics degree to understand.&lt;/p&gt;

&lt;p&gt;So you look at alternatives. Most unofficial APIs charge $50-100/month for what should be basic functionality. Some gate features behind enterprise plans. Others have SDKs that look like they were written in 2019 and never updated.&lt;/p&gt;

&lt;p&gt;I got tired of this.&lt;/p&gt;




&lt;h2&gt;
  
  
  Meet Wazen
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://wazen.dev" rel="noopener noreferrer"&gt;Wazen&lt;/a&gt; is an unofficial WhatsApp API built for developers who just want to &lt;strong&gt;send messages and move on with their lives&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's what it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scan a QR code, get a session, start sending messages&lt;/li&gt;
&lt;li&gt;Text, images, groups, channels, contacts, bulk validation&lt;/li&gt;
&lt;li&gt;Built in smart rate limiting and warming so you don't get your number banned&lt;/li&gt;
&lt;li&gt;Webhook support for incoming messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero feature gating&lt;/strong&gt; every feature is available on every plan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No Meta approvals. No template reviews. No "contact sales for pricing."&lt;/p&gt;




&lt;h2&gt;
  
  
  4 SDKs. Your Language. 5 Minutes.
&lt;/h2&gt;

&lt;p&gt;We just shipped official SDKs for &lt;strong&gt;TypeScript, Python, PHP, and C#/.NET&lt;/strong&gt;. Here's what "integrating WhatsApp" actually looks like now:&lt;/p&gt;

&lt;h3&gt;
  
  
  TypeScript / Node.js
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @wazen/sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Wazen&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@wazen/sdk&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;wazen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Wazen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wz_your_api_key&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;wazen&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;session-id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;+1234567890&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Your order #4521 has been shipped!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;wazen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;wazen&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Wazen&lt;/span&gt;

&lt;span class="n"&gt;wazen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Wazen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wz_your_api_key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;wazen&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;session-id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;+1234567890&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Your order #4521 has been shipped!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  PHP
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require wazen/sdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Wazen\Wazen&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$wazen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Wazen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'wz_your_api_key'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$wazen&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'session-id'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'to'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'+1234567890'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'type'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'text'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'content'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Your order #4521 has been shipped!'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  C# / .NET
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dotnet add package Wazen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Wazen&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;wazen&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;WazenClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"wz_your_api_key"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;wazen&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Messages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;SendAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"session-id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;SendMessageRequest&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;To&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"+1234567890"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;Type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MessageType&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;Content&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Your order #4521 has been shipped!"&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Pick your language, install the package, send a message. No config files, no XML, no 200-line setup.&lt;/p&gt;




&lt;h2&gt;
  
  
  "But I Use ____..."
&lt;/h2&gt;

&lt;p&gt;We currently support TypeScript, Python, PHP, and C#/.NET. But here's the thing &lt;strong&gt;if you need an SDK in another language, just ask us.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ruby? Go? Java? Kotlin? Dart? Literally anything?&lt;/p&gt;

&lt;p&gt;Reach me out at &lt;a href="mailto:saeed@wazen.dev"&gt;saeed@wazen.dev&lt;/a&gt;. Even if you're the only person in the world who needs a Wazen SDK for that language &lt;strong&gt;we'll build it for you.&lt;/strong&gt; No minimum demand. No "we'll consider it." We'll just do it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Pricing That Doesn't Insult You
&lt;/h2&gt;

&lt;p&gt;Most WhatsApp API providers charge $50+/month and lock features behind higher tiers. Wazen starts at &lt;strong&gt;$4.99/month&lt;/strong&gt; with every single feature unlocked.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Sessions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Starter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$4.99/mo&lt;/td&gt;
&lt;td&gt;1 session&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pro&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$14.99/mo&lt;/td&gt;
&lt;td&gt;3 sessions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Business&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$34.99/mo&lt;/td&gt;
&lt;td&gt;10 sessions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All plans include a &lt;strong&gt;3 Day free trial&lt;/strong&gt;. No credit card required to start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Founding Member Offer:&lt;/strong&gt; The first 150 subscribers get &lt;strong&gt;50% off forever&lt;/strong&gt;. Not a first-month discount! Its forever. Spots are limited and they won't come back.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://wazen.dev" rel="noopener noreferrer"&gt;wazen.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://wazen.dev/docs" rel="noopener noreferrer"&gt;wazen.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dashboard: &lt;a href="https://wazen.dev/dashboard" rel="noopener noreferrer"&gt;wazen.dev/dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/irixsoft" rel="noopener noreferrer"&gt;github.com/irixsoft&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;TypeScript SDK: &lt;a href="https://www.npmjs.com/package/@wazen/sdk" rel="noopener noreferrer"&gt;npmjs.com/package/@wazen/sdk&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Python SDK: &lt;a href="https://pypi.org/project/wazen/" rel="noopener noreferrer"&gt;pypi.org/project/wazen&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;PHP SDK: &lt;a href="https://packagist.org/packages/wazen/sdk" rel="noopener noreferrer"&gt;packagist.org/packages/wazen/sdk&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;.NET SDK: &lt;a href="https://www.nuget.org/packages/Wazen" rel="noopener noreferrer"&gt;nuget.org/packages/Wazen&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you've ever rage quit a WhatsApp integration, give Wazen a try. Five minutes, not five days.&lt;/p&gt;

&lt;p&gt;Questions? Hit me up: &lt;a href="mailto:saeed@wazen.dev"&gt;saeed@wazen.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>api</category>
      <category>marketing</category>
    </item>
    <item>
      <title>How to Send WhatsApp Messages from Your App in 5 Minutes</title>
      <dc:creator>Muhammad Saeed Saqib</dc:creator>
      <pubDate>Sat, 21 Mar 2026 21:20:11 +0000</pubDate>
      <link>https://dev.to/msaeedsakib/how-to-send-whatsapp-messages-from-your-app-in-5-minutes-44kf</link>
      <guid>https://dev.to/msaeedsakib/how-to-send-whatsapp-messages-from-your-app-in-5-minutes-44kf</guid>
      <description>&lt;p&gt;If you've ever tried integrating WhatsApp into your app,&lt;br&gt;
you know the pain. Meta's official API requires business&lt;br&gt;
verification, approval processes, and per-message fees&lt;br&gt;
that don't make sense for small projects.&lt;/p&gt;

&lt;p&gt;There's a simpler way. In this tutorial, I'll show you how&lt;br&gt;
to send your first WhatsApp message programmatically in&lt;br&gt;
under 5 minutes using a REST API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Get Your API Key&lt;/strong&gt;&lt;br&gt;
Sign up at &lt;a href="https://wazen.dev" rel="noopener noreferrer"&gt;wazen.dev&lt;/a&gt; and grab your&lt;br&gt;
API key from the dashboard. Takes about 30 seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Connect Your WhatsApp&lt;/strong&gt;&lt;br&gt;
Scan the QR code shown in the dashboard with your WhatsApp&lt;br&gt;
app just like connecting WhatsApp Web. Your session is&lt;br&gt;
now live.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Send a Message&lt;/strong&gt;&lt;br&gt;
One API call. That's it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://wazen.dev/api/v1/sessions/&lt;span class="o"&gt;{&lt;/span&gt;session_id&lt;span class="o"&gt;}&lt;/span&gt;/messages &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wz_your_api_key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "to": "1234567890",
    "type": "text",
    "content": "Hello from my app!"
}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;span class="s2"&gt;"id"&lt;/span&gt;: &lt;span class="s2"&gt;"msg_abc123"&lt;/span&gt;,
&lt;span class="s2"&gt;"sessionId"&lt;/span&gt;: &lt;span class="s2"&gt;"sess_xyz"&lt;/span&gt;,
&lt;span class="s2"&gt;"to"&lt;/span&gt;: &lt;span class="s2"&gt;"1234567890"&lt;/span&gt;,
&lt;span class="s2"&gt;"type"&lt;/span&gt;: &lt;span class="s2"&gt;"text"&lt;/span&gt;,
&lt;span class="s2"&gt;"content"&lt;/span&gt;: &lt;span class="s2"&gt;"Hello from my app!"&lt;/span&gt;,
&lt;span class="s2"&gt;"status"&lt;/span&gt;: &lt;span class="s2"&gt;"queued"&lt;/span&gt;,
&lt;span class="s2"&gt;"direction"&lt;/span&gt;: &lt;span class="s2"&gt;"outgoing"&lt;/span&gt;,
&lt;span class="s2"&gt;"createdAt"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-03-21T10:30:00Z"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The message gets queued and delivered through Wazen's&lt;br&gt;
smart pacing system automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Send Media&lt;/strong&gt;&lt;br&gt;
Not just text. Send images, videos, audio, and documents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://wazen.dev/api/v1/sessions/&lt;span class="o"&gt;{&lt;/span&gt;session_id&lt;span class="o"&gt;}&lt;/span&gt;/messages &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wz_your_api_key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "to": "1234567890",
    "type": "image",
    "media_url": "https://example.com/photo.jpg"
}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supported types: text, image, video, audio,&lt;br&gt;
document. Media can be sent via URL (media_url) or&lt;br&gt;
base64 encoded (media_base64).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Receive Messages via Webhooks&lt;/strong&gt;&lt;br&gt;
Set up a webhook URL in your dashboard and Wazen will POST&lt;br&gt;
incoming messages to your endpoint in real-time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get Message History&lt;/strong&gt;&lt;br&gt;
Fetch sent and received messages with pagination:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://wazen.dev/api/v1/sessions/&lt;span class="o"&gt;{&lt;/span&gt;session_id&lt;span class="o"&gt;}&lt;/span&gt;/messages?direction&lt;span class="o"&gt;=&lt;/span&gt;incoming&amp;amp;limit&lt;span class="o"&gt;=&lt;/span&gt;20 &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer wz_your_api_key"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Filter by direction (incoming/outgoing) and type&lt;br&gt;
(text/image/video/audio/document).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart Warming&lt;/strong&gt;&lt;br&gt;
One thing that sets this apart, Wazen has a built-in&lt;br&gt;
warming module that automatically paces your messages&lt;br&gt;
based on your session age. New numbers start slow and&lt;br&gt;
ramp up gradually, which helps with deliverability.&lt;/p&gt;

&lt;p&gt;No need to manage rate limits yourself. The platform&lt;br&gt;
handles it for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Server for AI Agents&lt;/strong&gt;&lt;br&gt;
If you're building AI agents with Claude Code, Cursor,&lt;br&gt;
or any MCP-compatible tool, Wazen has a native MCP server.&lt;br&gt;
Your AI agents can send and receive WhatsApp messages&lt;br&gt;
directly. No custom integration needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;br&gt;
Starts at $9.99/mo for 1 WhatsApp session. No per-message&lt;br&gt;
fees. Plans go up to 10 sessions for teams that need more.&lt;/p&gt;

&lt;p&gt;Right now there's a founding member offer — 50% off&lt;br&gt;
forever for the first 100 customers.&lt;/p&gt;




&lt;p&gt;Check it out: &lt;a href="https://wazen.dev" rel="noopener noreferrer"&gt;https://wazen.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>api</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
