14. Appendix
14.1 DTO Index
Library (Contracts): WhatsAppCloudApiOptions, WhatsAppTextMessageRequestDto,
WhatsAppTextMessageResponseDto, WhatsAppTemplateMessageRequestDto, WhatsAppTemplateMessageResponseDto,
WhatsAppTemplateComponentDto, WhatsAppTemplateComponentParameterDto, WhatsAppWebhookMessageDto,
WhatsAppWebhookStatusDto, WhatsAppWebhookParseResult, WhatsAppMediaMetaDto.
Library (Abstractions): WhatsAppSignatureValidationResult (readonly struct).
ERP — Inbox: WhatsAppConversationDto, WhatsAppConversationDetailsDto, WhatsAppConversationFilterDto,
WhatsAppMessageDto, WhatsAppMessageDetailsDto (defined, not yet wired to a controller action),
WhatsAppUnreadCountDto, WhatsAppInboxSummaryDto, WhatsAppDashboardSummaryDto, WhatsAppSendReplyDto,
WhatsAppSendTemplateReplyDto, WhatsAppAssignConversationDto, WhatsAppTransferConversationDto,
WhatsAppCloseConversationDto, WhatsAppMediaInfoDto, WhatsAppConversationFavoriteDto,
WhatsAppConversationReadStateDto, WhatsAppCustomerProfileDto, WhatsAppConversationExportDto (+
WhatsAppConversationExportMessageDto, WhatsAppConversationExportNoteDto),
WhatsAppConversationViewListDto (defined, not yet wired to a controller action).
ERP — Notes / Tags / Saved Replies / Timeline: WhatsAppConversationNoteDto,
WhatsAppConversationNoteEditDto, WhatsAppConversationTagDto, WhatsAppConversationTagEditDto,
WhatsAppAssignTagDto, WhatsAppSavedReplyDto, WhatsAppSavedReplyEditDto, WhatsAppSavedReplyDetailsDto,
WhatsAppConversationEventDto.
ERP — SignalR event payloads: WhatsAppAgentPresenceEvent, WhatsAppTypingEvent,
WhatsAppConversationAssignedEvent, WhatsAppConversationStatusEvent, WhatsAppUnreadCountEvent, plus two
reserved-but-unused DTOs: WhatsAppNewMessageEvent, WhatsAppMessageStatusEvent.
ERP — Communication module: SendEmailRequest, SendWhatsAppRequest, SendSmsRequest,
SendPushRequest, SendNotificationRequest, SendDocumentRequest, CommunicationRecipient,
CommunicationAttachment, CommunicationPreviewResult, CommunicationValidationResult,
CommunicationProviderInfo, TestEmailRequest, TestWhatsAppRequest.
ERP — Communication diagnostics: CommunicationHealthReport, ComponentHealthStatus,
SmokeTestRequest, SmokeTestReport, SmokeTestStep, ProviderResolutionDiagnostics,
PrintPreviewValidationRequest, PrintPreviewValidationReport.
ERP — WhatsAppController test DTOs: WhatsAppActivationTestRequest, WhatsAppOtpTestRequest.
14.2 Enum Index
WhatsAppConversationStatus: Open=1, Pending=2, Closed=3, Archived=4
WhatsAppConversationPriority: Low=1, Normal=2, High=3, Urgent=4
WhatsAppMessageDirection: Inbound=1, Outbound=2, System=3
WhatsAppMessageStatus: Received=1, Queued=2, Sent=3, Delivered=4, Read=5, Failed=6, Ignored=7
WhatsAppMessageType: Text=1, Image=2, Document=3, Audio=4, Video=5, Sticker=6, Location=7, Contact=8, Button=9, Interactive=10, Template=11, Unknown=99
WhatsAppConversationEventType: ConversationCreated=1, InboundMessage=2, OutboundMessage=3, Assigned=4, Transferred=5, Closed=6, Reopened=7, Archived=8, Unarchived=9, Pinned=10, Unpinned=11, TagAdded=12, TagRemoved=13, NoteAdded=14, NoteUpdated=15, AgentJoined=16, AgentLeft=17, MessageDelivered=18, MessageRead=19
WhatsAppTemplateLanguageStrategy (Communication module): ByRecipientLanguage=1, DefaultLanguage=2
CommunicationChannel (Communication module — distinct from the Notification Framework's own channel
enum, see the note in §6.8):
Email=1, WhatsApp=2, Sms=3, Push=4, InApp=5
14.3 Configuration Index
See §4 Configuration for the full table. Quick reference:
- Platform-wide:
WhatsAppCloudApi:{VerifyToken, AppSecret, SignatureValidationEnabled, LogRawPayload, AccessToken, PhoneNumberId, BusinessAccountId, GraphApiVersion, BaseUrl} - Tenant-scoped:
WhatsAppOperationalSettings(17 properties — see §4.3) - Secrets (5 entries):
WhatsAppCloudApi__{VerifyToken, AppSecret, AccessToken, PhoneNumberId, BusinessAccountId}
14.4 Controller Index
See §6 API Reference for the full 9-controller, 74-endpoint index.
14.5 Runtime Call Graph
See §2.5 Dependency Graph and §5 Runtime Flows for the complete set of Mermaid diagrams.
14.6 Glossary
| Term | Meaning |
|---|---|
| Meta Graph API | Meta's HTTP API family, of which the WhatsApp Cloud API is one product |
wa_id | A WhatsApp user's phone-number-based identifier, in 966XXXXXXXXX E.164-without-plus form |
| Template message | A pre-approved message format registered with Meta, required for sends outside the 24-hour customer-service window |
| 24-hour customer-service window | Meta's rule permitting free-text replies only within 24 hours of the customer's last inbound message; template messages are exempt |
X-Hub-Signature-256 | The HMAC-SHA256 header Meta attaches to every webhook POST, used to verify the request genuinely originated from Meta |
| Integration Library | This platform's term for a narrow, stateless provider-integration package — distinct from a certified Golden Reference Framework (see §1.4) |
| Host Adapter | Per the platform's Adapter Standard, a thin bridge living in the ERP (the "Host") between a generic framework contract and a specific provider — e.g. WhatsAppChannelProviderAdapter/MetaWhatsAppProvider bridging the Notification Framework to IWhatsAppService |
