Article summary
Tunisia uses +216 and a closed eight-digit plan. Build a stable phone key, keep French and Arabic names in the CRM, and join the four WS Activity fields without losing language or identity context.
Tunisian customer records frequently contain French and Arabic names while telephone values arrive with display spaces, no country code or a complete +216 prefix. A Tunisia WhatsApp activity job does not need the names in its payload. Use one normalized +216 value as the join key and return the Excel observations to the bilingual CRM.
Data design: TXT carries telephone numbers only; names and language preferences stay in the CRM. The Excel output is joined by normalized phone, protecting both character encoding and the customer’s preferred display language.
Tunisia’s numbering plan provides a clean starting rule
The Tunisian National Telecommunications Authority states that country code 216 is followed by an eight-digit national significant number. Tunisia uses a closed single-zone plan without a national destination code. The regulator’s numbering dossier supplies the authoritative structure.
Eight digits establish a syntax condition, not proof that the value is a personal mobile, currently assigned or registered on WhatsApp. Use the current service-range information and the source system to classify the telephone purpose.
Give names and numbers different responsibilities
| Data element | Home | Control rule |
|---|---|---|
| French name | Internal CRM | Preserve the source spelling; exclude it from TXT |
| Arabic name | Internal CRM | Keep Unicode; do not force transliteration |
| Normalized telephone | CRM join field and TXT | Use +216 followed by eight digits |
| Activity observation | Task-history table | Retain the execution date and raw output |
Do not overwrite an Arabic name with an automated translation simply to make matching easier. Phone numbers perform the technical join; names support human service and display.
Converge the common display styles
Values may appear as XX XXX XXX, +216 XX XXX XXX or 00216-XX-XXX-XXX. Remove presentation spaces and hyphens, convert 00216 to +216, and verify exactly eight digits after the country code. Tunisia’s closed plan has no domestic trunk prefix, so do not mechanically add a zero to a local eight-digit value.
| Source representation | Candidate key | Decision |
|---|---|---|
| XX XXX XXX | +216XXXXXXXX | Add the country code only when the source is known |
| +216 XX XXX XXX | +216XXXXXXXX | Remove spaces |
| 00216-XX-XXX-XXX | +216XXXXXXXX | Convert the access prefix |
| 0XX XXX XXX | Review | Do not accept the leading zero without evidence |
| Short value after +216 | Exception | Never manufacture a digit |
A shared phone is not automatically a duplicate person
A household, travel agency or business desk may be referenced by several customer records. Deduplicate the normalized input to avoid paying for the same technical query repeatedly, but maintain a relationship table showing every customer ID connected to that phone.
The reverse case also matters: one customer may supply two telephone numbers. Keep separate phone records with source, confirmation date and screening history instead of collapsing them into a single undated field.
Run WS Activity through a staging table
Choose WS Activity on the AppShai WhatsApp Number Checker and submit a TXT list. The Excel output contains phone number, activity time, activity days and WhatsApp mapped phone number. Import those four fields into staging before making any master-data change.
- Freeze a CRM snapshot.
- Create normalized +216 values and format states.
- Deduplicate after normalization and export TXT.
- Run the task and record its date.
- Append the four service fields to task history.
- Route failed joins and differing mapped values to review.
Give French and Arabic teams one controlled status
Use a stable internal enumeration and display localized labels in the interface. For example, keep recent, older, unknown and review as controlled meanings rather than allowing each team to type a free-form translation in Excel. This prevents one condition from splitting into several report categories.
| Controlled state | Meaning | Operational response |
|---|---|---|
| Recent | Inside the predeclared recency window | Prioritize only when an active relationship permits it |
| Older | A timestamp exists outside the recent window | Lower priority; do not trigger an unsolicited blast |
| Unknown | The activity value is unavailable or unclear | Keep it unknown rather than substituting zero |
| Review | Phone or join relationship is inconsistent | Return to source evidence |
Privacy makes an empty activity field ambiguous
WhatsApp’s last-seen and online guidance says visibility can change because of privacy settings, saved-contact and chat relationships, blocking or a temporary connection problem. An unavailable observation cannot be translated into “inactive customer.”
Order events, support cases and direct replies can add business context, but keep those facts in their own systems. The activity field should remain a bounded platform observation.
A bilingual service handoff
| Column family | Contents | Owner |
|---|---|---|
| Identity display | French name, Arabic name, preferred language | CRM team |
| Phone governance | Raw number, normalized number, format status | Data team |
| Task facts | Activity time, activity days, mapped number, job date | Screening operator |
| Contact authority | Enquiry, order, consent and opt-out events | Business and compliance owners |
Release checklist
- Confirm eight digits after +216 and review unexpected leading zeros.
- Keep French and Arabic names out of the TXT payload.
- Distinguish duplicate phones from duplicate people.
- Retain all four Excel service fields and the execution date.
- Leave unavailable activity as unknown.
- Never overwrite a customer-supplied phone with a mapped value automatically.
- Require a documented relationship and language preference before contact.
When telephone numbers handle the technical join, bilingual fields serve the customer and history tables preserve observations, neither language nor platform status has to distort the underlying record.
