Upload images, documents, and other files once, then reference them when you send media messages.

Upload a media asset

const file = new Blob([buffer], { type: "image/png" });

const { data: asset } = await wazapin.media.upload(file, "receipt.png");

console.log(asset.asset_id);
For error handling in production, see Utilities → Error handling.

List media assets

const { data } = await wazapin.media.list({ limit: 20 });

Delete an asset

await wazapin.media.delete("asset_123");

Send media messages

Use message builders for image, video, audio, and document messages.
import { documentMessage, imageMessage } from "@wazapin/sdk";

await wazapin.messages.send(
  imageMessage({
    channel_id: "wzp_ch_123",
    to: "6281234567890",
    link: "https://cdn.example.com/image.png",
    caption: "Here is the image.",
  }),
);

await wazapin.messages.send(
  documentMessage({
    channel_id: "wzp_ch_123",
    to: "6281234567890",
    link: "https://cdn.example.com/invoice.pdf",
    filename: "invoice.pdf",
  }),
);