Rydym wedi cyfieithu’r wefan hon yn ofalus gan ddefnyddio adnoddau terminoleg swyddogol, gan gynnwys TermCymru. Efallai na fydd pob cyfieithiad yn berffaith. Os gwelwch gamgymeriad, anfonwch e-bost at welsh@qwtn.co.uk. Byddem yn ddiolchgar iawn.
Pob enghraifft o’r defnyddEnghraifft o’r defnydd, nid stori cwsmer
Sut y byddai tîm datblygu mewnol yn cysylltu QWTN â’i system ERP ei hun
Cwmni gwastraff gyda’i ERP ei hun a thîm datblygu bach. Maen nhw eisiau anfon swyddi i mewn, cael nodiadau wedi’u llofnodi a thaliadau’n ôl, a ffigurau ESG yn eu dangosfwrdd.
- 2datblygwr
- 1ERP i’w gysylltu
- 120o geisiadau’r funud, fesul allwedd
- £69Fleet, y mis
Busnes dychmygol. Tybiaethau ar gyfer yr enghraifft hon yw’r ffigurau am y tîm, y fflyd a’r nifer, nid canlyniadau gan gwsmer.
Pwy ydyn nhw a beth sy’n mynd o chwith
Cwmni gwastraff gydag ERP mewnol sy’n dal cwsmeriaid, swyddi a’r cyfriflyfr cyffredinol. Mae tîm datblygu bach eisiau i’r ERP aros yn brif system gofnodion ar gyfer arian a chwsmeriaid, ac i QWTN drin y nodiadau trosglwyddo, y llofnodion ac ochr y gyrwyr.
Caiff pob swydd ei theipio ddwywaith, unwaith yn yr ERP ac unwaith ar nodyn. Mae nodiadau wedi’u llofnodi a thaliadau’n cael eu hymlid dros y ffôn a’u teipio’n ôl i mewn.
Mae’r tîm cynaliadwyedd yn gofyn am ffigurau ailgylchu a charbon bob chwarter, ac mae rhywun yn allforio ac yn cyfuno ffeiliau i’w cynhyrchu.
- Busnes
- Casglu gwastraff gydag ERP mewnol
- Tîm
- Dau ddatblygwr ac arweinydd gweithrediadau
- Nod
- Dim ail-deipio rhwng yr ERP a QWTN
- Technoleg
- Node a warws data, fel enghraifft
- Man cychwyn
- Ffeiliau CSV yn cael eu symud â llaw bob nos
Sut mae’r integreiddio’n rhedeg
- Swydd wedi’i harchebuDrafftio’r nodyn o’r ERPMae’r ERP yn creu nodyn drafft gyda disgrifiad o’r gwastraff, cod EWC, cleient a phwysau. Id y swydd yw’r allwedd idempotency, felly ni fydd ailgynnig ar ôl terfyn amser byth yn creu ail nodyn.
- Cyn casgluGofyn am lofnodMae’r ERP yn gofyn i’r cynhyrchydd lofnodi drwy ddolen mewn e-bost. Mae’r alwad hon yn defnyddio API yr ap gydag allwedd mynediad llawn.
- Wedi’i lofnodiMae’r ERP yn cael gwybodMae QWTN yn anfon digwyddiad note.signed wedi’i lofnodi ac mae’r ERP yn marcio bod y swydd wedi’i dogfennu. Mae digwyddiad collection.completed yn dilyn pan fydd y gyrrwr yn gorffen.
- Wedi’i thaluMae taliadau’n dod yn ôlMae QWTN yn codi anfonebau o rediadau bilio. Pan gaiff un ei thalu, drwy ddolen dalu neu â llaw, mae digwyddiad invoice.paid yn gadael i’r ERP ei bostio i’r cyfriflyfr.
- Bob chwarterTynnu’r ffigurau ESGMae’r dangosfwrdd yn gofyn am y gyfradd ailgylchu, dargyfeirio o safleoedd tirlenwi a charbon amcangyfrifedig ar gyfer cyfnod, ar gyfer pob cwsmer neu un.
Beth maen nhw’n ei ddefnyddio
Pwyntiau terfyn REST wedi’u teipio
Nodiadau, cleientiaid, safleoedd cleientiaid, safleoedd derbyn, casgliadau, cynwysyddion a thocynnau pont bwyso, gyda chwmpasau darllen ac ysgrifennu. Mae creu mewn swmp yn derbyn hyd at 100 o gofnodion ym mhob galwad.
Pwyntiau terfyn (Saesneg)Bachau gwe wedi’u llofnodi
Wyth math o ddigwyddiad, wedi’u llofnodi ag HMAC, yn cael eu hailgynnig gydag oedi cynyddol a gellir eu hailchwarae o’r log anfon.
Bachau gwe (Saesneg)Allweddi idempotency
Anfonwch allwedd ar bob POST a PATCH. Mae ailgynnig o fewn 24 awr yn dychwelyd yr ymateb gwreiddiol.
Idempotency (Saesneg)API yr ap
Gellir cyrraedd popeth y gall yr ap gwe ei wneud o dan /api/v1/app gydag allwedd mynediad llawn, yn rhedeg fel y person a greodd yr allwedd.
API yr ap (Saesneg)Digwyddiadau archwilio
Darllenwch yr hanes newidiadau drwy /api/v1/audit-events gydag allwedd audit:read, wedi’i hidlo yn ôl cofnod, cleient, gweithred neu ffynhonnell.
Pwynt terfyn y trywydd archwilio (Saesneg)OpenAPI 3.1
Manyleb wedi’i chynhyrchu i’w mewnforio i Postman, Insomnia neu gynhyrchydd cod.
JSON OpenAPI (Saesneg)
Y galwadau mewn cod
Pwyntiau terfyn go iawn o’r dogfennau datblygwyr (Saesneg). Mae’r allweddi, yr ids a’r cyfeiriadau’n rhai enghreifftiol. Mae’r cod yn Saesneg.
Creu nodyn trosglwyddo o swydd wedi’i harchebu
Mae allwedd gyda’r cwmpas notes:write yn ddigon. Mae’r allwedd idempotency yn atal ailgynnig rhag creu ail nodyn.
const res = await fetch('https://qwtn.co.uk/api/v1/notes', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.QWTN_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': 'erp-job-' + job.id,
},
body: JSON.stringify({
waste_description: 'Mixed construction and demolition waste',
ewc_codes: ['17 09 04'],
client_id: job.qwtnClientId,
weight_kg: 1200,
transfer_date: '2026-10-14',
}),
})
const note = await res.json()
// the new draft note: note.id, note.reference, note.status === 'draft'
// Ask the producer to sign. This is an app API call and needs a full-access key.
await fetch('https://qwtn.co.uk/api/v1/app/notes/' + note.id + '/request-signature', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.QWTN_FULL_ACCESS_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
party: 'transferor',
recipientEmail: 'site@client.co.uk',
recipientName: 'Sam Lee',
}),
})Derbyn a gwirio bachyn gwe
Gwiriwch HMAC y stamp amser a’r corff crai, gwrthodwch unrhyw beth sy’n hŷn na phum munud, dad-ddyblygwch ar id y digwyddiad ac atebwch yn gyflym. Ychwanegwch y pwynt terfyn o dan Settings, Webhooks.
import crypto from 'node:crypto'
import express from 'express'
const app = express()
app.post('/webhooks/qwtn', express.raw({ type: 'application/json' }), (req, res) => {
const header = req.get('QWTN-Signature') ?? ''
const t = Number(/t=(\d+)/.exec(header)?.[1])
const expected = crypto
.createHmac('sha256', process.env.QWTN_WEBHOOK_SECRET)
.update(t + '.' + req.body)
.digest('hex')
const fresh = Math.abs(Date.now() / 1000 - t) < 300
const valid = [...header.matchAll(/v1=([0-9a-f]{64})/g)].some(([, sig]) =>
crypto.timingSafeEqual(Buffer.from(sig, 'hex'), Buffer.from(expected, 'hex')))
if (!fresh || !valid) return res.status(400).end()
const event = JSON.parse(req.body.toString())
if (alreadyProcessed(event.id)) return res.sendStatus(204)
switch (event.type) {
case 'note.signed': markJobDocumented(event.data.object); break
case 'collection.completed': releaseForBilling(event.data.object); break
case 'invoice.paid': postToLedger(event.data.object); break
}
res.sendStatus(204)
})Tynnu ffigurau ESG ar gyfer cyfnod
Mae’r adroddiad yn rhedeg fel y person a greodd yr allwedd, felly mae angen caniatâd ar y person hwnnw i weld adroddiadau. Ychwanegwch customer=CLIENT_ID ar gyfer un cwsmer, neu format=csv, pdf neu returns i gael ffeil.
const url = new URL('https://qwtn.co.uk/api/v1/app/reports/esg')
url.searchParams.set('from', '2026-07-01')
url.searchParams.set('to', '2026-09-30')
const r = await fetch(url, {
headers: { Authorization: 'Bearer ' + process.env.QWTN_FULL_ACCESS_KEY },
})
const { summary } = await r.json()
// summary.totalTonnes, summary.recyclingRate, summary.landfillDiversion,
// summary.carbonKg (an estimate, with the method in the full report)Copïo’r hanes newidiadau bob nos
Gall allwedd gyda’r cwmpas audit:read ddarllen y trywydd archwilio. Ychwanegwch source=api i weld dim ond newidiadau a wnaed drwy’r API, a thudalennwch gyda next_cursor.
curl "https://qwtn.co.uk/api/v1/audit-events?created_after=2026-10-14T00:00:00Z&limit=100" \
-H "Authorization: Bearer $QWTN_AUDIT_KEY"Y cynllun sy’n addas
Fleet, oherwydd bod yr API a’r bachau gwe’n dechrau yno
Mae mynediad i’r API REST a bachau gwe yn nodweddion Fleet. Mae allweddi â chwmpas yn gadael i’r tîm roi’r lleiaf sydd ei angen i bob gwaith: notes:write ar gyfer yr alwad archebu, audit:read ar gyfer y copi i’r warws, ac un allwedd mynediad llawn wedi’i chadw mewn storfa gyfrinachau ar gyfer API yr ap.
Beth fyddai’n ei newid. Gallai tîm sydd angen dim ond nodiadau, llofnodion ac amserlennu, heb yr API na bachau gwe, ddefnyddio Carrier yn lle hynny. Mae treial 30 diwrnod ar gael ar gynlluniau taledig.
Cymharu pob cynllun- Fleet£69 y mis, neu £690 y flwyddyn
- Diderfyno bobl ar y cynllun hwn
Dim TAW. Nid yw QWTN wedi’i gofrestru ar gyfer TAW, felly’r pris a welwch yw’r pris a dalwch.
Beth i’w wirio gyntaf
Y manylion am y cynllun a’r nodweddion sydd bwysicaf ar gyfer yr enghraifft hon.
- Y terfyn yw 120 o geisiadau’r funud fesul allwedd. Os ewch drosto, cewch 429 gyda phennawd Retry-After, felly tudalennwch drwy restrau yn hytrach na nôl cofnodion fesul un.
- Mae API yr ap yn dychwelyd JSON yr ap ei hun. Mae’n sefydlog yn ymarferol ond heb fersiynau fel y pwyntiau terfyn wedi’u teipio, felly defnyddiwch bwynt terfyn wedi’i deipio lle mae un yn bodoli.
- Caiff bachau gwe eu hanfon o leiaf unwaith ac nid oes sicrwydd o’r drefn. Dad-ddyblygwch ar id y digwyddiad a nôl y cofnod os oes angen ei gyflwr diweddaraf arnoch.
Gwnewch eich galwad API gyntaf
Crëwch allwedd o dan Settings, API access, neu dechreuwch gyda chyfrif a’r demo.
Darluniau yw’r enghreifftiau o’r defnydd, nid straeon cwsmeriaid.