You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#编写WhatsApp Cloud API的POST请求(嵌套对象问题)

解决WhatsApp Cloud API POST请求的C#编写问题

问题原因

你遇到的"Parameter should be a JSON object"错误,核心是**text字段在API要求中是嵌套JSON对象**,但你当前的代码把它定义成了string类型,序列化后会变成字符串值而非对象结构,不符合API的参数格式要求。

正确的类结构定义

需要为嵌套的text对象单独创建一个类,再在主请求类中引用它:

using System;

namespace WhatsAppCloudApiDemo
{
    // 对应text嵌套对象的类
    public class TextContent
    {
        public bool preview_url { get; set; }
        public string body { get; set; }
    }

    // 主请求类
    public class WhatsAppMessageRequest
    {
        public string messaging_product { get; set; }
        public string recipient_type { get; set; }
        public string to { get; set; }
        public string type { get; set; }
        public TextContent text { get; set; }
    }
}

修正后的请求代码

实例化对象时,要为text属性赋值为TextContent的实例,而不是直接传字符串:

// 实例化请求对象
var messageRequest = new WhatsAppMessageRequest()
{
    messaging_product = "whatsapp",
    recipient_type = "individual",
    to = number, // 你的目标手机号
    type = "text",
    text = new TextContent()
    {
        preview_url = false,
        body = message // 你的消息内容
    }
};

// 序列化为JSON
var requestJson = JsonConvert.SerializeObject(messageRequest);
Console.WriteLine(requestJson);

// 构造请求内容并发送
var payLoad = new StringContent(requestJson, Encoding.UTF8, "application/json");
// 建议用异步await替代.Result,避免阻塞线程
var response = await client.PostAsync(endpoint, payLoad);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

验证序列化结果

修正后的代码序列化后会生成符合API要求的JSON结构,和官方示例一致:

{
   "messaging_product": "whatsapp",
   "recipient_type": "individual",
   "to": "PHONE_NUMBER",
   "type": "text",
   "text": {
         "preview_url": false,
         "body": "MESSAGE_CONTENT"
   }
}

额外提示

  • 确保使用的JsonConvert来自Newtonsoft.Json包(如果是.NET Core/.NET 5+,也可以用System.Text.Json,只需调整序列化代码)
  • 发送请求时尽量使用await异步调用,避免使用.Result导致的线程阻塞问题

内容的提问来源于stack exchange,提问作者Shantanu Asthana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:35:28