Requirement U1 : create/update/delete a Magento customer when a Drupal user has been created/updated/deleted.
One way synchronisation is supported only as Magento is used as a backend solution ? Or should be support two-ways user accounts synchronisation.
Open question : how to manage user profile fields mapping between Magento & Drupal ?
Magento part
Magento API defines following methods to manage customers on their interface :
customer.create
Create customer
Return: int
Arguments: array customerData - cutomer data (email, firstname, lastname, etc...)
Returned int is Magento's customer id. It should be stored as a Profile field OR in an internaly created table. This should be decided later.
customer.update
Update customer data
Return: boolean
Arguments:
int customerId - customer ID
array customerData - customer data (email, firstname, etc...)
customer.delete
Delete customer
Return: boolean
Arguments:
int customerId - customer ID.
Drupal part
On drupal side we should hook user creation and call Magento API wrapper in order to create a customer on user creation.
Of Magento users should be deleted / updated when Drupal user has been deleted / updated.
So I suggest creation of a module, named magento_customer that will handle all stuf related to magento / drupal users & customers integration.