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?
| Komponens | Leírás |
|---|---|
| odootech.seeme.balance modell | Adatbázis-alapú egyenleg gyorsítótár |
| Előfizetői (Subscriber) bővítmény | Hozzá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ézet | A 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ás | Seeme 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ód | Belső Állapot |
|---|---|
| 0 | success |
| 2, 3, 6, 9, 12, 16 | wrong_number_format |
| 4, 5, 13, 14, 15, 18 | unregistered |
| 7, 11 | insufficient_credit |
| 8 | server_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ül | Modullal |
|---|---|
| Egyedi SMS-kód minden projekthez | Egyetlen újrahasznosítható integráció |
| Az egyenleg nem látható | Élő egyenleg + havi költés |
| Az API minden oldalbetöltéskor leterhelt | Gyorsítótárazott, szabályozott hozzáférés |
| Rejtélyes átjáró-hibakódok | Emberileg olvasható állapotok |
| Nincs visszahívási (callback) támogatás | Teljes 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
Töltse le és helyezze el a modult az Odoo addons útvonalán.
Győződjön meg róla, hogy az odootech_api_service modul már telepítve van.
Frissítse az Alkalmazások (Apps) listáját.
Keressen rá a „Seeme SMS API Service” kifejezésre.
Kattintson a Telepítés gombra.
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.