Kernconcepten
Targets en trefwoorden zijn verschillende dingen
Een target is een account dat u volgt; u krijgt alles wat het doet, of alleen de gebeurtenistypen die u kiest. Een trefwoord is een query die u over heel X volgt; u krijgt berichten van iedereen die eraan voldoen, als search.match-gebeurtenissen. Targets worden geïdentificeerd door hun handle, trefwoorden door de querytekst, en een sleutel kan van elk zoveel bevatten als de limieten van zijn plan toestaan.
Een account is zijn id, niet zijn handle
U monitort een account, herkenbaar aan zijn numerieke X-id (id op een Target). Een account kan zijn handle (screen_name) of weergavenaam op elk moment wijzigen: u blijft zijn gebeurtenissen ontvangen, latere gebeurtenissen dragen de nieuwe handle in target.screen_name, en een profile.screen_name- of profile.name-gebeurtenis meldt wat er veranderde. Sleutel uw gegevens op id. Overal waar de API een account verwacht, kunt u het aanduiden met zijn user_id, zijn huidige handle of een handle die het eerder had.
Levering in twee fasen: create, daarna update
Sommige berichtgebeurtenissen worden in twee frames afgeleverd. Het eerste, op: "create", bevat de essentie — het bericht-id, de auteur en de tekst — zodat u er onmiddellijk op kunt handelen. Even later komt hetzelfde gebeurtenis-id opnieuw binnen met op: "update", nu met media, het geciteerde of beantwoorde origineel, aantallen en de rest. Gebeurtenissen die al compleet zijn wanneer ze voor het eerst worden gezien hebben geen tweede frame; GET /v1/meta/event-types zegt welke typen er een kunnen hebben.
create. Hebt u het hele bericht nodig, wacht dan op update met hetzelfde id. Sleutel uw opslag in beide gevallen op id en laat een latere update overschrijven wat u had bewaard. Het type verandert tussen de twee frames maar op één manier: een eerste tweet.create met kind_final: false kan tweet.quote worden. Behandelt u originele berichten en citaten verschillend, deel zo'n frame dan pas in als de update binnen is.Minstens één keer, nooit precies één keer
Elk gevolgd account wordt door meerdere onafhankelijke paden tegelijk in de gaten gehouden, zodat één uitvallend pad u niets kost. Het eerste pad dat een bepaalde wijziging meldt wint en wordt de gebeurtenis; de andere worden als bevestiging vastgelegd en niet opnieuw afgeleverd. Na een herverbinding kunt u echter een gebeurtenis zien die u al hebt. Ontdubbel op id.
Positie en replay
Elke gebeurtenis draagt een sid — haar positie in ons logboek. Bewaar de laatste die u hebt verwerkt; geef die bij herverbinding mee als ?last_id= en we sturen alles wat daarna kwam voordat we live verdergaan. Het logboek bewaart 24 uur, en één herverbinding speelt maximaal 5.000 gebeurtenissen opnieuw af. Targets of trefwoorden die u toevoegt terwijl een socket open is, stromen binnen 30 seconden op die socket binnen; u hoeft niet opnieuw te verbinden.