ApiProxy

Mailchimp

Общее

Этот engine предоставляет доступ к API Mailchimp.

[Документация Mailchimp] https://mailchimp.com/developer/guides/get-started-with-mailchimp-api-3/ https://mailchimp.com/developer/reference/

payload

  • META: ссылка на объект класса MetaApp
  • method: метод запроса (get, post и т.д.)
  • access_token: токен доступа к API
  • api_endpoint: url enpoint’a (есть в данных при oAuth авторизации: acc[‘token_info’][‘extUserInfo’][‘metadata’][‘api_endpoint’], например: “https://us11.api.mailchimp.com
  • version: номер версии API (v3.0 и т.д.)
  • url_path: весь url между version и знаком “?”
  • method_params: параметры в url (после знака “?")
  • body: тело запроса для post

Примеры

Пример 1

Получить список доступных списков рассылки (списки аудиторий) https://mailchimp.com/developer/reference/lists/

import json

import requests

API_HOST = "http://0.0.0.0:9998"
access_token = 'API KEY'
# Например: api_endpoint = "https://us11.api.mailchimp.com"
api_endpoint = "API ENDPOINT"


res = requests.post(API_HOST + "/native_call", json.dumps({
    "engine": "mailchimp",
    "payload": {
        "access_token": access_token,
        "api_endpoint": api_endpoint,
        "version": "3.0",
        "url_path": "lists",
        "method": "get",
        "method_params": {
            "fields": "lists.name,lists.id"
        }
    }}))

print(res.json())

Пример 2

Получить список емейлов в из списка рассылок https://mailchimp.com/developer/reference/lists/list-members/

import json

import requests

API_HOST = "http://0.0.0.0:9998"
access_token = "API KEY"
# Например: api_endpoint = "https://us11.api.mailchimp.com"
api_endpoint = "API ENDPOINT"# 

# Идентификатор списка рассылки, например: "cbf04e0bbd"
list_id = "LIST_ID"

res = requests.post(API_HOST + "/native_call", json.dumps({
    "engine": "mailchimp",
    "payload": {
        "access_token": access_token,
        "api_endpoint": api_endpoint,
        "version": "3.0",
        "url_path": "lists/{list_id}/members".format(list_id=list_id),
        "method": "get",
        "method_params": {
            "fields": "members.email_address,total_items",
            "count": 10
        }
    }}))


print(res.json())