Formatowanie danych użytkownika

Interfejs Data Manager API umożliwia przesyłanie różnych typów danych użytkowników. Aby dane zostały prawidłowo odebrane i przetworzone, postępuj zgodnie z wymaganiami dotyczącymi formatowania, haszowania i kodowania każdego elementu danych.

Wymagania dotyczące UserData

Obiekt UserData to zbiór obiektów UserIdentifier. Każdy obiekt UserIdentifier ma dokładnie 1 atrybut z tabeli poniżej.

UserIdentifier
email_address
Format
string
Zmień na małe litery.
Jeśli adres e-mail ma domenę gmail.com lub googlemail.com, usuń wszystkie kropki (.) przed symbolem @.
Odstęp Usuń spacje na początku, na końcu i w środku.
Szyfrowanie Zaszyfruj za pomocą algorytmu SHA-256. Zakoduj bajty haszu za pomocą kodowania szesnastkowego lub Base64.
phone_number
Format
string
Użyj formatu E.164.
Dołącz znak plusa (+) i kod kraju. Wszystkie znaki po znaku plusa muszą być cyframi.
Na przykład amerykański numer telefonu (800)555-0100 należy sformatować i znormalizować do postaci +18005550100.
Odstęp Usuń spacje na początku i na końcu.
Szyfrowanie Zaszyfruj za pomocą algorytmu SHA-256. Zakoduj bajty haszu za pomocą kodowania szesnastkowego lub Base64.
address
Zapoznaj się ze specyfikacją formatu AddressInfo.

Format AddressInfo

Aby utworzyć atrybut address obiektu UserIdentifier, postępuj zgodnie z tymi wytycznymi dotyczącymi formatowania.

AddressInfo
given_name
Format
string
Zmień na małe litery.
Nie dodawaj prefiksów, takich jak Mrs.
Odstęp Usuń spacje na początku i na końcu.
Szyfrowanie Zaszyfruj za pomocą algorytmu SHA-256. Zakoduj bajty haszu za pomocą kodowania szesnastkowego lub Base64.
family_name
Format
string
Zmień na małe litery.
Nie dodawaj sufiksów, takich jak Jr.
Odstęp Usuń spacje na początku i na końcu.
Szyfrowanie Zaszyfruj za pomocą algorytmu SHA-256. Zakoduj bajty haszu za pomocą kodowania szesnastkowego lub Base64.
region_code
Format
string
Odstęp Usuń spacje na początku i na końcu.
Szyfrowanie Nie haszuj region_code.
postal_code
Format
string
Dopuszczalne są zarówno amerykańskie, jak i międzynarodowe kody pocztowe.
W przypadku adresów w Stanach Zjednoczonych użyj 5 cyfr lub 5 cyfr z 4-cyfrowym rozszerzeniem. Użycie 4-cyfrowego rozszerzenia może poprawić współczynnik dopasowania.
W przypadku wszystkich innych krajów nie używaj rozszerzeń kodu pocztowego.
Odstęp Usuń spacje na początku i na końcu.
Szyfrowanie Nie haszuj postal_code.

Wymagania dotyczące PairData

Wypełnij pole pair_ids obiektu PairData listą identyfikatorów. Sformatuj każdy element na liście, wykonując te czynności:

  1. Zahaszuj dane osobowe udostępnione przez cleanroom za pomocą algorytmu SHA-256.
  2. Zaszyfruj bajty haszu za pomocą przemiennego szyfru EC, używając klucza wydawcy do listy użytkowników PAIR.
  3. Zakoduj zaszyfrowane dane za pomocą kodowania szesnastkowego lub Base64.

Wymagania dotyczące MobileData

Wypełnij pole mobile_ids obiektu MobileData listą identyfikatorów urządzeń mobilnych. Nie haszuj identyfikatorów urządzeń mobilnych.

Format sygnatury czasowej

Jeśli w przypadku pól Timestamp (np. timestamp i last_updated_timestamp w Event) używasz formatu JSON, użyj formatu RFC 3339. Oto kilka przykładów czasu UTC z 8 sierpnia 2025 r. o 17:18:44.291 w formacie RFC 3339 i różnych strefach czasowych:

  • Strefa czasowa UTC: 2025-08-08T17:18:44.291Z
  • Strefa czasowa EDT, która w tym czasie była 4 godziny przed UTC: 2025-08-08T13:18:44.291-04:00
  • Strefa czasowa PDT, która w tym czasie była 7 godzin przed UTC: 2025-08-08T10:18:44.291-07:00
  • Strefa czasowa Tokio w Japonii, która była 9 godzin przed UTC i nie uwzględnia czasu letniego: 2025-08-08T22:18:44.291+09:00

Jeśli używasz formatu bufora protokołu, podczas tworzenia Timestamp ustaw seconds i opcjonalnie nanos. Oto wartości seconds i nanos dla czasu UTC z 8 sierpnia 2025 r. o 17:18:44.291:

  • seconds: 1754683124
  • nanos: 291000000

Kodowanie

Podczas kodowania danych pamiętaj o tych kwestiach:

  • W przypadku kodowania szesnastkowego (hex) wielkość liter w danych wyjściowych kodowania nie ma znaczenia.
  • W przypadku kodowania Base64 wielkość liter w danych wyjściowych kodowania ma znaczenie podczas używania kodowania Base64.