Die Nutzung Ihres Schlüssels überwachen, bevor Sie an ein Limit stoßen
Wenn Sie Ihre Kontingent-Header laufend beobachten, wissen Sie, wann ein Limit näher rückt, lange bevor eine Anfrage tatsächlich abgelehnt wird.
„Geöffnet bis 18 Uhr“ ist nur nützlich, wenn der Besucher, der das liest, weiß, welche 18 Uhr Sie meinen. Ein Besucher in einer anderen Zeitzone als Ihr Unternehmen braucht diesen Vergleich in seiner eigenen Ortszeit, nicht in Ihrer.
Eine einzige IP-Abfrage liefert direkt ein timezone-Feld und damit alles, was Sie brauchen, ohne separaten Aufruf.
GET /v1/ip?ip=203.0.113.44{
"status": "ok",
"ip": "203.0.113.44",
"version": 4,
"found": true,
"country": "Japan",
"country_code": "JP",
"region": "Tokyo",
"city": "Tokyo",
"postcode": "100-0001",
"lat": 35.6762,
"lon": 139.6503,
"timezone": "Asia/Tokyo",
"asn": 2345,
"org": "Example Telecom"
}Rechnen Sie Ihre eigenen Öffnungszeiten, die in der Zeitzone Ihres Unternehmens gespeichert sind, mithilfe der gerade abgerufenen Zeitzonenkennung in die Zone des Besuchers um und vergleichen Sie sie dann mit der aktuellen Ortszeit des Besuchers, um zu entscheiden, ob Sie „jetzt geöffnet“ oder „geschlossen“ anzeigen, zusammen mit der Ortszeit, auf die sich diese Anzeige bezieht.
Ein Unternehmen mit Standorten in verschiedenen Städten sollte die angegebenen Öffnungszeiten jedes Standorts in dessen eigener gespeicherter Zone nachschlagen und dann jeden einzeln mit der Zone des Besuchers vergleichen, statt anzunehmen, dass überall dieselben Öffnungszeiten gelten. Das ist vor allem dann wichtig, wenn ein Besucher zwei Standorte auf derselben Seite vergleicht, denn im exakt selben Moment kann der eine als geöffnet und der andere als geschlossen erscheinen, wenn sie in verschiedenen Zonen liegen oder die Sommerzeit unterschiedlich handhaben.
Statt stillschweigend umzurechnen und zu hoffen, dass der Besucher es versteht, zeigen Sie beide Angaben deutlich an, etwa „Derzeit geschlossen. Öffnet um 9 Uhr Ihrer Zeit (Asia/Tokyo).“ Diese Klarheit vermeidet Verwirrung, wenn ein Unternehmen über eine Grenze hinweg tätig ist, die sich auf der einen Seite mit der Sommerzeit verschiebt, auf der anderen aber nicht.
Berechnen Sie den Vergleich „geöffnet oder geschlossen“ nicht einmalig, um dieses boolesche Ergebnis dann für den Rest der Sitzung des Besuchers zu cachen. Ein Vergleich um 5:55 pm zeigt „geöffnet“ an und ist um 6:05 pm weiterhin falsch, wenn der zugrunde liegende Öffnungsstatus gecacht statt neu berechnet wird. Cachen Sie die Zeitzonenkennung des Besuchers, da sie für eine Sitzung tatsächlich stabil ist, aber berechnen Sie den eigentlichen Vergleich „geöffnet oder geschlossen“ bei jedem Rendern neu.
Manche Regionen behalten das ganze Jahr über einen festen Offset, während eine Nachbarregion zweimal im Jahr umstellt. Der Abstand zwischen zwei Zonen ist also nicht über das ganze Jahr konstant. Wenn Ihre Vergleichslogik einen Offset in Stunden fest codiert, statt mit der Zeitzonenkennung zu arbeiten und die Umrechnung Ihrer Datumsbibliothek zu überlassen, gerät sie genau in den Wochen rund um eine Sommerzeitumstellung aus dem Takt.
Die Zeitzonenkennung des Besuchers ist für eine Sitzung stabil und lohnt sich zu cachen. Ob das Unternehmen gerade geöffnet hat, ändert sich im Laufe des Tages. Berechnen Sie diesen Vergleich daher beim Rendern mit der gecachten Zone neu, statt den Status „geöffnet“ oder „geschlossen“ selbst zu cachen.
Wenn Sie wissen müssen, wie der Offset zu einem bestimmten Zeitpunkt war oder sein wird, statt jetzt gerade, etwa um zu bestätigen, zu welcher Uhrzeit eine gestern aufgegebene Bestellung in der Zone des Kunden tatsächlich eingegangen ist, akzeptiert /v1/timezone einen optionalen time-Parameter als Unix-Zeitstempel für genau diese Art von historischer oder künftiger Prüfung.
Eine IP-Abfrage pro neuer Besuchersitzung deckt diese Funktion ab. Das ist eine einzige Anfrage, die für die Dauer des Besuchs gecacht wird, sodass selbst eine stark besuchte Shop-Website deutlich innerhalb der 2.500 kostenlosen Anfragen pro Tag bleibt, die in jedem Schlüssel enthalten sind.
„Jetzt geöffnet“ für ein weltweites Publikum richtig anzuzeigen ist eine Frage von einer Abfrage und einem einfachen Zeitvergleich, keine komplizierte Funktion. Die Dokumentation zur IPv4-Abfrage listet die vollständige Antwortstruktur auf.