Contact module
The contact module can be used to export contacts from HyperPortal to XDMS. Contact import can be configured in the XDMS tab in the settings. Contacts are stored in the general tab of the XDMS customer

Since Organizationless contacts cannot exist in XDMS, if you create a new Contact in HyperPortal, without connecting it to any Organization, it will still be pushed to XDMS and the Organization (Third Party) will be automatically created and linked to the new Contact, inheriting all possible Contact info to the Third Party details in XDMS.
Mapping
Most of the fields can be directly mapped with property ID, for example - NMcontact = FirstName

Where the NMcontact is an ID of the first name field in XDMS contacts and FirstName is a property ID of the field name field of the contact entity

But there are some exceptions. NRrel field should receive an xdmsExternalRef of the organization field - NRrel = organization.xdmsExternalRef

NRrel is an ID of the customer in XDMS.

To connect the contact to the organization that exists in XDMS we need to pass the ID of this organization to XDMS. This ID is stored in the 'xdmsExternalRef' field in the organization entity.

The expression for any date field should look like this - TEXT(TZ(birthDate, "Europe/Brussels"),"YYYY-DD-MM")
Where 'birthDate' is a date property, TZ is an expression that converts the date to the required timezone (in our case it`s Brussels, you can choose any timezone here depending on the case). Because the date is stored in the HyperPortal in Unix epoch format, we need to use the 'TEXT' expression to convert it into the needed format ("YYYY-DD-MM") that can be accepted by XDMS.

Gender should also be referred to by the xdmsExternalRef. It would look like this CDsex = gender.xdmsExternalRef. This is because in XDMS genders are stored like this F, M, Unknown. So we need to pass one of those three values to XDMS, and those values should be stored in the xdmsExternalRef field of the gender entity.

The CDrel field in XDMS is a required field in XDMS, this means it should be pushed with every contact. It determines the type of the 'relations' record. When mapping the contacts to XDMS we can pass the constant "K" which means 'Client'. All contacts that we push to XDMS will be saved as clients. The mapping will look like that CDrel = "K"

Example of mappings - https://volodymyro.hyper1.net/settings/integrations/xdmsIntegration/xdmsContactModule