Skip to content

Latest commit

 

History

History
781 lines (549 loc) · 41.1 KB

README.md

File metadata and controls

781 lines (549 loc) · 41.1 KB

Subscribers

(subscribers)

Overview

Available Operations

get

Get subscriber by your internal id used to identify the subscriber

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();



$response = $sdk->subscribers->get(
    subscriberId: '<id>',
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersControllerGetSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

patch

Patch subscriber by your internal id used to identify the subscriber

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$patchSubscriberRequestDto = new Components\PatchSubscriberRequestDto();

$response = $sdk->subscribers->patch(
    subscriberId: '<id>',
    patchSubscriberRequestDto: $patchSubscriberRequestDto,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
patchSubscriberRequestDto Components\PatchSubscriberRequestDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersControllerPatchSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

delete

Deletes a subscriber entity from the Novu platform

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();



$response = $sdk->subscribers->delete(
    subscriberId: '<id>',
    idempotencyKey: '<value>'

);

if ($response->removeSubscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersControllerRemoveSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

search

Search for subscribers

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Operations;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$request = new Operations\SubscribersControllerSearchSubscribersRequest();

$response = $sdk->subscribers->search(
    request: $request
);

if ($response->listSubscribersResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\SubscribersControllerSearchSubscribersRequest ✔️ The request object to use for the request.

Response

?Operations\SubscribersControllerSearchSubscribersResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

updatePreferences

Update subscriber global or workflow specific preferences

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$patchSubscriberPreferencesDto = new Components\PatchSubscriberPreferencesDto(
    channels: new Components\PatchPreferenceChannelsDto(),
);

$response = $sdk->subscribers->updatePreferences(
    subscriberId: '<id>',
    patchSubscriberPreferencesDto: $patchSubscriberPreferencesDto,
    idempotencyKey: '<value>'

);

if ($response->getSubscriberPreferencesDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
patchSubscriberPreferencesDto Components\PatchSubscriberPreferencesDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersControllerUpdateSubscriberPreferencesResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

createBulk

  Using this endpoint you can create multiple subscribers at once, to avoid multiple calls to the API.
  The bulk API is limited to 500 subscribers per request.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$bulkSubscriberCreateDto = new Components\BulkSubscriberCreateDto(
    subscribers: [
        new Components\CreateSubscriberRequestDto(
            subscriberId: '<id>',
        ),
    ],
);

$response = $sdk->subscribers->createBulk(
    bulkSubscriberCreateDto: $bulkSubscriberCreateDto,
    idempotencyKey: '<value>'

);

if ($response->bulkCreateSubscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
bulkSubscriberCreateDto Components\BulkSubscriberCreateDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerBulkCreateSubscribersResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

create

Creates a subscriber entity, in the Novu platform. The subscriber will be later used to receive notifications, and access notification feeds. Communication credentials such as email, phone number, and 3 rd party credentials i.e slack tokens could be later associated to this entity.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$createSubscriberRequestDto = new Components\CreateSubscriberRequestDto(
    subscriberId: '<id>',
);

$response = $sdk->subscribers->create(
    createSubscriberRequestDto: $createSubscriberRequestDto,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
createSubscriberRequestDto Components\CreateSubscriberRequestDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerCreateSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

getById

Get subscriber by your internal id used to identify the subscriber

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();



$response = $sdk->subscribers->getById(
    subscriberId: '<id>',
    includeTopics: false,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
includeTopics ?bool Includes the topics associated with the subscriber
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerGetSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

list

Returns a list of subscribers, could paginated using the page and limit query parameter

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();



$responses = $sdk->subscribers->list(
    page: 7685.78,
    limit: 10,
    idempotencyKey: '<value>'

);


foreach ($responses as $response) {
    if ($response->statusCode === 200) {
        // handle response
    }
}

Parameters

Parameter Type Required Description
page ?float N/A
limit ?float N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerListSubscribersResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

deleteLegacy

Deletes a subscriber entity from the Novu platform

⚠️ DEPRECATED: This will be removed in a future release, please migrate away from it as soon as possible.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();



$response = $sdk->subscribers->deleteLegacy(
    subscriberId: '<id>',
    idempotencyKey: '<value>'

);

if ($response->deleteSubscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerRemoveSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

update

Used to update the subscriber entity with new information

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$updateSubscriberRequestDto = new Components\UpdateSubscriberRequestDto(
    email: '[email protected]',
    firstName: 'John',
    lastName: 'Doe',
    phone: '+1234567890',
    avatar: 'https://example.com/avatar.jpg',
    locale: 'en-US',
    data: [
        'preferences' => [
            'notifications' => true,
            'theme' => 'dark',
        ],
        'tags' => [
            'premium',
            'newsletter',
        ],
    ],
);

$response = $sdk->subscribers->update(
    subscriberId: '<id>',
    updateSubscriberRequestDto: $updateSubscriberRequestDto,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
updateSubscriberRequestDto Components\UpdateSubscriberRequestDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerUpdateSubscriberResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

updateCredentials

Subscriber credentials associated to the delivery methods such as slack and push tokens.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$updateSubscriberChannelRequestDto = new Components\UpdateSubscriberChannelRequestDto(
    providerId: Components\UpdateSubscriberChannelRequestDtoProviderId::PushWebhook,
    credentials: new Components\ChannelCredentials(
        webhookUrl: 'https://example.com/webhook',
        channel: 'general',
        deviceTokens: [
            'token1',
            'token2',
            'token3',
        ],
        alertUid: '12345-abcde',
        title: 'Critical Alert',
        imageUrl: 'https://example.com/image.png',
        state: 'resolved',
        externalUrl: 'https://example.com/details',
    ),
);

$response = $sdk->subscribers->updateCredentials(
    subscriberId: '<id>',
    updateSubscriberChannelRequestDto: $updateSubscriberChannelRequestDto,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
updateSubscriberChannelRequestDto Components\UpdateSubscriberChannelRequestDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerUpdateSubscriberChannelResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*

updateOnlineStatus

Used to update the subscriber isOnline flag.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        '<YOUR_API_KEY_HERE>'
    )
    ->build();

$updateSubscriberOnlineFlagRequestDto = new Components\UpdateSubscriberOnlineFlagRequestDto(
    isOnline: false,
);

$response = $sdk->subscribers->updateOnlineStatus(
    subscriberId: '<id>',
    updateSubscriberOnlineFlagRequestDto: $updateSubscriberOnlineFlagRequestDto,
    idempotencyKey: '<value>'

);

if ($response->subscriberResponseDto !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
subscriberId string ✔️ N/A
updateSubscriberOnlineFlagRequestDto Components\UpdateSubscriberOnlineFlagRequestDto ✔️ N/A
idempotencyKey ?string A header for idempotency purposes

Response

?Operations\SubscribersV1ControllerUpdateSubscriberOnlineFlagResponse

Errors

Error Type Status Code Content Type
Errors\ErrorDto 414 application/json
Errors\ErrorDto 400, 401, 403, 404, 405, 409, 413, 415 application/json
Errors\ValidationErrorDto 422 application/json
Errors\ErrorDto 500 application/json
Errors\APIException 4XX, 5XX */*