CIM 59 - Create Partner

This commit is contained in:
“VeLiTi”
2024-03-29 13:19:00 +01:00
parent 74d43f3c41
commit b49e7b9a8d
3 changed files with 63 additions and 2 deletions

View File

@@ -103,6 +103,35 @@ else {
);
}
}
//CHECK IF PARTNER HAS PARTNER RECORD - IF NOT CREATE AND USE
foreach ($account as $key => $value){
if ($key != "section"){
//CHECK for id- pattern
if (preg_match('/\-.*/',$value)){
//Do Nothing
}
else {
//No partner ID found
switch ($key) {
case 'salesid':
$p_type = 'SalesID';
break;
case 'soldto':
$p_type = 'SoldTo';
break;
case 'shipto':
$p_type = 'ShipTo';
break;
case 'location':
$p_type = 'Location';
break;
}
//Create partner and push to array account
$account[$key] = createPartner($partner->salesid,$partner->soldto,$value,$p_type);
}
}
}
// CREATE ACCOUNTHIERARCHY JSON FROM ACCOUNT ARRAY
$accounthierarchy = json_encode($account, JSON_UNESCAPED_UNICODE);
//ADD STANDARD PARAMETERS TO ARRAY BASED ON INSERT OR UPDATE

View File

@@ -13,7 +13,7 @@ $post_content = json_decode(decode_payload($input),true);
//SoldTo is empty
if (empty($partner->soldto) || $partner->soldto == ''){$soldto_search = '%';} else {$soldto_search = '-%';}
//default whereclause to check if data is owned buy user
//default whereclause to check if data is owned by user
$whereclause = '';
switch ($permission) {

View File

@@ -1776,4 +1776,36 @@ header("Content-Disposition: attachment; filename=\"$fileName\"");
// Render excel data
echo $excelData;
exit;
}
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Create Partner - when not exists
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++
function createPartner($user_salesid,$user_soldto,$p_name,$p_type){
$p_return = '';
//BUILD POST DATA
$data = json_encode(array("partnerID" => '' , "salesid" => $user_salesid , "soldto" => $user_soldto, "partnername" => $p_name, "partnertype" => $p_type , "partnernotes" => 'system generated'), JSON_UNESCAPED_UNICODE);
//Secure data
$payload = generate_payload($data);
//API call
$responses = ioServer('/v1/partners', $payload);
if ($responses === 'NOK'){
// Do Nothing
}
else {
//GET PARTNER DATA - CALL TO API WITH PARTNERNAME
$api_url = '/v1/partners/partnername='.$p_name;
$responses = ioServer($api_url,'');
//Decode Payload
if (!empty($responses)){
//If response received, check END of array for latest partner details
$responses = decode_payload($responses);
$partner= end($responses);
$p_return = $responses['partnerID'].'-'.$responses['partnername'];
}
}
return $p_return;
}