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

如何在Python中为Zeptomail API的Payload插入用户变量(含换行)

为Zeptomail API Payload填充用户专属数据

作为Python新手,你需要将用户信息填充到Zeptomail API请求Payload的merge_info字段和to头部,替换示例中test_开头的占位值。以下是具体实现方案:

方案一:字符串替换(适配你的示例格式)

直接对payload模板字符串进行变量替换,快速替换占位文本为真实用户数据:

# 真实用户数据
user_name = 'users name'
user_email = 'users@email.test'
user_title = 'users title'

# 定义带占位符的payload模板
payload_template = '''
    {
        \n\"mail_template_key\":\"xxxxxxxxxxxxxxxxxxxxxxxxx\",

        \n\"from\": {
            \"address\": \"example@mail.com\",
            \"name\": \"example\"
            },

        \n\"to\": [{
            \"email-address\": {
                \"address\": \"TEST_EMAIL\",
                \"name\": \"TEST_NAME\"
                }
            }],

        \n\"merge_info\": {
            "name":"TEST_NAME",
            "title":"TEST_TITLE"
            }}
'''

# 替换占位符生成最终payload
payload = payload_template.replace("TEST_EMAIL", user_email)\
                          .replace("TEST_NAME", user_name)\
                          .replace("TEST_TITLE", user_title)

执行后得到的payload即为你期望的输出内容。

方案二:使用JSON模块(更规范的实现)

手动拼接字符串易出现转义错误,推荐用Python内置json模块构造Payload,可读性与安全性更高:

import json

# 真实用户数据
user_name = 'users name'
user_email = 'users@email.test'
user_title = 'users title'

# 用Python字典构造Payload结构,直接嵌入变量
payload_dict = {
    "mail_template_key": "xxxxxxxxxxxxxxxxxxxxxxxxx",
    "from": {
        "address": "example@mail.com",
        "name": "example"
    },
    "to": [{
        "email-address": {
            "address": user_email,
            "name": user_name
        }
    }],
    "merge_info": {
        "name": user_name,
        "title": user_title
    }
}

# 转换为标准JSON字符串
payload = json.dumps(payload_dict, indent=4)

这种方式无需手动处理转义字符,后续修改字段或扩展数据也更方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:57:43