Accessibility Tools

  • Content scaling 100%
  • Font size 100%
  • Line height 100%
  • Letter spacing 100%
  • Manifeste
  • Simplifier l'entreprise
  • Outils
  • Mieux travailler
  • Contact
Menu
  • Manifeste
  • Simplifier l'entreprise
  • Outils
  • Mieux travailler
  • Contact

Oui Outgoing

Non défini

5 minute de lecture
Multi-channel messaging API supporting Email, SMS, and Push n

Sur cette page

  • Overview
  • Authentication
  • POST /api/admin/login
  • Request Body
  • Response
  • GET /api/admin/me
  • Email Endpoints
  • POST /api/emails
  • Parameters
  • POST /api/emails/bulk
  • Request Body
  • Response
  • GET /api/emails
  • Parameters
  • GET /api/emails/{uuid}
  • Response
  • GET /api/emails/{uuid}/events
  • GET /api/carriers
  • SMS Endpoints
  • POST /api/sms
  • Parameters
  • POST /api/sms/bulk
  • Request Body
  • GET /api/sms
  • GET /api/sms/stats
  • GET /api/sms/templates
  • POST /api/sms/templates
  • POST /api/sms/templates/{id}/render
  • Push Notifications
  • POST /api/push
  • Parameters
  • POST /api/push/bulk
  • POST /api/push/topic
  • POST /api/push/devices
  • GET /api/push/devices
  • DELETE /api/push/devices
  • PUT /api/push/devices/{id}/topics
  • Domains & Addresses
  • POST /api/domains
  • Response
  • GET /api/domains
  • POST /api/domains/{id}/verify
  • Response
  • POST /api/domains/{domainId}/addresses
  • GET /api/addresses/{id}/limits
  • Response
  • Mailing Lists
  • GET /api/lists
  • POST /api/lists
  • GET /api/lists/{id}/subscribers
  • POST /api/lists/{id}/subscribers
  • POST /api/lists/{id}/subscribers/bulk
  • GET /api/import/brevo/test
  • GET /api/import/brevo/lists
  • POST /api/import/brevo/lists
  • POST /api/import/brevo/full
  • Statistics
  • GET /api/stats/overview
  • Response
  • GET /api/stats/daily
  • Parameters
  • Response
  • GET /api/stats/carriers
  • GET /api/stats/totals
  • Response
  • Queue Management
  • GET /api/queue/stats
  • Response
  • GET /api/queue/scheduled
  • GET /api/queue/failed
  • PUT /api/queue/{emailId}/reschedule
  • POST /api/queue/{queueId}/retry
  • DELETE /api/queue/{emailId}
  • Notification Channels
  • GET /api/notifications/channels/types
  • Response
  • POST /api/notifications/channels
  • POST /api/notifications/channels/{id}/test
  • POST /api/notifications/channels/{id}/toggle
  • Webhooks (Carrier Callbacks)
  • Error Handling

Autres documents

  • Oui Compose
  • Oui Device
  • Oui Humans
  • Oui Incoming
  • Oui Monitor
  • Work
  • Oui Engage
  • Oui Chat
  • Oui Answer
  • Oui Create
  • Gestion des cookies
Multi-channel messaging API supporting Email, SMS, and Push notifications with multiple carrier integrations.

Multi-channel messaging API supporting Email, SMS, and Push notifications with multiple carrier integrations.

Base URL: https://outgoing-api.yourdomain.com/api

Overview

Authentication

POST /api/admin/login

Request Body

{
  "email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
  "password": "your_password"
}

Response

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
    "name": "Admin User",
    "role": "admin"
  },
  "expires_in": 86400
}

GET /api/admin/me

Returns current admin user details.

Email Endpoints

POST /api/emails

Parameters

FieldTypeRequiredDescription
from_emailstringRequiredSender email address
to_emailstringRequiredRecipient email address
subjectstringRequiredEmail subject (max 500 chars)
htmlstringOptionalHTML content (required if no text)
textstringOptionalPlain text content (required if no html)
carrierstringOptionalses, brevo, sendgrid, smtp
ccstring|arrayOptionalCC recipients
bccstring|arrayOptionalBCC recipients
reply_tostringOptionalReply-to address
headersobjectOptionalCustom headers
metadataobjectOptionalCustom metadata

POST /api/emails/bulk

Max 100 emails per request.

Request Body

{
  "emails": [
    {
      "from_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
      "to_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
      "subject": "Newsletter",
      "html": "<p>Content</p>"
    },
    {
      "from_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
      "to_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
      "subject": "Newsletter",
      "html": "<p>Content</p>"
    }
  ],
  "carrier": "ses"
}

Response

{
  "total": 100,
  "success_count": 98,
  "failure_count": 2,
  "results": [...]
}

GET /api/emails

Parameters

ParameterTypeDefaultDescription
statusstring-queued, sending, sent, delivered, bounced, failed
limitinteger50Results per page
offsetinteger0Pagination offset
domain_idinteger-Filter by domain
from_datedate-Filter by date (ISO8601)
to_datedate-Filter by date (ISO8601)

GET /api/emails/{uuid}

Response

{
  "data": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "status": "delivered",
    "to_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
    "from_email": "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.",
    "subject": "Welcome",
    "carrier": "brevo",
    "sent_at": "2025-01-22T10:00:00Z",
    "opened_at": "2025-01-22T10:15:00Z"
  }
}

GET /api/emails/{uuid}/events

Returns tracking events (sent, delivered, opened, clicked, bounced).

GET /api/carriers

Returns configured carriers and their status.

SMS Endpoints

POST /api/sms

Parameters

FieldTypeRequiredDescription
tostringRequiredPhone number (E.164 format)
messagestringRequiredMessage content (max 1600 chars)
carrierstringOptionaltwilio or topmessage
template_idintegerOptionalUse template
variablesobjectOptionalTemplate variables

POST /api/sms/bulk

Max 100 recipients per request.

Request Body

{
  "recipients": ["+33612345678", "+33687654321"],
  "message": "Flash sale! 20% off today only.",
  "carrier": "topmessage"
}

GET /api/sms

Query parameters: status, limit, offset, from_date, to_date

GET /api/sms/stats

Returns SMS delivery statistics.

GET /api/sms/templates

Returns all SMS templates.

POST /api/sms/templates

POST /api/sms/templates/{id}/render

Push Notifications

POST /api/push

Must have at least title, body, OR data.

Parameters

FieldTypeRequiredDescription
device_tokenstringRequiredDevice FCM/APNs token
titlestringOptionalNotification title
bodystringOptionalNotification body
dataobjectOptionalCustom data payload
carrierstringOptionalfcm or onesignal

POST /api/push/bulk

Max 500 device tokens per request.

POST /api/push/topic

POST /api/push/devices

GET /api/push/devices

Query parameters: limit, offset, status

DELETE /api/push/devices

PUT /api/push/devices/{id}/topics

Domains & Addresses

POST /api/domains

Response

{
  "data": {
    "id": 1,
    "domain": "mail.example.com",
    "status": "pending"
  },
  "verification_instructions": {
    "dns_records": [
      {"type": "TXT", "name": "_dmarc", "value": "v=DMARC1; p=none"},
      {"type": "TXT", "name": "mail._domainkey", "value": "..."}
    ]
  }
}

GET /api/domains

Query parameters: status (pending, verified, failed, suspended)

POST /api/domains/{id}/verify

Checks DNS records and updates domain status.

Response

{
  "verified": true,
  "dns_records_status": {
    "dmarc": "valid",
    "dkim": "valid",
    "spf": "valid"
  }
}

POST /api/domains/{domainId}/addresses

GET /api/addresses/{id}/limits

Response

{
  "data": {
    "daily_used": 150,
    "daily_limit": 1000,
    "monthly_used": 4500,
    "monthly_limit": 30000,
    "allowed": true
  }
}

Mailing Lists

GET /api/lists

Query parameters: status, folder_id, search

POST /api/lists

GET /api/lists/{id}/subscribers

Query parameters: limit, offset, status

POST /api/lists/{id}/subscribers

POST /api/lists/{id}/subscribers/bulk

GET /api/import/brevo/test

Tests the Brevo API connection.

GET /api/import/brevo/lists

Returns available lists from Brevo account.

POST /api/import/brevo/lists

POST /api/import/brevo/full

Imports all lists and contacts from Brevo.

Statistics

GET /api/stats/overview

Response

{
  "data": {
    "total_sent": 15000,
    "total_opened": 8500,
    "total_clicked": 2100,
    "total_bounced": 150
  }
}

GET /api/stats/daily

Parameters

ParameterTypeDefaultDescription
daysinteger30Number of days (max 90)
domain_idinteger-Filter by domain

Response

{
  "data": [
    {
      "date": "2025-01-22",
      "sent": 500,
      "delivered": 495,
      "opened": 280,
      "clicked": 75,
      "bounced": 5
    }
  ]
}

GET /api/stats/carriers

Statistics broken down by carrier.

GET /api/stats/totals

Response

{
  "data": {
    "total_emails": 50000,
    "total_sms": 5000,
    "total_push": 25000,
    "active_domains": 5
  }
}

Queue Management

GET /api/queue/stats

Response

{
  "data": {
    "queued": 150,
    "processing": 10,
    "failed": 5,
    "total": 165
  }
}

GET /api/queue/scheduled

Returns emails scheduled for future delivery.

GET /api/queue/failed

Query parameters: limit (default 50, max 100)

PUT /api/queue/{emailId}/reschedule

scheduled_at must be in the future.

POST /api/queue/{queueId}/retry

Retries a failed queue job.

DELETE /api/queue/{emailId}

Cancels a scheduled email before it's sent.

Notification Channels

Configure external notification channels (Slack, Google Chat) for delivery events.

GET /api/notifications/channels/types

Response

{
  "channel_types": ["google_chat", "slack"],
  "available_events": [
    "email.sent", "email.delivered", "email.bounced",
    "sms.sent", "sms.delivered", "sms.failed",
    "push.sent", "push.delivered"
  ]
}

POST /api/notifications/channels

POST /api/notifications/channels/{id}/test

Sends a test message to the notification channel.

POST /api/notifications/channels/{id}/toggle

Enables or disables the notification channel.

Webhooks (Carrier Callbacks)

These endpoints receive delivery status updates from carriers. No authentication required.

Error Handling

CodeMeaning
200OK - Successful GET/PUT request
201Created - Successful POST request
400Bad Request - Invalid input
401Unauthorized - Missing/invalid API key
403Forbidden - Insufficient permissions
404Not Found
409Conflict - Resource already exists
422Validation Error
429Rate Limit Exceeded
500Server Error
{
  "success": true,
  "data": { },
  "message": "Optional success message"
}

Et vous ?

Mieux travailler Discutons de vos besoins
  • Mentions légales
  • Confidentialité des données
  • Cgv

Oui © 2026

Merci de soutenir le projet


Ce projet ne peut pas exister sans votre soutien
Télécharger Soutenir