remp/crm-subscriptions-module


README

Translation status @ Weblate

本文档描述了该模块提供的API处理器,供其他人使用。它期望您的应用程序是基于我们提供的CRM 框架

安装模块

我们建议使用Composer进行安装和更新管理。

composer require remp/crm-subscriptions-module

启用模块

将已安装的扩展添加到您的app/config/config.neon文件中。

extensions:
	- Crm\SubscriptionsModule\DI\SubscriptionsModuleExtension

小部件

小部件是可重用的组件,可以在CRM的不同位置使用。模块可以为其他模块提供小部件占位符或小部件实现。

可用小部件

SubscribersWithMissingAddressWidget

Subscribers with missing address widget

小部件显示所有具有指定内容访问权限但未在系统中输入指定地址类型的订阅者列表。它放置在admin.payments.top占位符中,在支付列表上方。

默认情况下,小部件显示所有未输入print地址类型的print订阅者。您可以在config.local.neon中更改配置,并针对不同的地址类型检查不同的内容访问名称。

subscribersWithMissingAddressWidget:
    setup:
        - setContentAccessNames(print, print_friday)
        - setAddressTypes(print, print_other)

可用占位符

这些是支付模块提供的小部件占位符。您可以将自己的小部件注册到以下位置显示

  • admin.payments.top
  • payments.banktransfer.right
  • payments.admin.payment_source_listing
  • payments.admin.payment_item_listing
  • payments.frontend.payments_my.top
  • payments.arpu.bottom

API 文档

所有示例使用http://crm.press作为基础域名。请在执行示例之前将主机更改为您使用的域名。

所有示例使用XXX作为授权令牌的默认值,请将其替换为实际令牌。

  • API令牌。标准的API密钥,用于服务器之间的通信。它标识整个调用应用程序。它们可以在CRM管理后台(/api/api-tokens-admin/)中生成,并且每个API密钥都必须列入白名单才能访问特定的API端点。默认情况下,API密钥没有访问任何端点的权限。
  • 用户令牌。在登录过程中为每个用户生成,令牌在系统不同部分之间的通信中标识单个用户。令牌可以从以下位置读取
    • n_tokencookie中读取,如果用户通过CRM登录。
    • /api/v1/users/login端点的响应中读取 - 您可以将响应存储到自己的cookie/local storage/session中。

API响应可以包含以下HTTP状态码

如果可能,响应包括带有进一步解释错误消息的application/json编码的有效负载。

GET /api/v1/users/subscriptions

返回所有用户订阅以及它们开始/结束的时间和它们提供访问权限的内容类型。

头部
参数
示例
curl -X POST \
  http://crm.press/api/v1/users/subscriptions \
  -H 'Authorization: Bearer XXX' \
  -H 'Content-Type: application/x-www-form-urlencoded'

响应

{
    "status": "ok",
    "subscriptions": [ // Array; list of subscriptions
        {
            "start_at": "2019-01-15T00:00:00+01:00", // String; RFC3339 encoded start time
            "end_at": "2020-01-15T00:00:00+01:00", // String; RFC3339 encoded end time
            "code": "web_year", // String; subscription code (slug)
            "access": [ // Array: list of all types of content subscription includes
                "web" // String; name of the content type
            ],
            "name": "Web year subscription type",
            "user_label": "Web year",
        },
        {
            "start_at": "2019-03-05T00:00:00+01:00",
            "end_at": "2019-03-19T00:00:00+01:00",
            "code": "mobile-welcome-action",
            "access": [
                "web",
                "mobile"
            ],
            "name": "Web year subscription type with mobile access",
            "user_label": "Web & Mobile",
        }
    ]
}

POST /api/v1/subscriptions/create

为给定用户创建新的订阅并返回新实例。

头部
参数
示例
curl -X POST \
  http://crm.press/api/v1/subscriptions/create \
  -H 'Authorization: Bearer XXX' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'email=user%40user.sk&subscription_type_id=73&is_paid=true'

响应

{
    "status": "ok",
    "message": "Subscription created",
    "subscriptions": {
        "id": 628893, // string; ID of new subscription 
        "start_time": "2019-03-08T13:35:05+01:00", // String; RFC3339 formatted start time of subscription
        "end_time": "2019-05-09T13:35:05+02:00" // String; RFC3339 formatted end time of subscription
    }
}

POST /api/v1/subscriptions/update

根据发送的参数更新订阅。

头部
参数
示例
curl -X POST \
  http://crm.press/api/v1/subscriptions/update \
  -H 'Authorization: Bearer XXX' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'id=12345&subscription_type_id=73&is_paid=true'

响应

{
    "status": "ok",
    "message": "Subscription updated",
    "subscriptions": {
        "id": 628893, // string; ID of subscription 
        "start_time": "2019-03-08T13:35:05+01:00", // String; RFC3339 formatted start time of subscription
        "end_time": "2019-05-09T13:35:05+02:00" // String; RFC3339 formatted end time of subscription
    }
}

组件

ActualSubscribersRegistrationSourceStatsWidget

管理仪表板统计图表小部件。

alt text

源代码

如何使用

ActualSubscribersStatWidget

管理仪表板统计小部件。

alt text

源代码

如何使用

ActualSubscriptionLabel

管理用户列表组件。

alt text

源代码

如何使用

ActualSubscriptionsStatWidget

管理仪表板实际订阅计数小部件。

源代码

ActualUserSubscriptions

管理用户详情统计小部件。

alt text

源代码

如何使用

EndingSubscriptionsWidget

管理即将结束的订阅列表小部件。

alt text

源代码

如何使用

MonthSubscriptionsSmallBarGraphWidget

管理用户头部图表小部件。

alt text

源代码

如何使用

MonthSubscriptionStatWidget

管理员仪表盘单状态小部件。

alt text

源代码

按月订阅统计小部件。

管理员仪表盘单状态小部件。

源代码

无打印地址的印刷订阅者小部件。

管理员支付列表页头小部件。

alt text

源代码

如何使用

在本期内结束的续订订阅小部件。

管理仪表板统计小部件。

alt text

源代码

如何使用

订阅按钮。

管理员列表编辑订阅按钮小部件。

alt text

源代码

如何使用

订阅结束统计。

管理员结束的订阅类型和内容访问列表组件。

alt text

源代码

如何使用

在本期内结束的订阅小部件。

管理员仪表盘结束订阅统计小部件。

alt text

源代码

如何使用

今日订阅统计小部件。

管理员仪表盘单状态小部件。

alt text

源代码

如何使用

总订阅统计小部件。

管理员仪表盘单状态小部件。

alt text

源代码

如何使用

用户订阅。

管理员用户详情订阅列表小部件。

alt text

源代码

如何使用