Tartalomra ugrás

Seeme SMS API Szolgáltatás (Seeme SMS API Service)

  • Kategória: DO Tech / Base

  • Technikai név: odootech_sms_seeme

  • Licenc: LGPL-3

  • Odoo verziók: 16.0, 17.0, 18.0, 19.0

  • Ár: Ingyenes / Közösségi (Community)

🎯 A Probléma

Az SMS-küldés az Odoo-ból gyakori követelmény – megrendelés-visszaigazolásokhoz, szállítási értesítésekhez, OTP-kódokhoz vagy marketingkampányokhoz. Azonban egy helyi SMS-átjáró, mint például a Seeme.hu integrálása általában a következőket jelenti:

  • Egyedi API-kód írása minden egyes projekthez.

  • Nincs egyenlegkövetés – csak akkor szerzel tudomást az egyenleg elfogyásáról, amikor az üzenetek küldése már meghiúsul.

  • Az API-válaszok nincsenek gyorsítótárazva (cache) – minden oldalbetöltés leterheli az átjárót.

  • Hiányzik egy szabványos interfész, amelyhez más modulok csatlakozhatnának.

✨ A Megoldás

A Seeme SMS API Service egy teljes körű, éles használatra kész integráció az Odoo és a Seeme.hu SMS Gateway között. Közvetlenül a DO Tech API Service keretrendszerhez csatlakozik, és a következőket nyújtja:

  • Egységes előfizetői (subscriber) konfiguráció az API-kulcsokhoz és a feladói beállításokhoz.

  • Valós idejű egyenleg- és havi költéskövetés közvetlenül az Odoo-n belül.

  • Adatbázis-alapú gyorsítótár (cache) az egyenlegadatokhoz a felesleges API-hívások elkerülése érdekében.

  • Visszahívási (callback) támogatás a kézbesítési állapotok (DLR) nyomon követéséhez.

  • Teljes hibakód-leképezés a Seeme átjáróból az emberileg olvasható állapotokig.

A telepítést követően bármely más Odoo-modul küldhet SMS-t a Seeme-en keresztül egyetlen, dokumentált metódus használatával – nem kell többé feltalálni a spanyolviaszt.

🚀 Főbb jellemzők

🔌 Zökkenőmentes előfizetői integráció Közvetlenül a szabványos API Subscriber űrlaphoz adja hozzá a Seeme API Key és a Seeme Show Balance mezőket egy dedikált „Seeme SMS Settings” csoporton belül. A csoport csak akkor jelenik meg, ha az előfizető szolgáltatási kódja tartalmazza a seeme szót – így az űrlap más szolgáltatók számára tiszta marad.

📤 SMS-küldés teljes körű hibakezeléssel A _seeme_send_sms metódus kezeli a következőket:

  • API-kulcs alapú hitelesítés

  • Nemzetközi telefonszám-formázás (automatikusan eltávolítja a kezdő + jelet)

  • Feladói szám konfigurációja

  • Referencia azonosító (Ref ID) a nyomon követéshez

  • Callback URL regisztráció

  • JSON-válasz feldolgozása

  • 18 leképezett hibakód (hibás számformátum, elégtelen egyenleg, nem regisztrált feladó, szerverhiba stb.)

💰 Valós idejű egyenlegmegjelenítés A _seeme_get_balance metódus lekérdezi a Seeme átjárót, és a következőket adja vissza:

  • A fiók pénzneme

  • A jelenlegi egyenleg

  • A havi költés Tökéletes megoldás élő egyenlegjelző megjelenítésére az előfizetői űrlapon.

⚡ Adatbázis-alapú egyenleg gyorsítótár (Cache) Az odootech.seeme.balance modell gyorsítótárazza az egyenlegadatokat:

  • Egyedi feltétel (unique constraint) a (key, date) pároson – naponta nincsenek duplikált bejegyzések.

  • ORM-szintű gyorsítótárazás a @tools.ormcache segítségével a rendkívül gyors lekérdezésekhez.

  • Automatikus gyorsítótár-érvénytelenítés create és unlink esetén.

  • Módosíthatatlan rekordok – a write metódus szándékosan UserError("No no no!") hibát dob a gyorsítótárazott adatok véletlen módosításának megakadályozására.

🛡️ Biztonságos, kiszámítható működés

  • flush_model a nyers SQL lekérdezések előtt az adatkonzisztencia biztosítása érdekében.

  • commit() a gyorsítótár-módosítások után az adatok tartós elmentésének garantálásához.

  • sudo() használata a gyorsítótár-műveletekhez – nincsenek jogosultsági problémák.

  • Biztonságos tartalék (None, 0, 0) értékre, ha az API-hívás meghiúsulna.

📦 Mit tartalmaz a modul?

KomponensLeírás
odootech.seeme.balance modellAdatbázis-alapú egyenleg gyorsítótár
Előfizetői (Subscriber) bővítményHozzáadja a Seeme API-kulcsot és az egyenleg kapcsolót
_seeme_send_sms()SMS-küldés teljes körű hibaleképezéssel
_seeme_get_balance()Élő egyenleg és havi költés lekérdezése
_seeme_do_com()Általános HTTP kommunikációs réteg
Egyenleg lista nézetA gyorsítótárazott egyenlegrekordok böngészése
Egyenleg akció (Action)Az egyenleglista megnyitása a menüből
Előfizetői űrlap javításSeeme beállítások csoport az API subscriber űrlapon
Főmenü„Seeme SMS” a DO Tech menü alatt

🧪 Hogyan működik? – Lépésről lépésre

1. Állítsa be az Előfizetőt (Subscriber) Lépjen az API Subscriber űrlapra, engedélyezze a seeme szolgáltatáskódot, és töltse ki a következőket:

  • Seeme API Key – az Ön átjáró hitelesítő adatai

  • Seeme Show Balance – az élő egyenlegmegjelenítés bekapcsolása

2. Küldjön SMS-t az Odoo bármely pontjáról

Python

subscriber._seeme_send_sms(
    api_key="AZ_ÖN_KULCSA",
    web_url="https://az-on-odoo-rendszere.hu",
    access_token="abc123",
    ref_id="ORDER-2024-001",
    to_number="+36301234567",
    from_number="+36301234567",
    message="A megrendelését feladtuk!"
)

3. Kövesse nyomon az eredményt A metódus a következő választ adja vissza:

Python

{
    "uuid": id,
    "state": "success",   # vagy "insufficient_credit", "wrong_number_format", stb.
    "credit": 1           # a felhasznált SMS-részek száma
}

4. Ellenőrizze az egyenleget A gyorsítótárazott egyenleg az odootech.seeme.balance modellben tárolódik, és megjeleníthető az előfizetői űrlapon vagy egy műszerfalon.

🔍 Hibakód-leképezés

A modul az összes dokumentált Seeme-válaszkódot emberileg olvasható belső állapotokra képezi le:

Seeme KódBelső Állapot
0success
2, 3, 6, 9, 12, 16wrong_number_format
4, 5, 13, 14, 15, 18unregistered
7, 11insufficient_credit
8server_error

Ez rendkívül egyszerűvé teszi az automatikus újrapróbálkozási logika vagy a felhasználói értesítések felépítését a tényleges hibaok alapján.

🏆 Miért válassza ezt a modult?

Modul nélkülModullal
Egyedi SMS-kód minden projekthezEgyetlen újrahasznosítható integráció
Az egyenleg nem láthatóÉlő egyenleg + havi költés
Az API minden oldalbetöltéskor leterheltGyorsítótárazott, szabályozott hozzáférés
Rejtélyes átjáró-hibakódokEmberileg olvasható állapotok
Nincs visszahívási (callback) támogatásTeljes DLR callback kezelés

🔧 Technikai részletek

  • Függőségek: odootech_api_service, web

  • Külső könyvtár: requests

  • Átjáró végpont: [https://seeme.hu/gateway](https://seeme.hu/gateway)

  • Gyorsítótár modell: odootech.seeme.balance

  • ORM cache: @tools.ormcache("pattern", "date")

  • Callback URL: /api/sms_seeme/v1/callback

  • Számformátum: Nemzetközi, a kezdő + automatikusan eltávolításra kerül

  • Válaszformátum: JSON

📥 Telepítés

  1. Töltse le és helyezze el a modult az Odoo addons útvonalán.

  2. Győződjön meg róla, hogy az odootech_api_service modul már telepítve van.

  3. Frissítse az Alkalmazások (Apps) listáját.

  4. Keressen rá a „Seeme SMS API Service” kifejezésre.

  5. Kattintson a Telepítés gombra.

  6. Konfigurálja a Seeme API-kulcsot az API Subscriber űrlapon.

💬 Támogatás

Fejlesztette és karbantartja a DO Tech. Hibabejelentéssel, funkciókérésekkel vagy integrációs támogatással kapcsolatban lépjen velünk kapcsolatba az Odoo Apps Store-on keresztül.