Scenario: Create/Update Customer
MethodName: CreateCustomer()
Inputs:
WebsiteIDRequired, used to identify configuration
MagentoCustomerIDRequired, used for linking in CPMagento
CPCustomerIDOptional-15 chars, CUST_NODefault “”
EmailOptional-50 chars, EMAIL_ADRS_1Default “”
AccountingEmailOptional-50 chars, EMAIL_ADRS_2Default “”
MarketingEmailOptional-50 chars, EMAIL_ADRS_3Default “”
CompanyNameOptional-40 chars, NAMDefault “”
FirstNameOptional-15 chars, FST_NAMDefault “”
LastNameOptional-15 chars, LST_NAMDefault “”
TaxIDOptional-30 chars, TAX_EXEMPT_NODefault “”
BillAddress1Optional-40 chars, ADRS_1Default “”
BillAddress2Optional-40 chars, ADRS_2Default “”
BillAddress3Optional-40 chars, ADRS_3Default “”
BillCityOptional-20 chars, CITY Default “”
BillStateOptional-10 chars, STATEDefault “”
BillZipcodeOptional-15 chars, ZIP_CODDefault “”
BillCountryOptional-20 chars, CNTRYDefault “”
ShipCompanyNameOptional-40 chars, AR_SHIP_ADRS.NAMDefault “”
ShipFirstNameOptional-15 chars,
AR_SHIP_ADRS.FST_NAMDefault “”
ShipLastNameOptional-15 chars,
AR_SHIP_ADRS.LST_NAMDefault “”
ShipAddress1Optional-40 chars,
AR_SHIP_ADRS.ADRS_1Default “”
ShipAddress2Optional-40 chars,
AR_SHIP_ADRS.ADRS_2Default “”
ShipAddress3Optional-40 chars,
AR_SHIP_ADRS.ADRS_3Default “”
ShipCityOptional-20 chars,
AR_SHIP_ADRS.CITY Default “”
ShipStateOptional-10 chars,
AR_SHIP_ADRS.STATEDefault “”
ShipZipcodeOptional-15 chars,
AR_SHIP_ADRS.ZIP_CODDefault “”
ShipCountryOptional-20 chars,
AR_SHIP_ADRS.CNTRYDefault “”
ShipPhoneOptional-25 chars,
AR_SHIP_ADRS.PHONE_1Default “”
CategoryOptional-* chars, Default “”
use “retail” or “wholesale”
PhoneOptional-25 chars, PHONE_1Default “”
ReferenceOptional-10 chars, PROF_COD_1Default “”
WebsiteOptional-100 chars, URL_1Default “”
NewsletterSubscribeOptional – Trims to 1 chars (Y/N),
INCLUDE_IN_MARKETING_MAILOUTS Default “Y”
Please note that even though most fields are marked optional, new and modified customers written to the Counterpoint DB will use the default string where a parameter is missing
Logic:
Step 1: Identify if customer exists
Attempt 1: Look for linked customer in CPMagento using WebsiteID and Magento CustomerID
Attempt 2: Look for customer in Counterpoint with matching CUST_NO
Attempt 3: Look for customer in Counterpoint with matching EMAIL_ADRS_1
Attempt 4: Look for customer in Counterpoint with matching PHONE_1. Phone numbers are stripped of these characters ().- before comparison.
Step 2: Create/Update Counterpoint
All newly created customers inherit all values from the template customer configured in CPMagento. If Company name is provided, NAM is set to company name and CUST_NAM_TYP is set to “B”, if not – NAM is set to FST_NAM and LST_NAM and CUST_NAM_TYP is set to “P”. If an invalid PROF_COD_1 is requested, the text value requested will be saved regardless.
Step 3: Create/Update CPMagento
Use:
Returns:
{
"CustomerInfo": [{
"CPCustomerID": "WEB100085"
}]
}
Returns:
{
"Error": "Error Message."
}