Späť na blog

Ako odoslať prvý e-mail cez REST API a Python

M. Pecho
M. Pecho

Ak preferujete priamu automatizáciu a integráciu doMailu do vlastnej aplikácie, naša platforma poskytuje plnohodnotné REST API rozhranie. Každá aktívna inštancia obsahuje vlastný dedikovaný REST Endpoint, interaktívnu Swagger UI dokumentáciu a podporuje pokročilé odosielanie transakčných správ.

doMail REST API a Python integrácia

1. Kde nájdete svoje API prístupové údaje?

Odosielanie cez REST API vyžaduje registráciu a vlastnú inštanciu doMail. Po prihlásení do klientskej zóny v spodnej časti v bloku WEB SERVICES & AUTOMATION (WS) nájdete všetky potrebné adresy a prístupové kľúče:

Parameter Hodnota / Formát
REST Endpoint URL https://{tenantId}.cloud.domail.io/ws/domail-input-rest
Swagger UI URL https://{tenantId}.cloud.domail.io/ws/swagger-ui.html
Prihlasovacie meno ws
Heslo Zobrazíte kliknutím na ikonu oka v sekcii WS

2. Swagger UI a interaktívna dokumentácia

Po kliknutí na odkaz REST OpenAPI vo vašom účte sa zobrazí systémové okno pre autentifikáciu. Zadajte meno ws a vaše vygenerované WS heslo.

Swagger

Získate tak prístup k interaktívnej dokumentácii Swagger UI. Môžete si tu pohodlne prehliadať JSON schémy pre odosielanie e-mailov aj overovanie stavu doručenia v reálnom čase.

3. Video návod: Integrácia v praxi

Pozrite si krátku názornú ukážku nastavenia prístupov a spustenia Python skriptu v editore Visual Studio Code:

4. Odoslanie e-mailu cez Python skript

Pre ukážku použijeme koncový bod /email/sendAdvanced. Tento endpoint umožňuje odoslať e-mail s kompletným HTML telom a pridať vlastnú kategorizáciu pre štatistiky.

Požiadavky:

  • Nainštalovaný Python 3.x.
  • Knižnica requests (inštalácia príkazom: pip install requests).

Vytvorte si súbor send_email.py a vložte doň nasledujúci kód:

# send_email.py — Odoslanie transakčného e-mailu cez doMail REST API
import requests
from requests.auth import HTTPBasicAuth

# 1. Konfigurácia prístupu
TENANT_ID = "dominanz"          # ⚠️ NAHRAĎTE: Vaše tenantId
API_USER = "ws"                 # Štandardné meno z WS sekcie
API_PASSWORD = "VASE_WS_HESLO" # ⚠️ NAHRAĎTE: Vygenerované WS heslo

# REST Endpoint URL
URL = f"https://{TENANT_ID}.cloud.domail.io/ws/domail-input-rest/email/sendAdvanced"

# 2. Príprava dát e-mailovej komunikácie
payload = {
    # Predpripravený scenár "Default_REST" alebo vlastný typu SOAP/REST
    "scenario": "Default_REST",
    "sysId": "2842",                 # ID vášho odosielajúceho systému
    "extId": "201",                  # Unikátne ID transakcie pre párovanie
    "to": [
        {
            "addressName": "Martin",
            "emailAddress": "example@domail.io"  # ⚠️ NAHRAĎTE: E-mail príjemcu
        }
    ],
    "subject": "Testovacia správa cez Python REST API",
    "htmlBody": "<b>Dobrý deň,</b><p>toto je testovací HTML e-mail odoslaný cez Python skript.</p>",
    "testmode": False,
    
    # Voliteľná kategorizácia pre filtráciu a prehľadné štatistiky
    "statistics": {
        "group": "E-shop",
        "operation": "REST",
        "category": "Python",
        "tags": ["domail", "advanced"]
    },
    
    "advancedRequestData": {
        "duplicity": True
    }
}

# 3. Odoslanie POST požiadavky s HTTP Basic autentifikáciou
try:
    response = requests.post(
        URL, 
        json=payload, 
        auth=HTTPBasicAuth(API_USER, API_PASSWORD)
    )
    response.raise_for_status()

    # Vypísanie úspešnej odozvy servera
    print(f"Response Code: {response.status_code}")
    print("Response Content:", response.json())

except requests.exceptions.HTTPError as e:
    print(f"An error occurred: {e}")
    if e.response is not None:
        print(e.response.json())

5. Spustenie skriptu a overenie doručenia

Skript spustíte vo vašom termináli príkazom:

python send_email.py

Ak sú prístupové údaje správne, v konzole sa zobrazí stavový kód 200 OK a server vráti JSON s vygenerovaným identifikátorom komunikácie:

Response Code: 200
Response Content: {'id': 106}

Po odoslaní sa prihláste do webového rozhrania doMail UI a v sekcii Komunikácie uvidíte svoj nový spracovaný e-mail.

Záver a dôležité poznámky k integrácii

REST API poskytuje maximálnu flexibilitu pri spájaní doMailu s vašimi internými systémami. Pri vývoji odporúčame myslieť na niekoľko kľúčových zásad:

  • Voliteľný objekt statistics: Hodnoty v sekcii statistics slúžia na kategorizáciu. Pomôžu vám v analytických grafoch doMailu presne filtrovať správy podľa typu operácie či upozornení.
  • Dávkové odosielanie: Ukážka zobrazuje odoslanie jednej správy, no v produkčnom nasadení môžete volania spúšťať v cykle pre ľubovoľné množstvo príjemcov.
  • SMS komunikácia: Odosielanie SMS správ cez REST API nie je v štandardnom testovacom režime povolené a sprístupňuje sa po dohode.