A lightweight REST API for sending WhatsApp messages with PDF attachments โ routed through the proxy service.
POST /message/route-message?port=4000
All requests are routed via the main server proxy to the appropriate WhatsApp microservice.
Content-Type: multipart/form-data
Field | Type | Required | Description |
---|---|---|---|
number | string | โ | Recipient phone number (e.g. 0501234567 or +972501234567) |
subject | string | โ | Determines message type (ืืจืืกืช, ืืจืืืช, ืงืืื) |
pdfFile | file (PDF) | โ | PDF document to send (e.g. invoice) |
import axios from "axios";
import FormData from "form-data";
import fs from "fs";
const form = new FormData();
form.append("number", "0501234567");
form.append("subject", "ืืฉืืื ืืช ืืก ืืจืืืช");
form.append("pdfFile", fs.createReadStream("./invoice.pdf"));
axios.post("http://localhost:6000/message/route-message?port=4000", form, {
headers: form.getHeaders(),
})
.then(res => console.log(res.data))
.catch(err => console.error("Error:", err.response?.data || err.message));
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
var form = new MultipartFormDataContent();
form.Add(new StringContent("0501234567"), "number");
form.Add(new StringContent("ืืฉืืื ืืช ืืก ืืจืืืช"), "subject");
form.Add(new StreamContent(File.OpenRead("invoice.pdf")), "pdfFile", "invoice.pdf");
var response = await client.PostAsync("http://localhost:6000/message/route-message?port=4000", form);
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}
Response will appear here...
{
"message": 1
}
If an error occurs:
{
"error": "Failed to send message"
}
subject
selects a predefined Arabic/Hebrew message template.{"message":1}
means success.