Message builders
import {
audioMessage,
buttonsMessage,
documentMessage,
imageMessage,
listMessage,
locationMessage,
templateMessage,
textMessage,
videoMessage,
} from "@wazapin/sdk";Builders return typed SendMessageInput objects for wazapin.messages.send().
Pagination helpers
Resources with listPaginated() yield items one at a time.
for await (const channel of wazapin.channels.listPaginated({ limit: 50 })) {
console.log(channel.id);
}Available today on:
channelscontactstemplates
Error handling
Methods return { data, error } and do not throw on API errors. Check error in production code — the quickstart examples skip this to stay short.
const { data, error } = await wazapin.messages.send(input);
if (error) {
// error.status, error.code, error.message
return;
}
console.log(data.id);Idempotency
Pass an idempotency key when sending messages you may retry.
await wazapin.messages.send(input, {
idempotencyKey: "order-123-confirmation",
});Low-level typed API client
Use client.api for advanced OpenAPI-typed endpoints that are not wrapped by a resource yet.
const { data: version } = await wazapin.api.GET("/v1/version");
console.log(version.data.version);