# Messaging & Notifications

Core email and notification system for user registration, password resets, team invitations, and system notifications. Required for basic platform operations.

## Overview

| Aspect | Detail |
|--------|--------|
| Code | `messaging` |
| Classification | Core |
| Dependencies | None |
| Status | Active |

## Features

- `customer_messaging` — Customer-facing email communications
- `internal_messages` — Internal messaging system
- `notification_center` — Admin notification center
- `message_attachments` — File attachments for messages
- `admin_notifications` — System notifications for admins

## Permissions

| Permission | Description |
|------------|-------------|
| `messaging.view_messages` | View messages |
| `messaging.send_messages` | Send messages |
| `messaging.manage_templates` | Manage email templates |

## Data Model

See [Data Model](data-model.md) for full entity relationships and schema.

- **EmailTemplate** — Multi-language email templates with Jinja2 variables
- **StoreEmailTemplate** — Per-store template overrides
- **EmailLog** — Email sending history and delivery tracking
- **StoreEmailSettings** — Per-store email provider configuration
- **AdminNotification** — System alerts and admin notifications
- **Conversation** — Threaded conversations with polymorphic participants
- **ConversationParticipant** — Participant links (admin, store, customer)
- **Message** — Individual messages with soft delete
- **MessageAttachment** — File attachments for messages

## API Endpoints

| Method | Path | Description |
|--------|------|-------------|
| `*` | `/api/v1/admin/messages/*` | Message management |
| `*` | `/api/v1/admin/notifications/*` | Notification management |
| `*` | `/api/v1/admin/email-templates/*` | Email template CRUD |

## Configuration

Email provider settings are configured at the store level via the settings UI.

## Additional Documentation

- [Data Model](data-model.md) — Entity relationships and database schema
- [Architecture](architecture.md) — Messaging system architecture
- [Notifications](notifications.md) — Admin notification system
- [Email System](email-system.md) — Email delivery system overview
- [Email Settings](email-settings.md) — Provider configuration guide
- [Email Settings Implementation](email-settings-impl.md) — Email settings technical details
