---
title: "Pasanna Táirgí Digiteacha a Uathoibriú le Webhooks — qr3.app Blog"
description: "Ní leathanach statach é Pas Táirge Digiteach — is imeacht é gach scanadh ar féidir leat tógáil air. Freagair do qr.scanned le haghaidh anailísíochta, athorduithe agus brataí aisghairme, coinnigh sonraí an phas úr ó do chóras ERP, agus fíoraigh gach pálasta le HMAC-SHA256. Treoir ar ardchaighdeán forbróra le cód."
canonical: "https://qr3.app/ga/blog/dpp-webhooks-automation/"
lang: "ga"
robots: "index,follow,max-image-preview:large,max-snippet:-1"
---

# Pasanna Táirgí Digiteacha a Uathoibriú le Webhooks — qr3.app Blog

> Ní leathanach statach é Pas Táirge Digiteach — is imeacht é gach scanadh ar féidir leat tógáil air. Freagair do qr.scanned le haghaidh anailísíochta, athorduithe agus brataí aisghairme, coinnigh sonraí an phas úr ó do chóras ERP, agus fíoraigh gach pálasta le HMAC-SHA256. Treoir ar ardchaighdeán forbróra le cód.

Canonical: <https://qr3.app/ga/blog/dpp-webhooks-automation/>

[← Blag](/ga/blog/) [Ranganna teagaisc](/ga/blog/category/tutorials/)

May 30, 2026 5 nóim léite [Ranganna teagaisc](/ga/blog/category/tutorials/) [dpp](/ga/blog/tag/dpp/)[webhooks](/ga/blog/tag/webhooks/)[automation](/ga/blog/tag/automation/)[qr-scanned](/ga/blog/tag/qr-scanned/)[sdk](/ga/blog/tag/sdk/)

# Pasanna Táirgí Digiteacha a Uathoibriú le Webhooks

Ní leathanach statach é Pas Táirge Digiteach — is imeacht é gach scanadh ar féidir leat tógáil air. Freagair do qr.scanned le haghaidh anailísíochta, athorduithe agus brataí aisghairme, coinnigh sonraí an phas úr ó do chóras ERP, agus fíoraigh gach pálasta le HMAC-SHA256. Treoir ar ardchaighdeán forbróra le cód.

le **QR3 Redaktion**

![Pasanna Táirgí Digiteacha a Uathoibriú le Webhooks](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-webhooks-automation/hero.png)

Caitheann an chuid is mó d'fhoirne le Pas Táirge Digiteach mar leathanach: cruthaíonn tú é, priontálann tú an cód QR, agus déanann tú dearmad air. Fágann sin an comhartha is úsáidí ar an mbord. Gach uair a scanann duine an cód QR ar tháirge, is **imeacht** é sin — fíordhuine, i bhfíorthír, a bhfuil fíoraonad ina lámh, ag fíornóiméad. Sreangaigh na himeachtaí sin isteach i do chruach agus scoireann an pas de bheith ina leathanach statach agus éiríonn sé ina thosach ar phíblíne uathoibrithe. Taispeánann an treoir seo conas liostáil le `qr.scanned`, gach pálasta a fhíorú, agus scanadh agus nuashonruithe a chasadh ina sreafaí oibre dáiríre leis an SDK qr3.

## Cén fáth gur foinse imeachtaí é DPP, seachas leathanach statach

Ní hé luach pas ná an leathanach a fheiceann tomhaltóir uair amháin. Is é an sruth idirghníomhaíochtaí timpeall air: scanadh sa réimse, athruithe sonraí ó do chóras ERP, aistrithe saolré. Is rud é gach ceann acu ar féidir le do chórais freagairt dó i bhfíor-am.

Iompaíonn webhooks an gnáthmhúnla vótála droim ar ais. In ionad fiafraí *"ar tharla aon rud?"* ar uaineadóir, glaonn qr3 **ortsa** an nóiméad a tharlaíonn sé. I measc na gcineálacha imeachtaí a astaíonn an t-ardán tá `qr.scanned`, móide `qr.created`, `qr.updated` agus `qr.deleted` le haghaidh athruithe saolré. Is é an ceann a thearcúsáideann an chuid is mó d'fhoirne ná `qr.scanned`: lasann sé nuair a scanann tomhaltóir, teicneoir nó oifigeach custaim táirge sa saol fíor.

Iompraíonn pálasta `qr.scanned` an comhthéacs atá uait chun gníomhú — lena n-áirítear an **tír** ina ndearnadh an scanadh agus an **dpp/code id** a aithníonn cén t-aonad a scanadh. Is leor sin chun anailísíocht, athlíonadh agus loighic aisghairme a thiomáint gan duine ar bith sa lúb.

## Liostáil le qr.scanned

Dírigh críochphointe webhook ar do sheirbhís agus láimhseáil an t-imeacht. Fíoraigh an síniú i gcoinne an chomhlachta amha sula bparsálann tú é:

```
import express from "express";
import { createHmac, timingSafeEqual } from "crypto";

const app = express();
const secret = process.env.QR3_WEBHOOK_SECRET!;

// Recompute the HMAC over the exact bytes qr3 signed and compare in constant time.
function verify(raw: Buffer, header: string | undefined): boolean {
  const expected = createHmac("sha256", secret).update(raw).digest("hex");
  const expectedBytes = Buffer.from(`sha256=${expected}`);
  const receivedBytes = Buffer.from(header ?? "");
  return (
    expectedBytes.length === receivedBytes.length &&
    timingSafeEqual(expectedBytes, receivedBytes)
  );
}

// Use the raw body so the signature matches the exact bytes qr3 signed.
app.post("/webhooks/qr3", express.raw({ type: "application/json" }), (req, res) => {
  if (!verify(req.body, req.headers["x-qr3-signature"] as string)) return res.sendStatus(401);
  const event = JSON.parse(req.body.toString("utf8"));

  if (event.type === "qr.scanned") {
    // event payload includes fields like the scan country and the dpp/code id
    handleScan(event);
  }

  res.sendStatus(200);
});
```

Tá an láimhseálaí tanaí d'aon ghnó: fíoraigh, brainseáil ar `event.type`, admhaigh go tapa le `200`. Déan an obair throm (scríobh anailísíochta, glaonna ERP) go hasincronach ionas nach gcuireann críochphointe mall riamh bac ar an admháil.

## Sínithe a fhíorú (HMAC-SHA256) — déan é seo i gcónaí

Is URL poiblí é críochphointe webhook. Is féidir le duine ar bith a aimsíonn é POST a dhéanamh chuige. Má chuireann tú muinín sa chomhlacht gan a sheiceáil cé a sheol é, is féidir le hionsaitheoir "scanadh" a bhrionnú, athorduithe bréagacha a spreagadh, nó brataí aisghairme bréige a lasadh. **Fíoraigh an síniú i gcónaí sula ngníomhaíonn tú ar phálasta.**

Síníonn qr3 gach webhook le **HMAC-SHA256** thar chomhlacht amh na hiarrata, ag baint úsáide as rún do chríochphointe. Sroicheann an síniú sa cheanntásc iarrata `X-QR3-Signature`, mar `sha256=` agus an achoimre heicsidheach ina dhiaidh. Athríomh an HMAC thar na bearta céanna agus déan comparáid idir an dá cheann i dtairiseach ama; má bhíonn siad difriúil, diúltaigh don iarratas:

```
app.post("/webhooks/qr3", express.raw({ type: "application/json" }), (req, res) => {
  if (!verify(req.body, req.headers["x-qr3-signature"] as string)) {
    // signature mismatch → not from qr3 (or body was altered in transit)
    return res.sendStatus(401);
  }
  process(JSON.parse(req.body.toString("utf8")));
  res.sendStatus(200);
});
```

Trí riail a choinníonn é seo macánta:

- **Fíoraigh i gcoinne na mbeart amha.** Is féidir le hath-shraitheánú JSON eochracha a athordú agus spás bán a athrú, rud a bhriseann an HMAC. Gabh an comhlacht amh (thuas, `express.raw`).

- **Coinnigh an rún ina rún.** Maireann sé i do thimpeallacht, ní bhíonn sé riamh i gcód cliaint ná i stóras.

- **Teip dúnta.** Gan síniú bailí → `401`, gan fo-iarmhairtí. Ná "próiseáil ar aon nós" riamh ar mhímheaitseáil.

## Patrúin: anailísíocht / athordú / aisghairm

Nuair a chuireann tú muinín san imeacht, clúdaíonn dornán patrún an chuid is mó den rud atá uait:

```
function handleScan(event: { type: string; data: { country?: string; dpp_id?: string } }) {
  // 1) Analytics — where and how often are products scanned?
  metrics.increment("dpp.scan", { country: event.data.country });

  // 2) Re-order — a scan can signal consumption or field activity
  if (event.data.country) maybeReplenish(event.data.dpp_id, event.data.country);

  // 3) Recall flag — scans of a flagged unit alert your team
  if (isRecalled(event.data.dpp_id)) alertRecall(event.data.dpp_id, event.data.country);
}
```

- **Anailísíocht:** comhiomlánaigh scanadh de réir tíre agus aonaid chun rannpháirtíocht fíorshaoil a fheiceáil — cé na margaí a scanann i ndáiríre, agus cé na SKUanna a fheiceann an idirghníomhaíocht iardhíola is mó.

- **Athordú / athlíonadh:** is féidir le maidhm scanadh i réigiún comharthaí éilimh a chothú nó sreafaí oibre athstoic a spreagadh i do chóras ERP.

- **Aisghairm / sábháilteacht:** má tá aonad faoi aisghairm, is deis é scanadh chun teagmháil a dhéanamh le pé duine atá á choinneáil — cuir do fhoireann ar an airdeall, nó nocht fógra ar an bpas féin.

Ní theastaíonn vótáil ná baisc oíche ó aon cheann díobh seo. Tarlaíonn siad an túisce a scanaítear an táirge.

## Sonraí a choinneáil cothrom le dáta trí client.dpp.update

Is leath den lúb é freagairt do scanadh; is é an leath eile ná an pas féin a choinneáil cruinn. Tá súil ag rialacháin amhail **ESPR (EU 2024/1781)** agus an **Rialachán Ceallraí (EU 2023/1542)** go léireoidh sonraí an phas an réaltacht thar shaolré an táirge — lorg carbóin athríofa, treoracha deisithe nuashonraithe, spriocanna ábhair athchúrsáilte a baineadh amach.

Tiomáin na nuashonruithe sin ón gcóras taifid. Nuair a athraíonn luach i do chóras ERP, brúigh chuig an bpas é:

```
import { QR3 } from "@qr3/sdk";

const client = new QR3({ apiKey: process.env.QR3_API_KEY! });

// GTIN and serial are immutable; data fields are updatable.
await client.dpp.update(dppId, {
  battery_data: { carbon_footprint_kg: 58, recycled_content_pct: 16 },
});
```

Toisc go n-ionchódaíonn an cód QR URL réiteora cobhsaí (`https://qr3.app/dpp/{gtin}/{serial}`, cuir `?format=jsonld` leis le haghaidh JSON-LD), ní athphriontálann tú lipéad riamh chun sonraí a athrú. Fanann an aitheantas socair; fanann an t-ábhar taobh thiar de cothrom le dáta. Déan é seo a phéireáil le `qr.updated` agus is féidir leat fógra a leathadh amach aon uair a athraíonn pas — ag dúnadh na lúibe idir do chóras ERP, an pas, agus aon duine atá ag faire síos an tsrutha.

## Tábla imeachtaí: imeacht → cad atá le huathoibriú

| Imeacht | Lasann sé nuair | Cad atá le huathoibriú |
| --- | --- | --- |
| `qr.scanned` | Scanaítear cód QR táirge sa réimse | Anailísíocht de réir tíre, comharthaí athlíonta, foláirimh aisghairme |
| `qr.created` | Cruthaítear pas nua | Innéacsáil é, sioncronaigh le PIM/ERP, cuir an fhoireann chatalóige ar an eolas |
| `qr.updated` | Athraíonn sonraí an phas | Aththaisc an leathanach poiblí, leath fógraí athraithe amach |
| `qr.deleted` | Baintear pas | Cuir taifid inmheánacha faoi leac, cúlghair tagairtí síos an tsrutha |

Tosaigh le `qr.scanned` le haghaidh rannpháirtíochta agus comharthaí réimse; cuir na himeachtaí saolré leis de réir mar a shioncronaíonn tú pasanna isteach i do chórais níos leithne.

## Ceisteanna coitianta

**An gá dom an síniú a fhíorú má tá URL mo chríochphointe rúnda?**
Is gá. Ní rún é URL — sceitheann sé i logaí, i seachfhreastalaithe agus i stair an bhrabhsálaí. Is é fíorú an HMAC `X-QR3-Signature` i gcoinne an chomhlachta amh an t-aon rud a chruthaíonn gur tháinig pálasta ó qr3 i ndáiríre.

**Cad a tharlaíonn má bhíonn mo chríochphointe as feidhm nuair a lasann imeacht?**
Admhaigh go tapa le `200` a luaithe atá fíoraithe agat, agus déan obair mhall go hasincronach ionas nach gcuireann fadhbanna sealadacha síos an tsrutha bac riamh ar an bhfreagra. Coinnigh do neamhspleáchas féin ar `dpp/code id` ionas nach ndéantar seachadadh athráite a chomhaireamh faoi dhó.

**An féidir liom GTIN nó sraithuimhir a nuashonrú trí client.dpp.update?**
Ní féidir — tá GTIN agus sraithuimhir do-athraithe; is iad aitheantas cobhsaí an táirge iad. Ní féidir ach na réimsí sonraí a nuashonrú. Is é an do-athraitheacht sin go díreach a ligeann don chód QR priontáilte fanacht bailí go deo.

## Foinsí

- [EU ESPR — Regulation (EU) 2024/1781](https://eur-lex.europa.eu/eli/reg/2024/1781/oj)

- [EU Battery Regulation 2023/1542](https://eur-lex.europa.eu/eli/reg/2023/1542/oj)

- [HMAC — RFC 2104](https://www.rfc-editor.org/rfc/rfc2104)

**Tosaigh saor in aisce** agus sreangaigh do chéad webhook DPP: [app.qr3.app/sign-up](https://app.qr3.app/sign-up)

## Postanna gaolmhara

- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/gs1-resolver-test-suite-dpp-links/hero.png) Ranganna teagaisc Sraith Tástála Resolver GS1: DPP a sheiceáil go hiontaofa roimh an seoladh beo Fágann an tsraith chobhsaí tástála GS1 gur féidir Resolver 1.2 a thástáil. Seo mar a thástálfar atreoruithe, tacair nasc, CORS, teangacha agus cásanna earráide roimh an seoladh beo.](/ga/blog/gs1-resolver-test-suite-dpp-links/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-battery-passport-2027-20260715/hero.png) Nuacht Tionscail Seolann BatteryPass-Ready timpeallacht tástála don Phas Ceallraí Digiteach Sheol cuibhreannas BatteryPass-Ready timpeallacht tástála phoiblí don Phas Ceallraí Digiteach an 24 Meitheamh 2026, roimh cheanglas an AE ó mhí Feabhra 2027.](/ga/blog/dpp-battery-passport-2027-20260715/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/sector-20260713/hero.png) Nuacht Tionscail Pas Digiteach Ceallraí 2027: An méid nach mór do mhonaróirí a bheith ar an eolas faoi anois Seimineáir ghréasáin, uirlisí foinse oscailte agus caighdeáin nua: tá Pas Ceallraí an AE ag dul chun cinn. Forléargas ar an staid i mí Iúil 2026 agus ar na ceisteanna oscailte go dtí Feabhra 2027.](/ga/blog/sector-20260713/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/sector-20260711/hero.png) Nuacht Tionscail Pas Digiteach Ceallraí 2026: Timpeallachtaí tástála, caighdeáin agus ceisteanna oscailte Cén staid ina bhfuil an tionscal maidir leis an bPas Digiteach Ceallraí? Forléargas ar thimpeallachtaí tástála, caighdeáin CEN/CENELEC, uirlisí foinse oscailte agus forbairtí rialála i mí Iúil 2026.](/ga/blog/sector-20260711/)

[← Gach alt](/ga/blog/) [Tosaigh saor in aisce](https://app.qr3.app/sign-up)
