Gjurmimi i hapjeve dhe i klikimeve
`emails->getTracking` dhe e gjithë hapësira e emrave `tracking`.
Një mesazh i vetëm
$report = $client->emails->getTracking('msg_3f9a1c07d2b84e6a9c5b1f20'); echo $report['openCount'], ' opens from ', count($report['recipients']), ' recipients', PHP_EOL; foreach ($report['links'] as $link) { echo $link['url'], ' ', $link['clickCount'], PHP_EOL;}Një mesazh që nuk u gjurmua kurrë hedh një NotFoundException, isNotFound() i të cilit është true, dhe jo një raport bosh. “Nuk regjistruam asgjë” dhe “askush nuk e hapi” janë përgjigje të ndryshme dhe nuk duhet të jepen me të njëjtën përgjigje. Një mesazh i dërguar me një çelës testimi nuk gjurmohet kurrë, ndaj gjithmonë hedh një të tillë.
Në të gjithë kutinë postare
$unopened = $client->tracking->list(opened: false, days: 7, limit: 100);$stats = $client->tracking->getStats(days: 30, offsetMinutes: intdiv((int) date('Z'), 60));$report = $client->tracking->get('msg_3f9a1c07d2b84e6a9c5b1f20');$opens = $client->tracking->listOpens('msg_3f9a1c07d2b84e6a9c5b1f20', includeMachine: true);$clicks = $client->tracking->listClicks('msg_3f9a1c07d2b84e6a9c5b1f20'); echo count($unopened), ' unopened, ', $stats['openRate'], '% opened', PHP_EOL;echo count($opens), ' opens and ', count($clicks), ' clicks on ', $report['id'], PHP_EOL;list, listOpens dhe listClicks kthejnë një OpenEmail\Result\Page, ndërsa listAll, iterate, listAllOpens, iterateOpens, listAllClicks dhe iterateClicks i përshkojnë të gjitha faqet për ju. get, listOpens dhe listClicks marrin ose id-në e dërgimit msg_…, ose tmsg_… e vetë regjistrit të gjurmimit.
Një hapësirë emrash më vete dhe jo metoda te emails, dhe arsyeja është mbulimi: emails liston regjistrat e dërgimeve, të cilët ekzistojnë vetëm për postën që trajtoi kjo API. Kompozuesi, mjetet MCP dhe asistenti dërgojnë të gjithë pa një të tillë, ndaj një raport i ndërtuar mbi emails do të ishte një raport për trafikun tuaj të API-së dhe jo për kutinë postare.
Si t'i lexoni numrat me ndershmëri
| Çifti | Çfarë do të thotë |
|---|---|
| opens dhe clicks | Çfarë U ZBATUA: nëse mesazhi u nis me një piksel ose me lidhje të rishkruara. |
| opened dhe 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. openRate dhe clickRate janë përqindje të rrumbullakosura në një shifër dhjetore, si 42.5, dhe jo thyesa midis 0 dhe 1.
Parametrat: tracking->list
openedbool- `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ë.
clickedbool- 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.
daysint- Sa ditë pas nga tani të shikohet, nga 1 deri në 365, me 30 si parazgjedhje, dhe jashtë këtij diapazoni jep një 422. Dritarja matet sipas kohës kur u krijua regjistri i gjurmimit, dhe listohen vetëm regjistrat dërgimi i të cilëve u nis vërtet.
minutesint- Dritarja në minuta në vend të kësaj, nga 1 deri në 527040, e cila ka përparësi ndaj `days` kur vendosen të dyja. Një dritare më e shkurtër se një ditë kërkon një `grain` më të imët.
grainstring- `minute`, `hour` ose `day`, me `day` si parazgjedhje. Vetëm e rrumbullakos poshtë fillimin e dritares, që kjo listë të përputhet me `getStats` të lexuar me të njëjtin granularitet, dhe nuk ndikon në asgjë në përgjigje.
limitint- Raporte për faqe, nga 1 deri në 200, me 50 si parazgjedhje, nga më i riu. Për faqen e radhës, jepeni `nextCursor` të faqes prapa si `cursor:`, me të njëjtët filtra, ose lërini `listAll` dhe `iterate` të përshkojnë gjithë dritaren.
cursorstring- `nextCursor` nga faqja e mëparshme, një id `tmsg_`.
apiKeystring- Liston me këtë çelës në vend të atij të klientit.
Përgjigjja: raporti i gjurmimit
emails->getTracking dhe tracking->get kthejnë një raport si array me çelësa në camelCase, dhe tracking->list kthen një faqe me to.
objectstring- Gjithmonë `tracking` te një raport i marrë më vete, përmes `tracking->get`, `tracking->list` ose `emails->getTracking`. I njëjti raport, i futur si `tracking` te një mesazh nga `emails->get`, vjen pa këtë çelës, sepse atje është pjesë e atij mesazhi dhe jo diçka që u mor.
idstring- Id-ja e vetë regjistrit të gjurmimit, `tmsg_…`. Sipas saj identifikohen `listOpens` dhe `listClicks`, dhe një `msg_…` që u jepet atyre kërkohet fillimisht si e tillë.
sendIdstring or null- Dërgimi `msg_…` me të cilin lidhet ky raport, dhe null kur 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 or 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 or 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 or null- Subjekti siç ishte në kohën e dërgimit. null te një mesazh i regjistruar pa subjekt.
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ë.
sourcestring- Cila sipërfaqe e dërgoi: `composer`, `api`, `mcp`, `ai` ose `queue`. Mund të shfaqet një sipërfaqe që kjo paketë ende nuk e emërton, ndaj trajtojeni një vlerë të panjohur si informacion dhe jo si gabim.
sentAtstring or null- Kur u nis mesazhi, si çast ISO 8601. null te një regjistër, dërgimi i të cilit nuk përfundoi kurrë. `tracking->list` i lë jashtë këta regjistra, `get` jo.
opensbool- 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.
clicksbool- Nëse lidhjet e këtij mesazhi u rishkruan. False kur trupi nuk kishte lidhje, sepse atëherë nuk ndryshoi asgjë dhe një regjistër që pretendon të kundërtën nuk mund të pajtohej me bajtet.
openedbool- 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.
clickedbool- 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.
attributablebool- 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ë".
openCountint- 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.
clickCountint- 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.
openCountRawint- Çdo marrje e pikselit, përfshirë skanuesit dhe proxy-t e privatësisë. `openCountRaw` minus `openCount` është sa prej tyre u lanë mënjanë, marrjet nga makinat dhe përsëritjet brenda tridhjetë sekondave së bashku, dhe e vetmja provë e disponueshme se filtrimi ndodhi fare.
clickCountRawint- Çdo vizitë te një lidhje e rishkruar, përfshirë goditjet e makinave dhe përsëritjet.
firstOpenAtstring or 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 or null- Hapja e numëruar më e fundit mbi kopjet, null përderisa nuk ka asnjë.
firstClickAtstring or null- Klikimi i numëruar më i hershëm mbi kopjet, null përderisa nuk ka asnjë.
lastClickAtstring or null- Klikimi i numëruar më i fundit mbi kopjet, null përderisa nuk ka asnjë.
recipientsarray- 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ë.
linksarray- Ç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.
Çdo element në recipients
emailstring or 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.
kindstring or null- `to`, `cc` ose `bcc`: në cilin header u shfaq adresa, që një raport të lexohet ashtu si mesazhi. null te kopja e përbashkët, e cila nuk i përket asnjë adrese të vetme.
attributedbool- 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ë.
openCountint- 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ë.
clickCountint- Klikime të numëruara vetëm mbi këtë kopje, të deduplikuara për lidhje dhe jo për kopje.
firstOpenAtstring or null- Hapja e numëruar më e hershme mbi këtë kopje, null përderisa nuk ka asnjë.
lastOpenAtstring or null- Hapja e numëruar më e fundit mbi këtë kopje, null përderisa nuk ka asnjë.
firstClickAtstring or null- Klikimi i numëruar më i hershëm mbi këtë kopje, null përderisa nuk ka asnjë.
lastClickAtstring or null- Klikimi i numëruar më i fundit mbi këtë kopje, null përderisa nuk ka asnjë.
Çdo element në links
idstring- Id-ja e vetë lidhjes, `lnk_…`. Është vlera që emërton `linkId` i një rreshti klikimi, ndaj një goditje nga `listClicks` mund të lidhet me elementin përkatës këtu.
urlstring- Ku të çon vërtet lidhja, ashtu siç ishte në mesazh para rishkrimit. Ridrejtuesi e gjen këtë sipas një id-je dhe e dërgon vizitorin më tej.
labelstring or null- Teksti i lidhjes ashtu siç u shfaq në mesazh, ose null kur lidhja nuk kishte tekst, 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, dhe nuk e zëvendëson kurrë `url`.
clickCountint- 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.
clickCountRawint- Çdo vizitë te kjo lidhje, përfshirë goditjet e makinave dhe përsëritjet.