Article summary
Vietnam historical databases may contain legacy mobile prefixes and domestic zero notation; build a migration crosswalk before interpreting WS Registration.
Before a Vietnam WhatsApp Registration run, identify whether CRM contains legacy mobile prefixes, domestic zero notation and migrated phones that were never updated. If old and new forms coexist, direct +84 TXT generation may split one customer into two or count a format defect as unregistered.
Separate normalization from prefix migration
Normalization handles display punctuation, country code and domestic prefix. Prefix migration requires an official crosswalk, migration date and provenance. Give them different rule_ids. Never guess a new phone by truncating digits or applying an undocumented replacement.
| Record state | Handling | Audit field |
|---|---|---|
| Current +84 structure | Validate range and length | rule_version |
| Domestic phone beginning with 0 | Apply international prefix handling | phone_raw |
| Legacy mobile prefix | Use an authoritative migration crosswalk | migration_source/date |
| Unconfirmed | Exception queue | owner/reason |
A customer record can retain old and new phones
Store phone_id, old_phone, new_phone, valid_from, valid_to and confirmed_by_customer. A structural migration crosswalk does not automatically prove that the current holder is still the historical customer.
The boundary of WS Registration
The AIPUSH task exports phone and registration result for the current WhatsApp observation. It does not provide Vietnamese carrier, SIM service, migration truth, activity time or contact permission.
Generate TXT from current candidates
AIPUSH accepts one phone per line as TXT. Admit only records passing the current +84 rule or an evidenced migration. Name, order, language and legacy note stay internal. Store the TXT hash and crosswalk.
Stratify results by transformation path
| Path | Report | Focus |
|---|---|---|
| Native current format | Explicit states and unknowns | Baseline |
| Domestic conversion | Format errors | Prefix handling |
| Legacy migration | Reconciliation and duplicates | Mapping error |
| Manual exception | Count not submitted | Exclude from registration rate |
Do not blame historical rules with a false negative
Not returned, unknown, processing error and explicit unregistered remain distinct. A failed legacy conversion is migration_error, not “the user has no WhatsApp.”
Language is not embedded in +84
preferred_language comes from user choice or support history. Vietnamese customers may use Chinese, English or another language, and diaspora may use non-+84 phones. Country code does not select message language.
Reconfirm relationships after reassignment risk
Migration history and long inactivity increase identity-continuity risk. A new positive registration result cannot revive an old customer relationship. Confirm holder and permission before account, order or marketing use.
Registration updates the observation domain only
Load Excel into staging, append batch_id, checked_at and normalization_rule, and connect through contact_id. Explicit states do not overwrite phone_master; conflicts enter accountable review.
Definition of a complete run
Current format, domestic conversion, legacy migration and exceptions each have counts. Inputs and returns reconcile, old/new relationships can be undone, and permission was not copied automatically. Only then is the +84 registration report ready for data governance.
