Ejemplo n.º 1
0
 public static function executeAction($actionId, $profileId, $arOrder, $arConfig)
 {
     $reqResult = array();
     $result = array();
     switch ($actionId) {
         case "REQUEST_SELF":
             $controller = 'preregistration';
             $action = 'submit';
             $data = Adapter::preparePreregistrationReqData($arOrder, $profileId, $arConfig);
             $reqResult = static::sendRequest($arConfig["LOGIN"]["VALUE"], $arConfig["KEY"]["VALUE"], $controller, $action, $data);
             if (isset($reqResult["DATA"]["cargos"][0]["cargoCode"])) {
                 $result["TRACKING_NUMBER"] = $reqResult["DATA"]["cargos"][0]["cargoCode"];
                 if (isset($reqResult["DATA"]["documentId"])) {
                     $result["DELIVERY_DOC_NUM"] = $reqResult["DATA"]["documentId"];
                 }
                 $phoneAndEmail = static::getPhoneEmail($arOrder["ID"]);
                 $subsData = Adapter::prepareSubscribeReqData(array($reqResult["DATA"]["cargos"][0]["cargoCode"]), $phoneAndEmail["EMAIL"], $phoneAndEmail["PHONE"]);
                 $subsResult = static::sendRequest($arConfig["LOGIN"]["VALUE"], $arConfig["KEY"]["VALUE"], "notification", "cargosubscribe", $subsData);
             }
             break;
         case "REQUEST_STATUS":
             $controller = 'cargos';
             $action = 'status';
             $data = array('cargoCodes' => array($arOrder['TRACKING_NUMBER']));
             $reqResult = static::sendRequest($arConfig["LOGIN"]["VALUE"], $arConfig["KEY"]["VALUE"], $controller, $action, $data);
             break;
         case "REQUEST_TAKE":
             $reqResult = array("RESULT" => "ERROR", "TEXT" => "");
             break;
     }
     $result["RESULT"] = $reqResult["RESULT"];
     if (isset($reqResult["TEXT"])) {
         $result["TEXT"] = $reqResult["TEXT"];
     }
     if (isset($reqResult["DATA"])) {
         $result["DATA"] = $reqResult["DATA"];
     }
     return $result;
 }