Gjurmimi i hapjeve dhe i klikimeve
`emails.getTracking` dhe i gjithë burimi `tracking`.
Një mesazh i vetëm
const report = await openemail.emails.getTracking('msg_…') console.log(report.openCount, 'opens from', report.recipients.length, 'recipients')for (const link of report.links) console.log(link.url, link.clickCount)Një mesazh që nuk u gjurmua kurrë hedh një OpenEmailApiError isNotFound i të cilit është true, jo një raport bosh. "Nuk regjistruam asgjë" dhe "askush nuk e hapi" janë përgjigje të ndryshme dhe nuk duhet të ndajnë të njëjtën përgjigje.
Në të gjithë kutinë postare
await openemail.tracking.list({ opened: false, days: 7, limit: 100 })await openemail.tracking.getStats({ days: 30, offsetMinutes: -new Date().getTimezoneOffset() })await openemail.tracking.get('msg_…')await openemail.tracking.listOpens('msg_…', { includeMachine: true })await openemail.tracking.listClicks('msg_…')list, listOpens dhe listClicks japin array-e të thjeshta. get, listOpens dhe listClicks pranojnë ose id-në e dërgimit msg_…, ose tmsg_… e vetë regjistrit të gjurmimit.
Një burim më vete dhe jo fusha mbi emails, dhe arsyeja është mbulimi: emails liston regjistrat e dërgimit, të cilët ekzistojnë vetëm për mail-in që e trajtoi ky API. Kompozuesi, mjetet MCP dhe asistenti dërgojnë të gjithë pa një të tillë, pra një raport i ndërtuar mbi emails do të ishte një raport mbi trafikun tuaj të API-së dhe jo mbi kutinë postare.
Si t'i lexoni numrat me ndershmëri
| Çifti | Çfarë do të thotë |
|---|---|
| `opens` / `clicks` | Çfarë U ZBATUA: nëse mesazhi u nis me një piksel ose me lidhje të rishkruara. |
| `opened` / `clicked` | Çfarë ndodhi. |
| `openCount` | Goditje të numëruara. Skanuesit dhe proxy-t e privatësisë përjashtohen. |
| `openCountRaw` | Çdo goditje. Citimi i kësaj si angazhim është mënyra se si një shkallë hapjeje kalon 100%. |
| `attributable` | Nëse një lexim mund t'i atribuohet fare një marrësi të emërtuar. |
Shkallët nga tracking.getStats janë mbi mesazhet e GJURMUARA, kurrë mbi gjithçka të dërguar. Përndryshe një kuti postare që gjurmon një mesazh nga dhjetë do të dukej sikur është shembur.
Parametrat: tracking.list
openedboolean- `true` zgjedh mesazhet me të paktën një hapje të numëruar, `false` zgjedh mesazhet e gjurmuara pa asnjë. Asnjëri nuk është parazgjedhje, dhe `false` nuk do të thotë kurrë mail i pagjurmuar, i cili nuk shfaqet fare në këtë listë.
clickedboolean- I njëjti filtër për klikimet e numëruara, i zbatuar në mënyrë të pavarur nga `opened`. Të dy mund të jepen, dhe mesazhet duhet t'i plotësojnë të dy.
daysnumber- Sa ditë prapa nga tani të shihen, nga 1 deri në 365 dhe me parazgjedhje 30; jashtë atij intervali është një 422. Dritarja matet mbi kohën kur u krijua regjistri i gjurmimit, dhe listohen vetëm regjistrat, dërgimi i të cilëve ka dalë vërtet.
limitnumber- Më së shumti kaq mesazhe, nga 1 deri në 200 dhe me parazgjedhje 50, më të rejat të parat. Nuk ka cursor: ky është një raport mbi një dritare dhe jo një rrjedhë, pra kufizohet nga `days` dhe `limit` dhe lexohet i tëri.
Përgjigjja: TrackingResource
object'tracking'- Gjithmonë `'tracking'` te një raport i marrë më vete, përmes `tracking.get`, `tracking.list` ose `emails.getTracking`. I njëjti raport i ndërthurur si `email.tracking` te një mesazh i marrë mbërrin pa këtë çelës, sepse atje ai është pjesë e atij objekti dhe jo diçka që u mor.
idstring- Id-ja e vetë regjistrit të gjurmimit, `tmsg_…`. Është ajo mbi të cilën janë të çelësuara thirrjet për çdo goditje, `listOpens` dhe `listClicks`; një `msg_…` i dhënë atyre zgjidhet fillimisht në këtë.
sendIdstring | null- Dërgimi `msg_…` me të cilin korrelon ky, dhe null aty ku nuk u shkrua asnjë regjistër dërgimi. Kompozuesi, `sendEmail` i MCP-së dhe asistenti dërgojnë të gjithë pa një të tillë. Gjurmimi mbulon kutinë postare, jo vetëm trafikun e API-së.
threadIdstring | null- Mbushet pas transmetimit që një ndërfaqe leximi ta gjejë sërish mesazhin, dhe null aty ku driver-i nuk raportoi asnjë. Jo thelbësor: një regjistër me të null numërohet gjithsesi.
messageIdstring | null- Message-ID sipas RFC 5322, jo id-ja jonë. Edhe ky mbushet pas transmetimit, dhe është null aty ku transporti nuk ktheu asgjë për ta mbushur.
subjectstring | null- Subjekti ashtu siç ishte në kohën e dërgimit. Null te një mesazh i regjistruar pa të.
fromstring- Adresa dërguese, e kopjuar mbi regjistrin në vend që të bashkohet nga dërgimi. Raportet lexohen shumë kohë pas ngjarjes, dhe një adresë e korrigjuar ose e hequr që atëherë do ta rishkruante historinë.
sourceEmailSource | (string & {})- Cila sipërfaqe e dërgoi: `composer`, `api`, `mcp`, `ai` ose `queue`. E tipizuar hapur, kështu që një sipërfaqe që kjo SDK nuk e emërton ende nuk është një ndryshim prishës.
sentAtstring | null- Kur u nis mesazhi, si një çast ISO-8601. Null te një regjistër dërgimi i të cilit nuk përfundoi kurrë. `tracking.list` i përjashton ata, `get` jo.
opensboolean- Nëse mbi këtë mesazh U ZBATUA një piksel. Kjo është ajo që u bë, jo ajo që thotë cilësimi i llogarisë tani.
clicksboolean- Nëse lidhjet e këtij mesazhi u rishkruan. False kur trupi nuk mbante asnjë lidhje, sepse atëherë nuk u ndryshua asgjë dhe një regjistër që pretendon të kundërtën nuk do të pajtohej me bajtet.
openedboolean- Nëse u regjistrua ndonjë hapje e numëruar mbi kopjet. Lexojeni përballë `opens`: mungesa e të dhënave sepse nuk u mblodh asnjë është një fakt tjetër nga fakti që askush nuk e ka lexuar mesazhin.
clickedboolean- Nëse u regjistrua ndonjë klikim i numëruar. Provë më e fortë se një hapje, meqë imazhet bllokohen shumë më shpesh se sa lihen pa u ndjekur lidhjet.
attributableboolean- Nëse çdo lexim këtu mund t'i atribuohet një marrësi të emërtuar. False në çastin kur një kopje e paatribuueshme shfaq veprimtari të numëruar, që është rasti me shumë marrës ku një trup i vetëm shkon te e gjithë lista nën një token të vetëm, pra kontrollojeni para se të shkruani "Bob nuk e ka hapur këtë".
openCountnumber- Hapje që besohet se i shkaktoi një person, të mbledhura mbi kopjet. Goditjet e makinave përjashtohen dhe përsëritjet brenda tridhjetë sekondave bashkohen në një, pra kjo është shifra që duhet vënë para një lexuesi.
clickCountnumber- Klikime të numëruara, të mbledhura mbi kopjet. Të deduplikuara për lidhje dhe jo për mesazh, pra dy lidhje të ndryshme të ndjekura me disa sekonda diferencë janë dy klikime.
openCountRawnumber- Çdo marrje e pikselit, përfshirë skanuesit dhe proxy-t e privatësisë. `openCountRaw - openCount` është sa prej tyre i la mënjanë klasifikuesi, dhe e vetmja provë e disponueshme se filtrimi ndodhi fare.
clickCountRawnumber- Çdo vizitë te një lidhje e rishkruar, përfshirë goditjet e makinave dhe përsëritjet.
firstOpenAtstring | null- Hapja e numëruar më e hershme mbi kopjet, dhe null përderisa nuk ka asnjë. Goditjet e makinave nuk e lëvizin kurrë.
lastOpenAtstring | null- Hapja e numëruar më e fundit mbi kopjet, null përderisa nuk ka asnjë.
firstClickAtstring | null- Klikimi i numëruar më i hershëm mbi kopjet, null përderisa nuk ka asnjë.
lastClickAtstring | null- Klikimi i numëruar më i fundit mbi kopjet, null përderisa nuk ka asnjë.
recipientsTrackingRecipientResource[]- Një hyrje për çdo kopje të gjurmuar: një për marrës aty ku transporti lejon që bajtet të ndryshojnë për çdo person, dhe një hyrje e vetme e përbashkët aty ku nuk e lejon. Hyrja e përbashkët hiqet veç nëse mbi të ka rënë vërtet diçka, kështu që një rresht "dikush" i paprekur nuk rri kurrë krah emrave të vërtetë.
recipients[].emailstring | null- Te kush shkoi kjo kopje, me shkronja të vogla dhe ashtu siç ishte në kohën e dërgimit. Null pikërisht kur `attributed` është false.
recipients[].kind'to' | 'cc' | 'bcc' | null- Te cili header u shfaq adresa, që raporti të lexohet ashtu siç lexohej mesazhi. Null te kopja e përbashkët, e cila nuk i përket asnjë adrese.
recipients[].attributedboolean- Nëse ky rresht emërton një person. Lexojeni para `email`: false është kopja e përbashkët, e listuar sapo bie mbi të ndonjë goditje, dhe vënia e një emri mbi atë goditje, qoftë edhe te një mesazh me një marrës të vetëm, do të shpikte të vetmin fakt që mekanizmi nuk mund ta japë.
recipients[].openCountnumber- Hapje të numëruara vetëm mbi këtë kopje, nën të njëjtat përjashtime si totali i mesazhit: goditjet e makinave hiqen, dhe përsëritjet brenda tridhjetë sekondave bashkohen në një.
recipients[].clickCountnumber- Klikime të numëruara vetëm mbi këtë kopje, të deduplikuara për lidhje dhe jo për kopje.
recipients[].firstOpenAtstring | null- Hapja e numëruar më e hershme mbi këtë kopje, null përderisa nuk ka asnjë.
recipients[].lastOpenAtstring | null- Hapja e numëruar më e fundit mbi këtë kopje, null përderisa nuk ka asnjë.
recipients[].firstClickAtstring | null- Klikimi i numëruar më i hershëm mbi këtë kopje, null përderisa nuk ka asnjë.
recipients[].lastClickAtstring | null- Klikimi i numëruar më i fundit mbi këtë kopje, null përderisa nuk ka asnjë.
linksTrackingLinkResource[]- Çdo lidhje që u rishkrua në këtë mesazh, e renditur sipas vendit ku ndodhej në trup. Bosh aty ku nuk pati asnjë: një mesazh i dërguar me `clicks` të fikur, ose një trupi i të cilit nuk mbante fare lidhje.
links[].idstring- Id-ja e vetë lidhjes, `lnk_…`. Është vlera që emërton `linkId` i një rreshti klikimi, kështu që një goditje nga `listClicks` mund të përputhet mbrapsht me hyrjen këtu.
links[].urlstring- Ku shkon vërtet lidhja, ashtu siç ishte te mesazhi para rishkrimit. Ridrejtuesi e zgjidh një id mbrapsht në këtë dhe e çon vizitorin më tej.
links[].labelstring | null- Teksti i lidhjes ashtu siç u shfaq te mesazhi, ose null aty ku lidhja nuk kishte, si te një imazh ose një URL e zhveshur. Është aty që një raport të mund të thotë "lidhja e çmimeve" në vend që të citojë një URL me tre parametra gjurmimi mbi të, dhe nuk e zëvendëson kurrë `url`.
links[].clickCountnumber- Vizita të numëruara te kjo lidhje, të mbledhura mbi kopjet. E njëjta dritare tridhjetësekondëshe për lidhje si te `clickCount` i mesazhit.
links[].clickCountRawnumber- Çdo vizitë te kjo lidhje, përfshirë goditjet e makinave dhe përsëritjet.