Odoon tekninen integraatio-opas
Odoo-ylläpitäjille, tietoturva-arvioijille ja IT:lle — miten Revial todentaa API-avaimella, tarvittavat käyttöoikeudet, API-kulutus, virhetilanteet ja auditointi.
Tämä opas kuvaa, mitä Revial tekee Odoo-tietokannassasi, jotta voit hyväksyä, määrittää ja myöhemmin auditoida integraation. Yhdistäminen: Yhdistetään Revial Odooseen. Jokainen luettava ja kirjoitettava kenttä: Mitä Revial synkronoi Odoon kanssa.
1. Mitä hyväksyt
| Ominaisuus | Arvo |
|---|---|
| API | Odoon ulkoinen API JSON-RPC:n kautta (POST {instance}/jsonrpc) |
| Todennus | common.authenticate(tietokanta, kirjautumistunnus, API-avain), sitten object.execute_kw avaimella |
| Pääsymalli | Delegoitu — Revial toimii API-avaimen omistavana Odoo-käyttäjänä |
| Odoo-versiot | 16, 17, 18 ja 19 |
| Ylläpito | Mikä tahansa julkisesta osoitteesta tavoitettava Odoo (Odoo Online, Odoo.sh tai oma palvelin) |
| Ylläpito-oikeudet | Ei tarvita |
Odoo aikoo poistaa /jsonrpc-päätepisteen Odoo 22:ssa; Revial siirtyy Odoon JSON-2-API:in ennen sitä.
2. Mitä ylläpitäjäsi tarvitsee tehdä
| Tilanne | Mitä tehdä |
|---|---|
| Aina | Luo integraatiokäyttäjälle API-avain (Preferences → Account Security) |
| Haluat erillisen integraatiokäyttäjän | Luo se luvun 4 CRM- ja kontaktioikeuksilla |
| Oma palvelin | Tee siitä tavoitettava julkisella HTTPS-osoitteella |
| Haluat Revialin kirjoittavan kenttiin | Luo kentät (tai Properties-ominaisuudet) ja mäppää ne Revialissa |
| Revialissa on yhdistetty toinen CRM | Katkaise sen yhteys — Odoota ei voi yhdistää toisen CRM:n rinnalle |
3. Todennus ja tunnistetiedot
- Mitä Revial tallentaa: instanssin URL-osoitteen, tietokannan nimen ja kirjautumistunnuksen selväkielisinä sekä API-avaimen salattuna levossa (AES-256-GCM). Odoon API-avaimet eivät vanhene Revialissa; päivitystä ei ole.
- Tarkistus yhdistettäessä: Revial tarkistaa, ettei osoite ole yksityinen, loopback- tai sisäinen osoite, ja todentaa 15 sekunnin aikakatkaisulla. Mitään ei tallenneta, ellei Odoo palauta käyttäjätunnusta.
- Siirto: Revial lisää
https://-alun, jos skeemaa ei anneta.http://hyväksytään, mutta API-avain lähetetään silloin salaamattomana — käytä HTTPS:ää. - Kierrätys: yhdistä uudelleen uudella avaimella; Revial korvaa tallennetun avaimen ja tekee täyden synkronoinnin.
- Peruutus: poista API-avain Odoossa. Revial ei tällä hetkellä ilmoita, kun avain lakkaa toimimasta — synkronointi pysähtyy, kunnes yhdistät uudelleen.
Kuka voi yhdistää Revialin puolella. Organisaation omistaja tai ylläpitäjä tilauksella, joka sisältää CRM-integraation; pyyntömäärää rajoitetaan. Odoon voi yhdistää vain, kun muuta CRM:ää ei ole yhdistetty.
4. Tarvittavat käyttöoikeudet
Revial käyttää näitä malleja avaimen käyttäjänä:
| Malli | Toiminnot |
|---|---|
res.partner | Luku; mäpättyjen kenttien kirjoitus; muistiinpanot keskusteluun |
crm.lead | Luku; mäpättyjen kenttien kirjoitus |
crm.stage | Luku |
mail.message | Luku; luonti (tapaamisten muistiinpanot) |
ir.model.data | Sisäisen muistiinpanon alatyypin haku |
ir.model.fields, properties.base.definition | Luku (kenttien mäppäysnäkymä) |
Käytännössä tämä tarkoittaa käyttäjää, jolla on CRM-oikeudet (esimerkiksi Sales / CRM: User) ja joka voi lukea kontakteja ja kirjoittaa keskusteluun. Tietuesäännöt pätevät: tietueita, joita käyttäjä ei näe, ei synkronoida.
Käyttöoikeusvirheitä ei ohiteta. Jos käyttäjä ei voi lukea mallia, kyseinen osa synkronoinnista epäonnistuu ja yritetään uudelleen; mallista ei saada osittaista tulosta. Käyttöoikeusvirhe mäpättyjen kenttien kirjoituksessa kaataa koko kirjoituksen.
5. Mitä Revial lukee ja kirjoittaa
Lukee: yritykset ja kontaktit (res.partner), myyntimahdollisuudet (crm.lead, tyyppi opportunity), vaiheet sekä comment-tyyppiset keskusteluviestit näissä tietueissa.
Kirjoittaa:
| Toiminto | Tiedot |
|---|---|
| Tapaamisen yhteenveto | mail.message-luonti sisäisenä muistiinpanona (mail.mt_note) tunnistettuun myyntimahdollisuuteen tai kumppaniin |
| Mäpätyt kentät | write tunnistettuun res.partner- tai crm.lead-tietueeseen; Properties lukemalla, yhdistämällä ja kirjoittamalla |
Revial luo viestin suoraan eikä kutsu message_post-metodia, jotta HTML-yhteenvetoa ei escapeta. Revial ei koskaan poista tietueita eikä luo kumppaneita, myyntimahdollisuuksia tai aktiviteetteja.
6. Kenttien mäppäykset
Organisaation ylläpitäjät määrittävät ne kohdassa Organisaatio → CRM-asetukset → Ominaisuuksien yhdistäminen. Mäpättävissä ovat kirjoitettavat skalaarikentät — char, text, HTML, integer, float, monetary, boolean, date, datetime ja selection — mukaan lukien Studion x_-kentät ja Odoo Properties. Epäonnistunut eräkirjoitus yritetään kenttä kerrallaan validointivirheiden osalta.
7. Synkronoinnin tahti ja API-kulutus
- Tahti: noin tunnin välein, alkaen heti yhdistämisen jälkeen.
- Inkrementaalinen:
write_datesuurempi kuin edellisessä synkronoinnissa. - Sivutus: 200 tietuetta pyyntöä kohden
write_date-järjestyksessä; tietuerajaa ei ole, ja mallin kaikki sivut luetaan yhdessä ajossa. - Järjestys: yritykset → kontaktit → myyntimahdollisuudet → muistiinpanot.
- Aikakatkaisut: 30 sekuntia pyyntöä kohden. Ajon sisällä ei ole hidastusta eikä uudelleenyrityksiä; työjono yrittää epäonnistuneet ajot uudelleen.
- Poistot: arkistoidut tietueet havaitaan; poistettuja tietueita ei tunnisteta.
8. Tapaamisten yhdistäminen CRM-tietueisiin
Ensimmäinen osuma voittaa: tapaamisen suorat tunnukset; avoin myyntimahdollisuus, johon tapaaminen on jo linkitetty; osallistujien sähköpostit → kontaktit → myyntimahdollisuudet (pisteytettyinä); yritys verkkosivun tai sähköpostin verkkotunnuksen perusteella; yritys nimen perusteella. Suljetut myyntimahdollisuudet jätetään pois; ilmaisten sähköpostipalveluiden verkkotunnukset ohitetaan yritystunnistuksessa.
9. Tietoturva, rajat ja virhetilanteet
- Vähimmät oikeudet: yhden käyttäjän API-avain; ei ylläpito-oikeuksia.
- Verkkoturvallisuus: yksityiset, loopback- ja sisäiset osoitteet hylätään.
- Salaisuudet: API-avain salataan levossa, eikä sitä koskaan palauteta selaimeen tai kirjoiteta lokeihin.
- Hauraat kentät: Revial pyytää eksplisiittisiä kenttälistoja, jotka on varmistettu Odoo 16–19:lle; mukautetusta tai tulevasta versiosta puuttuva kenttä pysäyttää kyseisen mallin synkronoinnin.
- Datan säilytys: synkronoidut tietueet ja raa'at API-vastaukset tallennetaan Revialiin ja poistetaan, kun katkaiset yhteyden.
10. Auditointi ja yhteyden katkaiseminen
Odoossa: API-avaimet näkyvät käyttäjän kohdassa Account Security; Revialin kirjaamat muistiinpanot näkyvät keskustelussa kyseisen käyttäjän nimissä.
Yhteyden katkaiseminen:
- Revialissa — Katkaise yhteys Odoo-kortissa. Revial poistaa synkronoidun kopionsa, tallennetun API-avaimen ja kenttien mäppäykset. Se ei koske Odoossa olevaan avaimeen.
- Odoossa — poista API-avain tai poista käyttäjä käytöstä.
Revialin jo kirjaamat muistiinpanot jäävät keskusteluun.
11. Vianmääritys
| Oire | Todennäköinen syy | Korjaus |
|---|---|---|
| "Could not authenticate with Odoo…" | Väärä tietokanta, kirjautumistunnus tai avain | Tarkista kaikki kolme |
| "Could not reach the Odoo instance…" | Väärä URL, instanssi alhaalla tai ei julkinen | Tarkista, että osoite on tavoitettavissa internetistä |
| "That Odoo instance URL is not allowed." | Yksityinen tai sisäinen osoite | Käytä julkista osoitetta |
| "Team already has an active CRM connection…" | Toinen CRM on yhdistetty | Katkaise sen yhteys ensin |
| Tietueita puuttuu | Käyttäjän käyttöoikeudet tai tietuesäännöt | Laajenna käyttäjän oikeuksia |
| Synkronointi pysähtyi ilman ilmoitusta | API-avain poistettu tai käyttäjä poistettu käytöstä | Yhdistä uudelleen uudella avaimella |
| Yksi malli ei synkronoidu koskaan | Käyttöoikeusvirhe tai Odoo-versiostasi puuttuva kenttä | Tarkista käyttöoikeudet; ota yhteyttä tukeen |
Mitä Revial synkronoi Odoon kanssa
Odoo-ylläpitäjällesi ja sille, joka arvioi integraation tietojen käyttöoikeudet — jokainen Odoo-kenttä, jonka Revial lukee, kaikki mitä se kirjoittaa takaisin ja tunnetut puutteet.
Google-kalenterin yhdistäminen
Vain luku -oikeus ensisijaiseen Google-kalenteriisi, yhdistetty noin 30 sekunnissa — sekä mihin kokouksiin Revial sitten liittyy ja valmistautuu.