is ok, for both is working , maybe is not the best solution , but is working : )
search
if (!empty($post)) {
$api->loadCommand("logicboxes_contacts");
$contacts = new LogicboxesContacts($api);
foreach ($sections as $section) {
$contact = array();
foreach ($post as $key => $value) {
if (strpos($key, $section . "_") !== false && $value != "")
$contact[str_replace($section . "_", "", $key)] = $value;
}
$response = $contacts->modify($contact);
$this->processResponse($api, $response);
if ($this->Input->errors())
break;
}
$vars = (object)$post;
}
change by
if (!empty($post)) {
$domain_info = $domains->details(['order-id' => $fields->{'order-id'}, 'options' => "OrderDetails"])->response();
$tld = $this->getTld($fields->{'domain-name'}, true);
$contact_type = $this->getContactType($tld);
foreach ($sections as $section) {
$contact = [];
foreach ($post as $key => $value) {
if (strpos($key, $section . "_") !== false && $value != "") {
$contact[str_replace($section . "_", "", $key)] = $value;
}
if (empty($contact["company"])) {
$contact["company"] = "Not Applicable";
}
if (empty($contact["zipcode"])) {
$contact[$key] = "00000";
}
$contact["customer-id"] = $domain_info->customerid;
$contact["type"] = $contact_type ;
}
$contact_id = $this->createContact($package->module_row, $contact);
$new_contact[$section] = $contact_id;
}
$customer_id = $this->getCustomerId($package->module_row, $client->email);
$data = [
'order-id' => $fields->{'order-id'},
'reg-contact-id' => $new_contact["registrantcontact"],
'admin-contact-id' => $new_contact["admincontact"],
'tech-contact-id' => $new_contact["techcontact"],
'billing-contact-id' => $new_contact["billingcontact"]
];
// Request for Opt-Out of 60 day lock that is applied post Registrant Change
$data['sixty-day-lock-optout'] = false;
// Handle special assignment case for .AU
$attr = [];
$attr['skipIRTP'] = true; // Skip IRTP Process
$data = array_merge($data, $this->createMap($attr));
$response = $domains->modifyContact($data);
$this->processResponse($api, $response);
$vars = (object)$post;
}