Leiðarvísar > Studio > Automated actions

Vefkrókar

Viðvörun

Mælt er eindregið með að fá ráðgjöf hjá forriturum, lausnaarkitektum eða öðrum tæknilegum sérfræðingum við ákvörðun um notkun vefkróka og í gegnum allt innleiðingarferlið. Óviðeigandi uppsetning getur truflað Odoo-gagnagrunn og tekið tíma að leiðrétta.

Vefkrókar, sem hægt er að búa til í Odoo Studio, gera þér kleift að sjálfvirknivæða aðgerð í Odoo-gagnagrunninum þegar tiltekin atburður á sér stað í öðru, ytra kerfi.

Í framkvæmd virkar þetta svona: þegar atburðurinn á sér stað í ytra kerfi er gagnaskrá ("payload") send á slóð vefkróksins í Odoo með POST API-beiðni og fyrirfram skilgreind aðgerð er framkvæmd í Odoo-gagnagrunninum.

Ólíkt tímasettum aðgerðum, sem keyra á fyrirfram skilgreindum tímum, eða handvirkum API-beiðnum, sem þarf að kalla sérstaklega á, gera vefkrókar kleift rauntíma, atburðadrifin samskipti og sjálfvirkni. Til dæmis er hægt að setja upp vefkrók sem uppfærir birgðagögn í Odoo sjálfkrafa þegar sölupöntun er staðfest í ytra kassakerfi.

Uppsetning vefkróks í Odoo krefst ekki forritunar þegar tengt er á milli tveggja Odoo-gagnagrunna, en prófun vefkróks krefst ytra tóls. Sérsniðnar markskrár eða aðgerðir geta krafist forritunarkunnáttu.

Athugið

Þessi grein fjallar um að búa til vefkrók sem tekur við gögnum frá ytri uppsprettu. Hins vegar er einnig hægt að búa til sjálfvirka aðgerð sem sendir gögn á ytri vefkrók þegar breyting verður í Odoo-gagnagrunninum.

Búa til vefkrók í Odoo

Mikilvægt

Áður en vefkrókur er innleiddur í lifandi gagnagrunni, skaltu stilla hann og prófa í afrituðum gagnagrunni til að tryggja að hann virki eins og til er ætlast.

Ábending

Kveikja á forritaraham áður en vefkrókur er búinn til veitir aukinn sveigjanleika við val á líkaninu sem sjálfvirknireglan miðar að. Það gerir þér einnig kleift að finna tæknilegt heiti líkans og reita, sem gæti þurft til að stilla payload.

Til að finna tæknilegt heiti líkans: með forritaraham virkan, svífðu bendli yfir heiti líkansins og smelltu síðan á (Innri hlekkur). Tæknilegt heiti er að finna í reitnum Líkan. Til dæmis notar vefkrókur fyrir sölupöntun líkanið Sölupöntun, en tæknilega heitið sale.order er notað í payload.

Til að búa til vefkrók í Studio skaltu gera eftirfarandi:

  1. Opnaðu Studio og smelltu á Vefkrókar, síðan Nýtt.
  2. Gefðu vefkróknum skýrt, lýsandi heiti sem segir til um tilgang hans.
  3. Ef þarf, og forritarahamur er virkur, veldu viðeigandi Líkan úr fellivalmynd. Ef forritarahamur er ekki virkur miðar sjálfvirknireglan að núverandi líkani sjálfgefið.
  4. Slóð vefkróksins er búin til sjálfkrafa, en hægt er að breyta henni ef þarf með því að smella á Endurnýja leynilykil. Þetta er slóðin sem nota á þegar vefkrókurinn er innleiddur í ytra kerfi sem mun senda uppfærslur til gagnagrunnsins.

    Viðvörun

    Slóðin er trúnaðarmál og ber að fara varlega með hana. Deiling hennar opinberlega eða óvarlega getur veitt óæskilegan aðgang að Odoo-gagnagrunninum. Ef slóðin er uppfærð eftir fyrstu innleiðingu, gakktu úr skugga um að uppfæra hana einnig í ytra kerfinu.

  5. Ef óskað er, virkjaðu Skrá köll til að rekja feril API-beiðna sem fara á slóð vefkróksins, t.d. í bilanagreiningarskyni.
  6. Ef kerfið sem sendir vefkrókinn er ekki Odoo, aðlagaðu kóðann fyrir Markskrá til að leita að JSON-færslunni sem er í payload þegar API-beiðnin er send á slóð vefkróksins. Ef kerfið sem sendir vefkrókinn er Odoo-gagnagrunnur, vertu viss um að id og model komi fyrir í payload.

Ef vefkrókurinn er notaður til að stofna færslur í Odoo-gagnagrunninum, notaðu model.browse(i) eða model.search(i) í stað sjálfgefins sniðs fyrir Markskrá.

  1. Smelltu á Bæta við aðgerð á flipanum Aðgerðir sem á að framkvæma til að skilgreina aðgerðirnar sem á að keyra.
  2. Áður en vefkrókurinn er innleiddur í ytra kerfi, prófaðu hann til að tryggja að hann virki eins og til er ætlast.

Ábending

  • Hægt er að búa til vefkróka einnig í gegnum valmyndina Sjálfvirkni í Studio með því að velja kveikjuna Við vefkrók.
  • Til að skoða feril API-beiðna ef Skrá köll hefur verið virkjað, smelltu á flýtihnappinn Atvikaskrá efst á eyðublaðinu Sjálfvirknireglur.
  • Ef tilgangur vefkróksins er eitthvað annað en að uppfæra fyrirliggjandi færslu, t.d. að stofna nýja færslu, þarf að velja aðgerðina Keyra kóða.

Prófa vefkrók

Til að prófa vefkrók þarf prufupayload og ytra tól eða kerfi, til dæmis Postman, til að senda payload með POST API-beiðni. Hér eru skrefin til að prófa vefkrók í Postman.

Ábending

  • Sjá einnig dæmi um notkun vefkróka fyrir skref-fyrir-skref útskýringar á prófun með prufupayload.
  • Til að fá sértæka aðstoð við að prófa vefkrók með Postman, hafðu samband við þjónustuver Postman.
  1. Í Postman skaltu búa til nýja HTTP-beiðni og stilla aðferðina á POST.
  2. Afritaðu slóð vefkróksins úr Odoo-gagnagrunninum með (link)-tákninu og límdu hana í URL-reitinn í Postman.
  3. Smelltu á flipann Body og veldu raw.
  4. Stilla skráartegund á JSON, afritaðu síðan kóðann úr prufupayload og límdu í ritilinn.
  5. Smelltu á Send.

Svörun við prófun

Í Response-skoðaranum neðst á skjánum í Postman má sjá upplýsingar, þar á meðal HTTP svarkóða, sem segja til um hvort vefkrókurinn virki rétt.

  • 200 OK eða status: ok bendir til að vefkrókurinn virki rétt megin við Odoo. Þá er hægt að hefja innleiðingu í hinu kerfinu til að senda API-beiðnir sjálfkrafa á slóð vefkróksins í Odoo.
  • Ef annað svar berst hjálpar númer þess við að bera kennsl á vandann. Til dæmis þýðir 500 Internal Server Error að Odoo gat ekki túlkað kallið rétt. Í því tilviki skaltu ganga úr skugga um að reitirnir í JSON-skránni séu rétt tengdir við stillingar vefkróksins og við kerfið sem sendir prufukallið.

Ábending

Virkjun skráningar á köllum í stillingum vefkróksins í Odoo gefur villuskrár ef vefkrókurinn virkar ekki eins og til er ætlast.

Innleiða vefkrók í ytra kerfi

Þegar vefkrókur hefur verið búinn til og prófaður með góðum árangri í Odoo, skaltu innleiða hann í kerfinu sem sendir gögnin í Odoo-gagnagrunninn og tryggja að POST API-beiðnir séu sendar á slóð vefkróksins.

Dæmi um notkun vefkróka

Hér fyrir neðan eru tvö dæmi um hvernig nota má vefkróka í Odoo. Fyrir hvert dæmi er til prufupayload sem finna má í hlutanum um prófun vefkróks. Postman er notað til að senda prufupayload.

Uppfæra gjaldmiðil sölupöntunar

Þessi vefkrókur uppfærir sölupöntun í forritinu Sala í USD þegar ytra kerfi sendir POST API-beiðni á slóð vefkróksins sem inniheldur númer þeirrar sölupöntunar (sem auðkennt er af færslunni id í payload).

Þetta getur verið gagnlegt fyrir dótturfélög utan Bandaríkjanna með móðurfélag í Bandaríkjunum eða við samruna þegar verið er að sameina gögn í einn Odoo-gagnagrunn.

Búa til vefkrók

Til að búa til þennan vefkrók, farðu svona að:

  1. Opnaðu Sala, síðan opnaðu Studio og smelltu á Vefkrókar. Líkanið Sölupöntun er valið sjálfgefið.
  2. Smelltu á Nýtt. Kveikja er sjálfgefið On webhook.
  3. Settu Markfærslu sem model.env[payload.get('_model')].browse(int(payload.get('_id'))), þar sem:
    • payload.get('_model') sækir gildið sem tengist model lykli í „payload“, þ.e. sale.order, sem er tækninafn líkansins Sölupöntun.
    • payload.get('_id') sækir gildið sem tengist id lykli í „payload“, þ.e. númer viðkomandi sölupöntunar í Odoo gagnagrunninum, með bókstafnum S og leiðandi núllum fjarlægðum.
    • int breytir sóttu auðkenni í heiltölu, þar sem aðferðin browse() virkar aðeins með heiltölum.
  4. Smelltu á Bæta við aðgerð.
  5. Í hlutanum Tegund, veldu Uppfæra færslu.
  6. Í Upplýsingar um aðgerð, veldu Uppfæra, veldu reitinn Gjaldmiðill og veldu USD.
  7. Smelltu á Vista og loka.

Prófa vefkrókinn

Til að prófa þennan vefkrók, farðu svona að:

  1. Í Postman, búðu til nýja HTTP beiðni og stilltu aðferðina á POST.
  2. Afritaðu slóð Odoo vefkróksins með (link) tákninu og límdu hana í slóðarreitinn í Postman.
  3. Smelltu á flipann Body og veldu raw.
  4. Stilltu skráartegundina á JSON, afritaðu síðan þennan kóða (payload) og límdu í kóðaritilinn:
{
    "_model": "sale.order",
    "_id": "SALES ORDER NUMBER"
}
  1. Veldu sölupöntun í Odoo gagnagrunninum til prófunar. Í límda kóðanum skaltu skipta út SALES ORDER NUMBER fyrir númer pöntunarinnar án S og allra leiðandi núlla. Til dæmis á að færa inn pöntunina S00007 sem 7 í Postman.
  2. Smelltu á Send.
  3. Skoðaðu Svaraskoðara í Postman til að meta hvort vefkrókurinn virki. Ef annað kemur til baka en 200 OK eða status: ok, hjálpar tölugildið sem fylgir skilaboðunum við að bera kennsl á vandann.

Búa til nýjan tengilið

Þessi vefkrókur notar sérsniðinn kóða til að búa til nýjan tengilið í Odoo þegar ytra kerfi sendir POST API beiðni á slóð vefkróksins með upplýsingum tengiliðsins. Þetta hentar t.d. til að stofna nýja birgja eða viðskiptavini sjálfvirkt.

Búa til vefkrók

Til að búa til þennan vefkrók, farðu svona að:

  1. Opnaðu Tengiliðir, síðan opnaðu Studio og smelltu á Vefkrókar. Líkanið Tengiliður er valið sjálfgefið.
  2. Smelltu á Nýtt. Kveikja er sjálfgefið On webhook.
  3. Stilltu Markfærslu sem model.browse([2]). Þetta er í raun staðgengill, þar sem kóðinn í sjálfvirku aðgerðinni segir vefkróknum hvaða gögn á að sækja úr „payload“ og í hvaða líkani á að stofna færsluna.
  4. Smelltu á Bæta við aðgerð.
  5. Í hlutanum Tegund, veldu Keyra kóða.
  6. Afritaðu þennan kóða og límdu í kóðaritilinn á flipanum Code í Upplýsingar um aðgerð:
# variables to retrieve and hold data from the payload
contact_name = payload.get('name')
contact_email = payload.get('email')
contact_phone = payload.get('phone')

# a Python function to turn the variables into a contact in Odoo
if contact_name and contact_email:
    new_partner = env['res.partner'].create({
        'name': contact_name,
        'email': contact_email,
        'phone': contact_phone,
        'company_type':'person',
        'customer_rank': 1,
    })
# an error message for missing required data in the payload
else:
    raise ValueError("Missing required fields: 'name' and 'email'")
  1. Smelltu á Vista og loka.

Prófa vefkrókinn

Til að prófa þennan vefkrók, farðu svona að:

  1. Í Postman, búðu til nýja HTTP beiðni og stilltu aðferðina á POST.
  2. Afritaðu slóð Odoo vefkróksins með (link) tákninu og límdu hana í slóðarreitinn í Postman.
  3. Smelltu á flipann Body og veldu raw.
  4. Stilltu skráartegundina á JSON, afritaðu síðan þennan kóða (payload) og límdu í kóðaritilinn:
{
    "name": "CONTACT NAME",
    "email": "CONTACTEMAIL@EMAIL.COM",
    "phone": "CONTACT PHONE NUMBER"
}
  1. Í límda kóðanum skaltu skipta út CONTACT NAME, CONTACTEMAIL@EMAIL.COM og CONTACT PHONE NUMBER fyrir upplýsingar hins nýja tengiliðar.
  2. Smelltu á Send.
  3. Skoðaðu Svaraskoðara í Postman til að meta hvort vefkrókurinn virki. Ef annað kemur til baka en 200 OK eða status: ok, hjálpar tölugildið sem fylgir skilaboðunum við að bera kennsl á vandann.
© 2026 Exigo ehf.Íslensk þýðing, framsetning og aðlögun: Exigo ehf.