JS1 TALKBACK API

WhatsApp API for billing and ERP software: send the invoice in one call

Connect your billing, accounting or order software to JS1 Talkback and your clients send invoices with the PDF, payment reminders and dispatch updates on WhatsApp, from their own number. One HTTPS call per message, a free test key to build with, and no monthly fee: each client pays only for the messages they send, from ₹0.70 a message.

WhatsApp chat for sales enquiries only. No calls, please.

10+ years making business software
Free test key
No monthly fee
Client's own number
What you get

Everything a billing software needs to send on WhatsApp

One call a message

POST the number, the template and its values. Send it again after a timeout and the customer still gets it once.

Invoice PDFs

Attach the invoice PDF (up to 5 MB) to the same call. The customer sees the file's own name.

Status and replies

A signed webhook tells your server when a message is delivered, read or failed, and when the customer replies.

Free test key

Build and test with a test key: nothing is sent and nothing is charged, up to 500 test sends a day.

How a send looks

Send an invoice PDF in C# or PHP

Every request carries the key and an Idempotency-Key. The answer is 202 with the message id; the webhook tells you the rest. Node and curl examples, error codes and webhooks are in the API guide.

C# (.NET 6 or later)

using System.Text.Json;

var http = new HttpClient { BaseAddress = new Uri("https://talkback.js1software.net/") };
http.DefaultRequestHeaders.Authorization = new("Bearer", apiKey);

using var form = new MultipartFormDataContent();
form.Add(new StringContent(JsonSerializer.Serialize(new
{
    to = "919876543210", template = "invoice_pdf",
    @params = new[] { "Ramesh Textiles", "INV-1043" }, reference = "INV-1043"
})), "message");
var pdf = new ByteArrayContent(await File.ReadAllBytesAsync("INV-1043.pdf"));
pdf.Headers.ContentType = new("application/pdf");
form.Add(pdf, "document", "INV-1043.pdf");

var req = new HttpRequestMessage(HttpMethod.Post, "v1/messages") { Content = form };
req.Headers.Add("Idempotency-Key", "INV-1043-send-1"); // reuse it on every retry
var res = await http.SendAsync(req);                   // 202 = accepted: save the id

PHP (curl)

$ch = curl_init('https://talkback.js1software.net/v1/messages');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey,
                               'Idempotency-Key: INV-1043-send-1'],
    CURLOPT_POSTFIELDS     => [
        'message'  => json_encode(['to' => '919876543210',
                        'template' => 'invoice_pdf',
                        'params' => ['Ramesh Textiles', 'INV-1043'],
                        'reference' => 'INV-1043']),
        'document' => new CURLFile('INV-1043.pdf', 'application/pdf', 'INV-1043.pdf'),
    ],
]);
$body   = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); // 202 = accepted

Full walk-throughs with retries that never send twice and a signed status webhook: C# and VB.NET · PHP and Laravel.

How it works

Your clients send from your software, on their own account

1

Your client signs up

Each client signs up for JS1 Talkback with their own business details, buys their own pack and connects their own number through Meta's page. You do not buy or resell messages.

2

They add you as a Developer

The client adds you on their Team page. You make a test key and build the connection: nothing reaches a real customer while you test.

3

Switch to the live key

When it works, the client makes a live key and your software sends their invoices and reminders. Their replies come into their Talkback inbox.

See what JS1 Talkback costs your clients →

Questions

Questions from developers

Any language that can make an HTTPS request: C#, VB.NET, PHP, Node, Java, Python and others. The API guide has ready examples in curl, C#, PHP and Node.

No. Your client connects their own business number to Talkback through Meta's own page, in about 10 minutes, and the number stays theirs. You only call the Talkback API.

Nothing for you. Each client pays for their own messages: no monthly fee, ₹0.85 a message plus GST in a ₹2,000 pack, down to ₹0.70 when they buy ₹6,000 or more. See the prices.

Yes. A test key goes through every check on your request but sends nothing and charges nothing, up to 500 test sends a day. Special test numbers let you force a low-balance answer, a refusal or a failed message, so you can build every path before going live.

Yes. Send the same call as multipart form data with the PDF (up to 5 MB) as the document, for a template that has a document header. JPEG or PNG images work the same way for image templates.

Yes. Set a webhook address and Talkback calls it, signed, for every status change (delivered, read, failed) and every customer reply. Every message also has an id you can look up.

No. Talkback is for business updates your customers expect: invoices, payments, orders, dispatch and account updates, from templates Meta has approved. Marketing and offer messages are not part of it.

Connect your software and test it free

Read the guide, build with a free test key, and switch to a live key when it works. Questions? Chat with us on WhatsApp.

WhatsApp chat for sales enquiries only. No calls, please.