Skip to content

DNext Communication Management SDK

Angular library for Communication Management API integration (v4.0.0).

Installation

npm install @dnext-angular/dcomms

Services

CommunicationMessageService

Handles CRUD operations for communication messages.

// Create a new communication message
createCommunicationMessage(message: CommunicationMessageCreate): Observable<CommunicationMessage>

// Delete a communication message
deleteCommunicationMessage(id: string): Observable<any>

// List communication messages with optional filtering
listCommunicationMessage(fields?: string, offset?: number, limit?: number): Observable<CommunicationMessage[]>

// Update a communication message
patchCommunicationMessage(id: string, update: CommunicationMessageUpdate): Observable<CommunicationMessage>

// Retrieve a specific communication message
retrieveCommunicationMessage(id: string, fields?: string): Observable<CommunicationMessage>

CommunicationMessageSpecificationService

Manages communication message specifications.

// Create a new specification
createCommunicationMessageSpecification(spec: CommunicationMessageSpecificationCreate): Observable<CommunicationMessageSpecification>

// Delete a specification
deleteCommunicationMessageSpecification(id: string): Observable<any>

// List specifications
listCommunicationMessageSpecification(fields?: string, offset?: number, limit?: number): Observable<CommunicationMessageSpecification[]>

// Update a specification
patchCommunicationMessageSpecification(id: string, update: CommunicationMessageSpecificationUpdate): Observable<CommunicationMessageSpecification>

// Retrieve a specific specification
retrieveCommunicationMessageSpecification(id: string, fields?: string): Observable<CommunicationMessageSpecification>

CommunicationMessageTemplateService

Handles communication message templates.

// Create a new template
createCommunicationMessageTemplate(template: CommunicationMessageTemplateCreate): Observable<CommunicationMessageTemplate>

// Delete a template
deleteCommunicationMessageTemplate(id: string): Observable<any>

// List templates
listCommunicationMessageTemplate(fields?: string, offset?: number, limit?: number): Observable<CommunicationMessageTemplate[]>

// Update a template
patchCommunicationMessageTemplate(id: string, update: CommunicationMessageTemplateUpdate): Observable<CommunicationMessageTemplate>

// Retrieve a specific template
retrieveCommunicationMessageTemplate(id: string, fields?: string): Observable<CommunicationMessageTemplate>

Key Models

CommunicationMessage

Represents a communication message that can be sent through different channels.

interface CommunicationMessage {
    id?: string;
    content?: string;
    messageType?: string;
    priority?: string;
    subject?: string;
    receiver?: Receiver[];
    sender?: Sender;
    // ... other properties
}

CommunicationMessageSpecification

Defines the specification for communication messages.

interface CommunicationMessageSpecification {
    id?: string;
    name?: string;
    messageType?: string;
    messageTemplate?: CommunicationMessageTemplateRef;
    receiver?: Receiver[];
    sender?: Sender;
    // ... other properties
}

CommunicationMessageTemplate

Template for communication messages.

interface CommunicationMessageTemplate {
    id?: string;
    name?: string;
    templateEngine?: string;
    content?: string;
    category?: string;
    // ... other properties
}

Supporting Models

  • Receiver: Defines message recipients
  • Sender: Defines message sender
  • Attachment: Handles message attachments
  • Characteristic: Defines message characteristics
  • TimePeriod: Handles time-related properties
  • RelatedParty: References related entities

Usage Example

import { CommunicationMessageService } from '@dnext-angular/dcomms';

@Component({...})
export class MessageComponent {
  constructor(private messageService: CommunicationMessageService) {}

  sendMessage() {
    const message: CommunicationMessageCreate = {
      content: 'Hello World',
      messageType: 'EMAIL',
      receiver: [{
        email: '[email protected]',
        name: 'John Doe'
      }],
      sender: {
        email: '[email protected]',
        name: 'System'
      }
    };

    this.messageService.createCommunicationMessage(message)
      .subscribe(response => {
        console.log('Message sent:', response);
      });
  }
}

Dependencies

  • @angular/core: ^18.0.0
  • @angular/common: ^18.0.0
  • @dnext-angular/http
  • rxjs: ^7.0.0

License

DNext PiAGroup