Send Automated WhatsApp Messages (Wassenger API)

Send image message

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a text message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "Hello world, this is a sample message" // Message content
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send video messages

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a video message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This is a caption for a video message", // Add a caption for the video
    media = new
    {
        url = "https://download.samplelib.com/mp4/sample-5s.mp4", // URL of the video file
        expiration = "7d" // Set expiration time (e.g., 7 days)
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send document messages

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a PDF with expiration
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    media = new
    {
        url = "https://www.africau.edu/images/default/sample.pdf", // URL of the PDF file
        expiration = "30d" // Set expiration time (e.g., 30 days)
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send audio voice record

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending an audio message (PTT)
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    media = new
    {
        url = "https://download.samplelib.com/mp3/sample-9s.mp3", // URL of the audio file
        format = "ptt" // Format type for audio message (PTT - Push to Talk)
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a media message with an uploaded file

  • {{UPLOADED FILE ID}} : Replace this expression with the specific value
  • You can upload the file here
  • The file ID will look something like this: 57443b8773c036f2bae0cd96
// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending an image message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This is a caption for an image message", // Caption for the image
    media = new
    {
        file = "{{UPLOADED FILE ID}}" // Replace with the actual uploaded file ID
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a GIF message

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a GIF message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This is a sample caption for a GIF message", // Caption for the GIF
    media = new
    {
        url = "https://i.giphy.com/vKHKDIdvxvN7vTAEOM.mp4", // URL of the GIF in MP4 format
        format = "gif" // Specify the media format
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a poll message

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add necessary headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for the poll
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    poll = new
    {
        name = "Vote for your favorite color", // Title of the poll
        options = new[] 
        { 
            "Red", "Green", "Blue", "Yellow", "Grey", "Black", "Orange", "Purple", "White" // Poll options
        }
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a scheduled date and time message

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with method type POST
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This is a scheduled message to be sent to a phone number in 10 minutes",
    deliverAt = "2024-12-02T13:52:32.396Z" // Replace with your desired delivery time (ISO 8601 format)
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response (optional)
Console.WriteLine(response.Content);


Send dynamic native button messages

WhatsApp no longer accepts native button messages. Buttons messages will be automatically converted into raw text equivalent messages.

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a message with dynamic reply buttons
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This is a message with dynamic reply buttons", // Message content
    header = "Optional message header", // Optional header
    footer = "Optional message footer", // Optional footer
    buttons = new[]
    {
        new { id = "id1", text = "Say hello" },
        new { id = "id2", text = "Say goodbye" },
        new { id = "id3", text = "Get help" }
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a list of items to select from

WhatsApp no longer accepts list messages. List messages will be automatically converted into raw text equivalent messages.

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a list message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    list = new
    {
        button = "Select one option", // Button text
        description = "Select which type of vehicle you are interested in", // Description of the list
        title = "Motor Business", // Title of the list
        footer = "Since 1990", // Footer text
        sections = new[]
        {
            new
            {
                title = "Select a car type",
                rows = new[]
                {
                    new { title = "Coupe", id = "a1", description = "This a description for coupe cars" },
                    new { title = "Sports", id = "a2", description = "This a description for sports cars" },
                    new { title = "SUV", id = "a3", description = "This a description for SUV cars" },
                    new { title = "Minivan", id = "a4", description = "This a description for minivan cars" },
                    new { title = "Crossover", id = "a5", description = "This a description for crossover cars" },
                    new { title = "Wagon", id = "a6", description = "This a description for wagon cars" }
                }
            },
            new
            {
                title = "Select a motorbike type",
                rows = new[]
                {
                    new { title = "Touring", id = "b1", description = "Designed to excel at covering long distances" },
                    new { title = "Cruiser", id = "b2", description = "Harley-Davidsons largely define the cruiser category" },
                    new { title = "Standard", id = "b3", description = "Motorcycle intended for use on streets and commuting" }
                }
            }
        }
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a message with text formatting

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a formatted text message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "This message is formatted using _italic format_, *bold format*, ~strikethrough format~ and ```monospace format```"
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a message with location coordinates

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a location message with coordinates
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    location = new
    {
        coordinates = new[] { 40.7583748, -73.9891184 } // Latitude and longitude
    },
    message = "This is a location message using coordinates" // Optional message
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send location message with address

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a location message with an address
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    location = new
    {
        address = "Santa Claus Main Post Office, Tähtikuja 1, 96930 Arctic Circle, Finland" // Address
    },
    message = "This is a location message using an address" // Optional message
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a message with variables

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a personalized message template
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = @"Dear {{ contact.name | customer }},
Thanks for contacting us!
We will answer your query shortly.

Your message was received on {{ date.humanize.full }}" // Template with placeholders
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send a message with a URL

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a message with a link
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "Check out this cool link: https://www.youtube.com" // Message with link
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Send contact card messages

// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending contact information
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    contacts = new[]
    {
        new { phone = "+1234567890", name = "John Doe" } // Contact details
    }
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Reply to a message

  • {{MESSAGE ID}} : Replace with the actual WhatsApp message ID to forward (18, 20, 22 or 32 hexadecimal value)
// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

// Create a RestClient instance with the API endpoint
var client = new RestClient("https://api.wassenger.com/v1/messages");

// Set up the request with the POST method
var request = new RestRequest(Method.POST);

// Add headers for content type and authentication
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

// Define the request body for sending a reply message
var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    quote = "{{MESSAGE ID}}", // Replace with the actual message ID
    message = "This message is a reply to another message within the same chat" // Reply message content
};

// Add the request body as JSON
request.AddJsonBody(requestBody);

// Execute the request and store the response
IRestResponse response = client.Execute(request);

// Output the response content (optional for debugging)
Console.WriteLine(response.Content);


Forward a message

  • {{MESSAGE ID}} : Replace with the actual WhatsApp message ID to reply to (18, 20, 22 or 32 hexadecimal value)
// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    forward = new
    {
        message = "{{MESSAGE ID}}", // Replace with the message ID to forward
        chat = "+1234567890" // Replace with the chat ID to forward to
    },
    message = "The given message by ID will be forwarded to another chat"
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a catalogue message

  • {{PRODUCT CATALOG ID TO SEND}} : Replace this expression with the specific value
using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    product = "{{PRODUCT CATALOG ID TO SEND}}" // Replace with the product catalog ID
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message in real-time with no enqueueing

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");

var requestBody = new
{
    live = true,
    phone = "+1234567890",
    message = "This message will be delivered in real-time if the session is online, otherwise the API will return an error"
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message with maximum retries

using RestSharp;


var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);


request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");


var requestBody = new
{
    retries = 2,
    phone = "+1234567890",
    message = "This message will be retried only twice. If the delivery fails twice, it will be flagged as deleted and removed from the queue"
};


request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message with the expiration time

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");

var requestBody = new
{
    expiration = new { seconds = 90 },
    phone = "+1234567890",
    message = "This message will be deleted if it cannot be delivered within 90 seconds after being queued. This is useful for time-sensitive messages."
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message within a time and day range

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");

var requestBody = new
{
    phone = "+1234567890",
    message = "Restricted message example that will only be delivered between 9 am to 5 pm from Monday to Friday.",
    restrict = new
    {
        start = 9,
        end = 17,
        timezone = "CEST",
        weekdays = new[] { 1, 2, 3, 4, 5 }
    }
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message reaction

  • {{WHATSAPP MESSAGE ID}} : Replace this expression with the specific value
using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");

var requestBody = new
{
    phone = "+1234567890",
    reaction = "👍",
    reactionMessage = "{{WHATSAPP MESSAGE ID}}" // Replace with the message ID
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Remove message reaction:

  • {{WHATSAPP MESSAGE ID}} : Replace this expression with the particular value
using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");

var requestBody = new
{
    phone = "+1234567890",
    reaction = "-", // Use "-" to remove a reaction
    reactionMessage = "{{MESSAGE WHATSAPP ID}}" // Replace with the message ID
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message on behalf of an agent and assign a chat

  • {{USER ID}} : Replace with the actual user ID (24 hexadecimal value)
  • {{ASSIGNED USER ID}} : Replace with the actual user ID to assign the chat (24 hexadecimal value)
// Required: RestSharp package
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    agent = "{{USER ID}}", // Replace with the agent's user ID
    message = "This message is sent via API on behalf of an agent."
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message and resolve the chat

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "Once this message is delivered, the chat will be reported as resolved in the web chat interface.",
    actions = new[]
    {
        new { action = "chat:resolve" }
    }
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);


Send a message and add a chat label

using RestSharp;

var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE"); // Replace with your API key

var requestBody = new
{
    phone = "+1234567890", // Replace with the recipient's phone number
    message = "Once this message is delivered, the given labels will be added to the chat automatically.",
    actions = new[]
    {
        new
        {
            action = "labels:add",
            params = new
            {
                labels = new[] { "new", "sales" } // Labels to be added
            }
        }
    }
};

request.AddJsonBody(requestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);