Cakemail Nextgen API客户端

cakemail的Python项目详细描述


安装

使用pip安装cakemail

pip install cakemail

使用

用您的Cakemail用户名和密码从CakemailApi类创建一个对象。对象将负责 所有授权机制都是自动的。在

^{pr2}$

调用其中一个API操作(请参阅联机文档)

my_account=api.account.get_self()

API操作

API操作接受OpenAPI模型和python字典。在

fromcakemail.modelsimportCreateSendersender=api.sender.create(create_sender=CreateSender(name='My Sender',email='someone@gmail.com'))sender=api.sender.create(create_sender={'name':'My Sender','email':'someone@gmail.com'})

您还可以为所有操作参数解压字典,允许您将整个有效负载表示为单个 字典:

sender=api.sender.create(**{'create_sender':{'name':'My Sender','email':'someone@gmail.com'}})

操作实例

创建发件人

fromcakemail.modelsimportCreateSender,ConfirmSendersender=api.sender.create(CreateSender(name='My Sender',email='someone@gmail.com'))# look for the confirmation ID in your email inboxapi.sender.confirm(ConfirmSender(confirmation_id='[confirmation ID]'))

创建联系人列表

fromcakemail.modelsimportList,Sendermy_new_list=api.list.create(list=List(name='my new list',default_sender=Sender(id=sender.id)))

发送事务性电子邮件

fromcakemail.modelsimportEmail,EmailContent# expressed as OpenAPI modelsapi.transactional_email.send(email=Email(email='destination@gmail.com',sender=sender,content=EmailContent(subject='Subject line',text='Email body',encoding='utf-8')))# expressed as a dictionaryapi.transactional_email.send(email={'email':'destination@gmail.com','sender':sender,'content':{'subject':'Subject line','text':'Email body','encoding':'utf-8'}})

访问数据

CakemailAPI总是返回data对象下的数据。为了简单起见,可以访问资源数据 直接从返回的响应中:

my_user=api.user.get_self()print(f'id: {my_user.id}, email: {my_user.email}')

遍历列表

有些方法返回可直接迭代的资源列表:

campaigns=api.campaign.list()forcampaignincampaigns:html=api.campaign.render(campaign_id=campaign.id).htmlprint(f'id: {campaign.id}, name: {campaign.name}, html: {html}')

分页

分页存储在返回资源列表的所有方法的pagination属性中:

campaigns=api.campaign.list(with_count=True)print(f"""  page: {campaigns.pagination.page},  per_page: {campaigns.pagination.per_page},  count: {campaigns.pagination.count}  """)

字典表示法

API方法返回响应对象;如果您喜欢使用python dict表示,请使用to_dict方法:

campaign_dict=api.campaign.get(campaign_id=123).to_dict()forcampaigninapi.campaign.list():print(campaign.to_dict())

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
基于下图,使用改进的java上传图像   libgdx矩形之间的java冲突检测   java将航路点硬编码到无人机套件中   java使用数组实现多重性   java国际象棋,寻找对角线移动的最后一个位置的算法   Java正则表达式更高效的动态正则表达式   java在识别和修复SSLPeerUnverifiedException方面需要帮助   Android上的java安装FTPS服务器/客户端   JavaSpring云流:动态输出通道奇怪的行为   java如何在jsp页面中将html标记放入html标记中   arraylist在Java中创建多个数据类型的数组列表   javajackson:忽略空字段,除了那些与项目相关的必填字段   java Eclipse javadoc背景色为黑色   java如何从应用程序外部的属性文件中检索值   java如何避免两个类之间的循环依赖?   java@cacheable spring for redis,特定于方法的ttl?   java Lucene查找合作列表