一个客户端蟒蛇

mailchimp3的Python项目详细描述


mailchimp3 v3.0.7 on PyPiMIT licenseStable

python mailchimp api

使用请求的MailChimp API v3的Straighforward Python客户端= 2.7.0条。

开始

安装

此客户端以名称mailchimp3托管在pypi上,以便安装 它,只需运行

pip install mailchimp3

从v2.x升级

初始化mailchimp api的参数顺序如下 从2.1.0开始反转,因为用户名是 基本认证请颠倒参数的顺序或删除 完全是用户名参数。身份验证参数的名称具有 也从mc_secret更改为mc_api

从v1.x升级

2.x的安装过程与以前相同,但是 这里面的命名约定有很多变化吗 包装器和调用某些方法的方式。请阅读 有关新结构和 扩展功能。在这个版本中,所有记录的端点都是 已实现,并且所有终结点方法都可用。

历史记录

最新的 changelog 截至2017年3月3日列出的功能。

初始化

从您的mailchimp帐户(account>;extra>;api)中获取YOUR_API_KEY。 钥匙)。YOUR_USERNAME是用于登录网站和 是可选的。

from mailchimp3 import MailChimp

client = MailChimp(mc_api='YOUR_API_KEY', mc_user='YOUR_USERNAME')

OAuth支持

除了HTTP基本身份验证,MailChimp还支持 通过OAuth2进行身份验证。获取适当信息 可以找到访问密钥 here

字段

许多端点允许您选择将从中返回哪些字段 所有可用字段(例如,仅成员的电子邮件地址)。 只需在函数中添加fields参数。仅以下 显示列表123456中每个成员的电子邮件地址和ID:

client.lists.members.all('123456', get_all=True, fields="members.email_address,members.id")

示例

# returns all the lists (only name and id)
client.lists.all(get_all=True, fields="lists.name,lists.id")

# returns all members inside list '123456'
client.lists.members.all('123456', get_all=True)

# return the first 100 member's email addresses for the list with id 123456
client.lists.members.all('123456', count=100, offset=0, fields="members.email_address")

# returns the list matching id '123456'
client.lists.get('123456')

# add John Doe with email john.doe@example.com to list matching id '123456'
client.lists.members.create('123456', {
    'email_address': 'john.doe@example.com',
    'status': 'subscribed',
    'merge_fields': {
        'FNAME': 'John',
        'LNAME': 'Doe',
    },
})

# returns all the campaigns
client.campaigns.all(get_all=True)

# You can also disable at runtime with the optional ``enabled`` parameter.
# Every API call will return None
client = MailChimp('YOUR SECRET KEY', enabled=False)

# You are encouraged to specify a value in seconds for the ``timeout``
# parameter to avoid hanging requests.
client = MailChimp('YOUR SECRET KEY', timeout=10.0)

# You are encouraged to specify a User-Agent for requests to the MailChimp
# API. Headers can be specified using the ``request_headers`` parameter.
headers = requests.utils.default_headers()
headers['User-Agent'] = 'Example (example@example.com)'
client = MailChimp('YOUR SECRET KEY', request_headers=headers)

API结构

所有端点都遵循官方mailcimp api中列出的结构 v3文档。结构将在下面列出,然后 之后提供个别方法。

MailChimp
+- Root
+- Authorized Apps
+- Automations
|  +- Actions
|  +- Emails
|  |  +- Actions
|  |  +- Queues
|  +- Removed Subscribers
+- Batch Operations
+- Batch Webhooks
+- Campaign Folders
+- Campaigns
|  +- Actions
|  +- Content
|  +- Feedback
|  +- Send Checklist
+- Conversations
|  +- Messages
+- Stores
|  +- Carts
|  |  +- Lines
|  +- Customers
|  +- Orders
|  |  +- Lines
|  +- Products
|     +- Images
|     +- Variants
|  +- Promo Rules
|     +- Promo Codes
+- File Manager Files
+- File Manager Folders
+- Lists
|  +- Abuse Reports
|  +- Activity
|  +- Clients
|  +- Growth History
|  +- Interest Categories
|  |  +- Interests
|  +- Members
|  |  +- Activity
|  |  +- Goals
|  |  +- Notes
|  +- Merge Fields
|  +- Segments
|  |  +- Segment Members
|  +- Signup Forms
|  +- Twitter Lead Generation Carts
|  +- Webhooks
+- Ping
+- Reports
|  +- Campaign Abuse
|  +- Campaign Advice
|  +- Campaign Open reports
|  +- Click Reports
|  |  +- Members
|  +- Domain Performance
|  +- EepURL Reports
|  +- Email Activity
|  +- Google Analytics
|  +- Location
|  +- Sent To
|  +- Sub-Reports
|  +- Unsubscribes
+- Seach Campaigns
+- Search Members
+- Template Folders
+- Templates
   +- Default Content

API端点

下面是可以调用的所有终结点和方法的列表 反对他们。任何具有接受id参数的方法的终结点 (例如,授权的应用程序终结点中的应用程序ID或 列表成员终结点中的订阅者哈希)将记录所有ID 传递的以及由只返回的方法生成的 某些端点上存在的单个结果,如create()方法。 这些存储的属性仅在他们是 传递或创建于,必须再次传递才能与较低的 或更高级别,如访问列表,然后访问成员。下面 代码假设您已经初始化了mailcimp类,如下所示 上面的名字是client

client.root.get()

授权应用程序

授权应用
client.authorized_apps.create(data={})
client.authorized_apps.all(get_all=False)
client.authorized_apps.get(app_id='')

自动化
自动化
client.automations.all(get_all=False)
client.automations.get(workflow_id='')
自动化操作
client.automations.actions.pause(workflow_id='')
client.automations.actions.start(workflow_id='')
自动化电子邮件
client.automations.emails.all(workflow_id='')
client.automations.emails.get(workflow_id='', email_id='')
自动化电子邮件操作
client.automations.emails.actions.pause(workflow_id='', email_id='')
client.automations.emails.actions.start(workflow_id='', email_id='')
自动化电子邮件队列
client.automations.emails.queues.create(workflow_id='', email_id='', data={})
client.automations.emails.queues.all(workflow_id='', email_id='')
client.automations.emails.queues.get(workflow_id='', email_id='', subscriber_hash='')
自动化删除了订户
client.automations.removed_subscribers.create(workflow_id='', data={})
client.automations.removed_subscribers.all(workflow_id='')

批处理操作

批处理操作
client.batch_operations.create(data={})
client.batch_operations.all(get_all=False)
client.batch_operations.get(batch_id='')
client.batch_operations.delete(batch_id='')

批量webhooks

batch webhook

client.batch_webhooks.create(data={})
client.batch_webhooks.all(get_all=False)
client.batch_webhooks.get(batch_webhook_id='')
client.batch_webhooks.update(batch_webhook_id='', data={})
client.batch_webhooks.delete(batch_webhook_id='')

活动
文件夹
client.campaign_folders.create(data={})
client.campaign_folders.all(get_all=False)
client.campaign_folders.get(folder_id='')
client.campaign_folders.update(folder_id='', data={})
client.campaign_folders.delete(folder_id='')
活动
client.campaigns.create(data={})
client.campaigns.all(get_all=False)
client.campaigns.get(campaign_id='')
client.campaigns.update(campaign_id='')
client.campaigns.delete(campaign_id='')
战役行动
client.campaigns.actions.cancel(campaign_id='')
client.campaigns.actions.pause(campaign_id='')
client.campaigns.actions.replicate(campaign_id='')
client.campaigns.actions.resume(campaign_id='')
client.campaigns.actions.schedule(campaign_id='', data={})
client.campaigns.actions.send(campaign_id='')
client.campaigns.actions.test(campaign_id='', data={})
client.campaigns.actions.unschedule(campaign_id='')
活动内容
client.campaigns.content.get(campaign_id='')
client.campaigns.content.update(campaign_id='', data={})
活动反馈
client.campaigns.feedback.create(campaign_id='', data={})
client.campaigns.feedback.all(campaign_id='', get_all=False)
client.campaigns.feedback.get(campaign_id='', feedback_id='')
client.campaigns.feedback.update(campaign_id='', feedback_id='', data={})
client.campaigns.feedback.delete(campaign_id='', feedback_id='')
活动发送清单
client.campaigns.send_checklist.get(campaign_id='')

对话

对话
client.conversations.all(get_all=False)
client.conversations.get(conversation_id='')
对话信息
client.conversations.messages.create(conversation_id='', data={})
client.conversations.messages.all(conversation_id='')
client.conversations.messages.get(conversation_id='', message_id='')

电子商务
商店
client.stores.create(data={})
client.stores.all(get_all=False)
client.stores.get(store_id='')
client.stores.update(store_id='', data={})
client.stores.delete(store_id='')
购物车
client.stores.carts.create(store_id='', data={})
client.stores.carts.all(store_id='', get_all=False)
client.stores.carts.get(store_id='', cart_id='')
client.stores.carts.update(store_id='', cart_id='', data={})
client.stores.carts.delete(store_id='', cart_id='')
购物车系列
client.stores.carts.lines.create(store_id='', cart_id='', data={})
client.stores.carts.lines.all(store_id='', cart_id='', get_all=False)
client.stores.carts.lines.get(store_id='', cart_id='', line_id='')
client.stores.carts.lines.update(store_id='', cart_id='', line_id='', data={})
client.stores.carts.lines.delete(store_id='', cart_id='', line_id='')
商店顾客
client.stores.customers.create(store_id='', data={})
client.stores.customers.all(store_id='', get_all=False)
client.stores.customers.get(store_id='', customer_id='')
client.stores.customers.update(store_id='', customer_id='', data={})
client.stores.customers.create_or_update(store_id='', customer_id='', data={})
client.stores.customers.delete(store_id='', customer_id='')
商店订单
client.stores.orders.create(store_id='', data={})
client.stores.orders.all(store_id='', get_all=False)
client.stores.orders.get(store_id='', order_id='')
client.stores.orders.update(store_id='', order_id='', data={})
client.stores.orders.delete(store_id='', order_id='')
商店订单行
client.stores.orders.lines.create(store_id='', order_id='', data={})
client.stores.orders.lines.all(store_id='', order_id='', get_all=False)
client.stores.orders.lines.get(store_id='', order_id='', line_id='')
client.stores.orders.lines.update(store_id='', order_id='', line_id='', data={})
client.stores.orders.lines.delete(store_id='', order_id='', line_id='')
存储产品
client.stores.products.create(store_id='', data={})
client.stores.products.all(store_id='', get_all=False)
client.stores.products.get(store_id='', product_id='')
client.stores.products.update(store_id='', product_id='')
client.stores.products.delete(store_id='', product_id='')
存储产品图像
client.stores.products.images.create(store_id='', product_id='', data={})
client.stores.products.images.all(store_id='', product_id='', get_all=False)
client.stores.products.images.get(store_id='', product_id='', image_id='')
client.stores.products.images.update(store_id='', product_id='', image_id='', data={})
client.stores.products.images.delete(store_id='', product_id='', image_id='')
存储产品变体
client.stores.products.variants.create(store_id='', product_id='', data={})
client.stores.products.variants.all(store_id='', product_id='', get_all=False)
client.stores.products.variants.get(store_id='', product_id='', variant_id='')
client.stores.products.variants.update(store_id='', product_id='', variant_id='', data={})
client.stores.products.variants.create_or_update(store_id='', product_id='', variant_id='', data={})
client.stores.products.variants.delete(store_id='', product_id='', variant_id='')

文件管理器
文件
client.files.create(data={})
client.files.all(get_all=False)
client.files.get(file_id='')
client.files.update(file_id='', data={})
client.files.delete(file_id='')
文件夹
client.folders.create(data={})
client.folders.all(get_all=False)
client.folders.get(folder_id='')
client.folders.update(folder_id='', data={})
client.folders.delete(folder_id='')

列表

列表
client.lists.create(data={})
client.lists.update_members(list_id='', data={})
client.lists.all(get_all=False)
client.lists.get(list_id='')
client.lists.update(list_id='', data={})
client.lists.delete(list_id='')
列出虐待报告
client.lists.abuse_reports.all(list_id='', get_all=False)
client.lists.abuse_reports.get(list_id='', report_id='')
列出活动
client.lists.activity.all(list_id='')
列出客户
client.lists.clients.all(list_id='')
列表增长历史
client.lists.growth_history.all(list_id='', get_all=False)
client.lists.growth_history.get(list_id='', month='')
列出兴趣类别
client.lists.interest_categories.create(list_id='', data={})
client.lists.interest_categories.all(list_id='', get_all=False)
client.lists.interest_categories.get(list_id='', category_id='')
client.lists.interest_categories.update(list_id='', category_id='', data={})
client.lists.interest_categories.delete(list_id='', category_id='')
列出兴趣类别
client.lists.interest_categories.interests.create(list_id='', category_id='', data={})
client.lists.interest_categories.interests.all(list_id='', category_id='', get_all=False)
client.lists.interest_categories.interests.get(list_id='', category_id='', interest_id='')
client.lists.interest_categories.interests.update(list_id='', category_id='', interest_id='', data={})
client.lists.interest_categories.interests.delete(list_id='', category_id='', interest_id='')
列出成员
client.lists.members.create(list_id='', data={})
client.lists.members.all(list_id='', get_all=False)
client.lists.members.get(list_id='', subscriber_hash='')
client.lists.members.update(list_id='', subscriber_hash='', data={})
client.lists.members.create_or_update(list_id='', subscriber_hash='', data={})
client.lists.members.delete(list_id='', subscriber_hash='')
client.lists.members.delete_permanent(list_id='', subscriber_hash='')
列出成员活动
client.lists.members.activity.all(list_id='', subscriber_hash='')
列出成员目标
client.lists.members.goals.all(list_id='', subscriber_hash='')
列出成员注释
client.lists.members.notes.create(list_id='', subscriber_hash='', data={})
client.lists.members.notes.all(list_id='', subscriber_hash='', get_all=False)
client.lists.members.notes.get(list_id='', subscriber_hash='', note_id='')
client.lists.members.notes.update(list_id='', subscriber_hash='', note_id='', data={})
client.lists.members.notes.delete(list_id='', subscriber_hash='', note_id='')
列出合并字段
client.lists.merge_fields.create(list_id='', data={})
client.lists.merge_fields.all(list_id='', get_all=False)
client.lists.merge_fields.get(list_id='', merge_id='')
client.lists.merge_fields.update(list_id='', merge_id='', data={})
client.lists.merge_fields.delete(list_id='', merge_id='')
列出段
client.lists.segments.create(list_id='', data={})
client.lists.segments.all(list_id='', get_all=False)
client.lists.segments.get(list_id='', segment_id='')
client.lists.segments.update(list_id='', segment_id='', data={})
client.lists.segments.update_members(list_id='', segment_id='', data={})
client.lists.segments.delete(list_id='', segment_id='')
列出部门成员
client.lists.segments.members.create(list_id='', segment_id='', data={})
client.lists.segments.members.all(list_id='', segment_id='', get_all=False)
client.lists.segments.members.delete(list_id='', segment_id='', subscriber_hash='')
列出注册表格
client.lists.signup_forms.create(list_id='', data={})
client.lists.signup_forms.all(list_id='')
列出网络挂钩
client.lists.webhooks.create(list_id='', data={})
client.lists.webhooks.all(list_id='')
client.lists.webhooks.get(list_id='', webhook_id='')
client.lists.webhooks.update(list_id='', webhook_id='', data={})
client.lists.webhooks.delete(list_id='', webhook_id='')

报告

报告
client.reports.all(get_all=False)
client.reports.get(campaign_id='')
运动虐待报告
client.reports.abuse_reports.all(campaign_id='')
client.reports.abuse_reports.get(campaign_id='', report_id='')
活动建议
client.reports.advice.all(campaign_id='')
单击详细信息报告
client.reports.click_details.all(campaign_id='', get_all=False)
client.reports.click_details.get(campaign_id='', link_id='')
单击“详细信息”报告成员
client.reports.click_details.members.all(campaign_id='', link_id='', get_all=False)
client.reports.click_details.members.get(campaign_id='', link_id='', subscriber_hash='')
域性能报告
client.reports.domain_performance.all(campaign_id='')
eepurl报告
client.reports.eepurl.all(camnpaign_id='')
电子邮件活动报告
client.reports.email_activity.all(campaign_id='', get_all=False)
client.reports.email_activity.get(campaign_id='', subscriber_hash='')
位置报告
client.reports.locations.all(campaign_id='', get_all=False)
发送到报告
client.reports.sent_to.all(campaign_id='', get_all=False)
client.reports.sent_to.get(campaign_id='', subscriber_hash='')
子报告
client.reports.subreports.all(campaign_id='')
取消订阅
client.reports.unsubscribes.all(campaign_id='', get_all=False)
client.reports.unsubscribes.get(campaign_id='', subscriber_hash='')

模板

文件夹
client.template_folders.create(data={})
client.template_folders.all(get_all=False)
client.template_folders.get(folder_id='')
client.template_folders.update(folder_id='', data={})
client.template_folders.delete(folder_id='')
模板
client.templates.create(data={})
client.templates.all(get_all=False)
client.templates.get(template_id='')
client.templates.update(template_id='', data={})
client.templates.delete(template_id='')
默认内容
client.templates.default_content.all(template_id='')

记录

MailChimp客户端将请求/响应详细信息记录到 mailcimp3.client日志名称空间。考虑下面的片段 开始记录:

importloggingfh=logging.FileHandler('/path/to/some/log.log')logger=logging.getLogger('mailchimp3.client')logger.addHandler(fh)# use the client normallyclient.lists.all(**{'fields':'lists.date_created'})

请求/响应详细信息将附加到/path/to/some/log.log:

GET Request: https://us15.api.mailchimp.com/3.0/lists?fields=lists.date_created
GET Response: 200 {"lists":[{"date_created":"2017-05-10T13:53:05+00:00"},{"date_created":"2017-08-22T20:27:56+00:00"},{"date_created":"2017-05-12T21:22:15+00:00"},{"date_created":"2017-04-27T17:42:04+00:00"},{"date_created":"2017-05-10T14:14:49+00:00"},{"date_created":"2017-05-10T13:52:37+00:00"},{"date_created":"2017-05-10T13:51:40+00:00"}]}

检查docs是否 有关python日志记录包的更多详细信息。

支持

如果您有问题,请让我们知道或提交拉取请求。

许可证

这个项目是根据麻省理工学院的许可证授权的。

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

推荐PyPI第三方库


热门话题
java“抹去”了整个swing GUI,只有一个组件例外   有人能解释一下为什么这个用来反转字符串的Java程序不起作用吗?   jar使用java代码发送电子邮件   java如何使用keyRelease连续激发筛选表?   安卓 studio在java中执行lua脚本   java在实现StatefulJob时,“延迟”是什么意思?   当我再次尝试上传时,java Android无法查看保存在新目录中的图像   爪哇岩布剪刀问题只返回一半结果   使用Jersey Rest客户端进行java异步大文件上载   Java日历。加错年份   java对于多个autosize文本视图只有一个大小   java JodaTime:句点、间隔和持续时间之间有什么区别?   java对返回数据的正确处理   多线程多线程在java中打印偶数和奇数?   摆动Java弹跳球移动   httpconnection Java HttpUrlConnection抛出连接被拒绝   寻找C#的XmlConvert的Java等价物。编码名称   jetty在一个cookie Java代码中设置多个值   使用maven构建java jar显示错误   java我可以只使用输入在iText中生成超级脚本吗?