WA Lookup Workflow-Illustration zu „Umgang mit den von WA Lookup zurückgegebenen avatar_url-Werten“
Ein visueller Überblick über den in diesem WA Lookup Artikel beschriebenen Workflow.

Das Feld avatar_url ist der Teil einer ws_avatar-Antwort, der Integrationen am häufigsten überrascht – weil es ein leerer String sein kann und weil eine URL etwas ganz anderes zu speichern ist als ein boolescher Wert.

WA Lookup liefert das Feld avatar_url in jeder erfolgreichen ws_avatar-Antwort. Der Wert ist ein leerer String, wenn keine URL verfügbar ist. Eine Integration sollte ihn daher getrennt vom zugehörigen booleschen Wert avatar speichern und den leeren Wert ausdrücklich behandeln.

Boolescher Wert und URL getrennt modellieren

Der boolesche Wert avatar und der String avatar_url beantworten unterschiedliche Fragen: ob ein Avatar erkannt wurde und wo er abgerufen werden könnte. Werden beide in einer einzigen nullbaren Spalte zusammengefasst, geht die erste Antwort immer dann verloren, wenn die zweite fehlt – und ein Fehlen ist ein normales Ergebnis, kein Sonderfall. Mit zwei Spalten bleiben beide Antworten lesbar.

Entscheiden, ob Sie die URL überhaupt speichern

Manche Integrationen benötigen nur den booleschen Wert; in diesem Fall beseitigt das Verwerfen der URL eine ganze Reihe von Fragen zur Aufbewahrung. Wenn Sie sie behalten, speichern Sie das Prüfdatum daneben, denn Profilinformationen ändern sich, und eine gespeicherte URL ist eine Momentaufnahme dessen, was zum Zeitpunkt der Prüfung galt, und keine dauerhafte Adresse.

Den Abruf als eigenes Thema behandeln

Den Inhalt abzurufen, auf den eine URL verweist, ist ein anderer Vorgang als die Prüfung selbst – mit eigenen Fehlerarten und eigenem Timing. Wenn Sie beides getrennt halten, sieht ein Abrufproblem in Ihren Logs nie wie ein Prüfproblem aus. Das ist wichtig, wenn Sie herausfinden möchten, warum ein Batch fehlerhaft aussieht.

Fehlende Werte ohne Verzweigungen überall behandeln

Normalisieren Sie die Antwort einmal an der Grenze Ihrer Integration – wandeln Sie das optionale Feld in eine explizite Darstellung um, die Ihr Code versteht –, statt an jeder Aufrufstelle auf Vorhandensein zu prüfen. Fehlende Werte sind so häufig, dass verstreute Prüfungen zur Hauptquelle vermeidbarer Fehler werden.

FAQ

Sollte avatar_url unbegrenzt gespeichert werden?

Wenn Sie den Wert überhaupt speichern, dann zusammen mit dem Prüfdatum, da sich Profilinformationen ändern und der Wert eine Momentaufnahme und keine dauerhafte Adresse ist.

Was bedeutet ein fehlender avatar_url-Wert?

Dass der vorgelagerte Dienst zum Zeitpunkt der Prüfung für dieses Konto keinen geliefert hat. Der boolesche Wert avatar gibt weiterhin an, ob ein Avatar erkannt wurde.

Erfolgt der Abruf im Rahmen der Prüfung?

Nein. Die Prüfung liefert Felder; den Inhalt abzurufen, auf den eine URL verweist, ist ein separater Vorgang mit eigenen Fehlerarten.

Quellen