Add getSubscribers documentation
[MAILPOET-4716]
This commit is contained in:
committed by
Rostislav Wolný
parent
083bad3051
commit
ae0d60df3a
@ -30,6 +30,7 @@ Class `\MailPoet\API\API` becomes available once MailPoet plugin is loaded by Wo
|
||||
- [Add Subscriber Field (addSubscriberField)](api_methods/AddSubscriberField.md)
|
||||
- [Get Lists (getLists)](api_methods/GetLists.md)
|
||||
- [Get Subscriber (getSubscriber)](api_methods/GetSubscriber.md)
|
||||
- [Get Subscribers (getSubscribers)](api_methods/GetSubscribers.md)
|
||||
- [Get Subscriber Fields (getSubscriberFields)](api_methods/GetSubscriberFields.md)
|
||||
- [Is Setup Complete (isSetupComplete)](api_methods/IsSetupComplete.md)
|
||||
- [Subscribe to List (subscribeToList)](api_methods/SubscribeToList.md)
|
||||
|
148
doc/api_methods/GetSubscribers.md
Normal file
148
doc/api_methods/GetSubscribers.md
Normal file
@ -0,0 +1,148 @@
|
||||
[back to list](../Readme.md)
|
||||
|
||||
# Get Subscribers
|
||||
|
||||
## `array getSubscribers(array $filter = [], int $limit = 50, int $offset = 0)`
|
||||
|
||||
This method returns a list of subscribers.
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Type | Default | Description |
|
||||
| ------------------ | ----- | ------- | --------------------------------------- |
|
||||
| $filter (optional) | array | empty | Filters to retrieve subscribers |
|
||||
| $limit (optional) | int | 50 | The number of results that are returned |
|
||||
| $offset (optional) | int | 0 | From where to start returning data |
|
||||
|
||||
### Filter
|
||||
|
||||
Filter argument supports following array keys.
|
||||
|
||||
| Key | Type | Description |
|
||||
| -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| status | string | Specific status of subscribers. One of values: `unconfirmed`, `subscribed`, `unsubscribed`, `bounced`, `inactive` |
|
||||
| list_id | int | List id or dynamic segment id |
|
||||
| min_updated_at | DateTime\int | DateTime object or timestamp of the minimal last update of subscribers |
|
||||
|
||||
## A subscriber data structure
|
||||
|
||||
### Subscriber
|
||||
|
||||
| Property | Type | Limits | Description |
|
||||
| ------------------------ | ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| id | string | 11 chars | Id of the subscriber |
|
||||
| wp_user_id | string\|null | 20 chars | Id of a WordPress user associated with the subscriber |
|
||||
| is_woocommerce_user | string | - | A flag telling whether the user is also a WooCommerce customer. Possible values are: `1`, `0` |
|
||||
| first_name | string | 255 chars | Fist name of the subscriber. |
|
||||
| last_name | string | 255 chars | Last name of the subscriber. |
|
||||
| email | string | 150 chars | Email address of the subscriber. |
|
||||
| status | string | - | Status of the subscriber. Possible values are: `unconfirmed`, `subscribed`, `unsubscribed`, `bounced`, `inactive` |
|
||||
| subscribed_ip | string\|null | 45 chars | An IP address used for subscription. |
|
||||
| confirmed_ip | string\|null | 45 chars | An IP address used for confirmation. |
|
||||
| confirmed_at | string\|null | - | UTC time of subscription confirmation in 'Y-m-d H:i:s' format |
|
||||
| created_at | string\|null | - | UTC time of creation in 'Y-m-d H:i:s' format |
|
||||
| updated_at | string | - | UTC time of last update in 'Y-m-d H:i:s' format |
|
||||
| deleted_at | string\|null | - | This property in not null in case that list is in trash and contains UTC time in 'Y-m-d H:i:s' format. |
|
||||
| unconfirmed_data | string\|null | 65K chars | May contain serialized subscriber data in case when there are pending changes waiting for a confirmation from a subscriber |
|
||||
| source | string\|null | - | Possible values: `form`,`imported`,`administrator`,`api`,`wordpress_user`,`woocommerce_user`,`woocommerce_checkout`,`unknown`) |
|
||||
| count_confirmations | string | 11 chars | Counter for confirmation emails |
|
||||
| subscriptions | array | - | List of subcriber subscriptions |
|
||||
| tags | array | - | List of subcriber tags |
|
||||
| cf\_{custom_field['id']} | string | 65K chars | A custom subscriber field value (see [Get Subscriber Fields](GetSubscriberFields.md) |
|
||||
|
||||
### Subscriber's subscription
|
||||
|
||||
| Property | Type | Limits | Description |
|
||||
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------ |
|
||||
| id | string | 11 chars | Id of relation |
|
||||
| subscriber_id | string | 11 chars | Id of subscriber |
|
||||
| segment_id | string | 11 chars | Id of a list |
|
||||
| status | string | - | Status of a subscription for the list. Possible values: `subscribed`, `unsubscribed` |
|
||||
| created_at | string | - | UTC time of creation in 'Y-m-d H:i:s' format |
|
||||
| updated_at | string | - | UTC time of last update in 'Y-m-d H:i:s' format |
|
||||
|
||||
### Subscriber's tag
|
||||
|
||||
| Property | Type | Limits | Description |
|
||||
| ------------- | ------ | -------- | ----------------------------------------------- |
|
||||
| id | string | 11 chars | Id of relation |
|
||||
| subscriber_id | string | 11 chars | Id of subscriber |
|
||||
| tag_id | string | 11 chars | Id of a list |
|
||||
| name | string | - | Name of a tag |
|
||||
| created_at | string | - | UTC time of creation in 'Y-m-d H:i:s' format |
|
||||
| updated_at | string | - | UTC time of last update in 'Y-m-d H:i:s' format |
|
||||
|
||||
### Response Example
|
||||
|
||||
```php
|
||||
<?php
|
||||
[
|
||||
'id' => '10',
|
||||
'wp_user_id' => '72',
|
||||
'is_woocommerce_user' => '1',
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Doe',
|
||||
'email' => 'email@example.com',
|
||||
'status' => 'subscribed',
|
||||
'subscribed_ip' => '127.0.0.1',
|
||||
'confirmed_ip' => NULL,
|
||||
'confirmed_at' => NULL,
|
||||
'created_at' => '2019-05-07 07:24:37',
|
||||
'updated_at' => '2019-05-14 08:43:08',
|
||||
'deleted_at' => NULL,
|
||||
'unconfirmed_data' => NULL,
|
||||
'source' => 'woocommerce_user',
|
||||
'count_confirmations' => '0',
|
||||
'subscriptions' => [
|
||||
0 => [
|
||||
'id' => '3',
|
||||
'subscriber_id' => '10',
|
||||
'segment_id' => '1',
|
||||
'status' => 'subscribed',
|
||||
'created_at' => '2019-05-07 07:24:37',
|
||||
'updated_at' => '2019-05-07 07:24:37',
|
||||
],
|
||||
1 => [
|
||||
'id' => '13',
|
||||
'subscriber_id' => '10',
|
||||
'segment_id' => '2',
|
||||
'status' => 'unsubscribed',
|
||||
'created_at' => '2019-05-14 08:43:08',
|
||||
'updated_at' => '2019-05-14 08:43:08',
|
||||
],
|
||||
],
|
||||
'tags' => [
|
||||
0 => [
|
||||
'id' => '2',
|
||||
'subscriber_id' => '10',
|
||||
'tag_id' => '1',
|
||||
'name' => 'Alpha',
|
||||
'created_at' => '2019-05-17 05:24:37',
|
||||
'updated_at' => '2019-05-17 05:24:37',
|
||||
],
|
||||
1 => [
|
||||
'id' => '4',
|
||||
'subscriber_id' => '10',
|
||||
'tag_id' => '5',
|
||||
'name' => 'Beta',
|
||||
'created_at' => '2020-03-07 15:21:37',
|
||||
'updated_at' => '2020-03-07 15:21:37',
|
||||
],
|
||||
],
|
||||
'cf_1' => 'US',
|
||||
'cf_2' => 'New York',
|
||||
];
|
||||
```
|
||||
|
||||
## Error handling
|
||||
|
||||
All expected errors from the API are exceptions of class `\MailPoet\API\MP\v1\APIException`.
|
||||
Code of the exception is populated to distinguish between different errors.
|
||||
|
||||
An exception of base class `\Exception` can be thrown when something unexpected happens.
|
||||
|
||||
Codes description:
|
||||
|
||||
| Code | Description |
|
||||
| ---- | -------------------------------------------- |
|
||||
| 4 | Asking for a subscriber that does not exist. |
|
Reference in New Issue
Block a user