Getting started with REST API

Mautic 提供了多个 REST API 端点,用于操作和检索 Mautic 中各种实体的信息。您可以在左侧的导航菜单中找到可用的端点。

Warning

默认情况下,Mautic 会禁用 REST API。Mautic 管理员可以在 Mautic UI 的 配置 > API 设置 下启用 API,或者直接在 config/local.php 中设置 'api_enabled' => 1。 在 Mautic 5 之前的版本中,此设置位于 app/config/local.php

Error handling

如果出现 OAuth 错误,您应该看到一个类似于以下 JSON 编码的数组:

{
   "error": "invalid_grant",
   "error_description": "The access token provided has expired."
}

如果发生系统错误,您应该看到一个类似于以下示例的 JSON 编码的数组:

{
   "error": {
     "message": "You do not have access to the requested area/action.",
     "code": 403
   }
}

Mautic version verification

如果您的 API 服务支持多个 Mautic 版本,并且这些版本具有不同的功能,则需要验证您正在使用的 Mautic 版本。从 Mautic 2.4.0 开始,版本号会出现在所有 API 响应头中,名称为 Mautic-Version

您可以使用 Mautic API 库检索 Mautic 版本:

// Make any API request:
$api = $this->getContext('contacts');
$response = $api->getList('', 0, 1);

// Get the version number from the response header:
$version = $api->getMauticVersion();

$version 的格式为语义版本号 [major].[minor].[patch],例如 2.4.0。 如果您在最新的 GitHub 版本上尝试,则版本将具有后缀 -dev,例如 2.5.1-dev

API endpoints

所有响应都采用 JSON 编码。

基本 API 端点是 https://mautic.example.com/api

Mautic API library

Mautic 有一个 Mautic API Library,您可以在您的 PHP 项目中使用 - 推荐。其他语言需要使用自定义工具或第三方库来处理 OAuth 或请求处理。

Install via Composer

要使用 Composer 安装,请运行 composer require mautic/api-library

Install manually

从 GitHub 下载 Mautic API library package,解压缩它,然后在您的项目中包含以下代码,如果需要,请更改路径:

require_once __DIR__ . '/lib/Mautic/MauticApi.php';

Note

有关使用该库的更多说明,请参阅 GitHub 存储库中的 README 文件,或查看本文档中的代码示例。

API rate limiter cache

Attention

速率限制器缓存在 Mautic 版本 7 及更高版本中不可用。

您可以在 local.php 文件中配置速率限制器缓存。默认配置使用文件系统,如下所示:

api_rate_limiter_cache => [
   'type'      => 'file_system',
],

您可以根据 :xref:DoctrineCacheBundle docs 文档中的描述配置任何类型的缓存,或者像下面这样配置一个 memcached 服务器:

'api_rate_limiter_cache' => [
   'memcached' => [
      'servers' =>
      [
         [
            'host' => 'localhost',
            'port' => 11211
         ]
      ]
   ]
],