Layouts
Generate layout preview
Generate layout preview using the Novu REST API. Requires your environment secret key in the Authorization header.
POST
/
v2
/
layouts
/
{layoutId}
/
preview
PHP
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$layoutPreviewRequestDto = new Components\LayoutPreviewRequestDto(
previewPayload: new Components\LayoutPreviewPayloadDto(
subscriber: new Components\SubscriberResponseDtoOptional(
channels: [
new Components\ChannelSettingsDto(
providerId: Components\ChatOrPushProviderEnum::Mattermost,
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',
),
integrationId: '<id>',
),
],
),
),
);
$response = $sdk->layouts->generatePreview(
layoutId: '<id>',
layoutPreviewRequestDto: $layoutPreviewRequestDto
);
if ($response->generateLayoutPreviewResponseDto !== null) {
// handle response
}{
"previewPayloadExample": {
"subscriber": {
"_id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"avatar": "<string>",
"locale": "<string>",
"channels": [
{
"credentials": {
"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"
},
"_integrationId": "<string>",
"integrationIdentifier": "<string>"
}
],
"topics": [
"<string>"
],
"isOnline": true,
"lastOnlineAt": "<string>",
"__v": 123,
"data": {},
"timezone": "<string>"
}
},
"result": {
"type": "email",
"preview": {
"body": "<string>"
}
},
"schema": {}
}Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <novu_secret_key>".
Headers
A header for idempotency purposes
Path Parameters
Body
application/json
Layout preview generation details
Was this page helpful?
⌘I
PHP
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$layoutPreviewRequestDto = new Components\LayoutPreviewRequestDto(
previewPayload: new Components\LayoutPreviewPayloadDto(
subscriber: new Components\SubscriberResponseDtoOptional(
channels: [
new Components\ChannelSettingsDto(
providerId: Components\ChatOrPushProviderEnum::Mattermost,
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',
),
integrationId: '<id>',
),
],
),
),
);
$response = $sdk->layouts->generatePreview(
layoutId: '<id>',
layoutPreviewRequestDto: $layoutPreviewRequestDto
);
if ($response->generateLayoutPreviewResponseDto !== null) {
// handle response
}{
"previewPayloadExample": {
"subscriber": {
"_id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"avatar": "<string>",
"locale": "<string>",
"channels": [
{
"credentials": {
"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"
},
"_integrationId": "<string>",
"integrationIdentifier": "<string>"
}
],
"topics": [
"<string>"
],
"isOnline": true,
"lastOnlineAt": "<string>",
"__v": 123,
"data": {},
"timezone": "<string>"
}
},
"result": {
"type": "email",
"preview": {
"body": "<string>"
}
},
"schema": {}
}