-uall [4ms] 2025-05-07 15:59:34.534 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [1ms] 2025-05-07 15:59:47.516 [info] > git config --get commit.template [4ms] 2025-05-07 15:59:47.517 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [2ms] 2025-05-07 15:59:47.527 [info] > git status -z -uall [6ms] 2025-05-07 15:59:47.527 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [2ms] 2025-05-07 16:00:42.541 [info] > git config --get commit.template [6ms] 2025-05-07 16:00:42.541 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [1ms] 2025-05-07 16:00:42.551 [info] > git status -z -uall [4ms] 2025-05-07 16:00:42.551 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [1ms] 2025-05-07 16:01:09.601 [info] > git rev-parse --show-toplevel [1ms] 2025-05-07 16:01:09.601 [info] fatal: not a git repository (or any of the parent directories): .git 2025-05-07 16:01:37.297 [info] > git config --get commit.template [5ms] 2025-05-07 16:01:37.299 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [2ms] 2025-05-07 16:01:37.307 [info] > git status -z -uall [4ms] 2025-05-07 16:01:37.307 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [1ms] 2025-05-07 16:07:39.741 [info] > git config --get commit.template [2ms] 2025-05-07 16:07:39.747 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [2ms] 2025-05-07 16:07:39.755 [info] > git status -z -uall [4ms] 2025-05-07 16:07:39.756 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [1ms] 2025-05-07 16:08:30.118 [info] > git config --get commit.template [6ms] 2025-05-07 16:08:30.119 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [1ms] 2025-05-07 16:08:30.128 [info] > git status -z -uall [6ms] 2025-05-07 16:08:30.128 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [2ms] 2025-05-07 16:08:43.411 [info] > git config --get commit.template [6ms] 2025-05-07 16:08:43.411 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [1ms] 2025-05-07 16:08:43.420 [info] > git status -z -uall [4ms] 2025-05-07 16:08:43.421 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [2ms] 2025-05-07 16:09:00.134 [info] > git config --get commit.template [6ms] 2025-05-07 16:09:00.134 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [1ms] 2025-05-07 16:09:00.149 [info] > git status -z -uall [8ms] 2025-05-07 16:09:00.149 [info] > git for-each-ref --sort -committerdate --format %(refname)%00%(objectname)%00%(*objectname) [1ms] 2025-05-07 16:09:11.349 [info] > git config --get commit.template [5ms] 2025-05-07 16:09:11.350 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/master refs/remotes/master [1ms] 2025-05-07 16:09:11.360 [info] > git status -z -uall [4ms] 2025-05-07 16:09:11.361 [info] > git for-each-ref --sort -committercrm_organization_id); $response = makeCurlRequest([ "https://www.zohoapis.com/crm/v2/{$crmDataObj->pModule}/{$crmRecordId}/Attachments", 'GET', ["Authorization: Zoho-oauthtoken $getAccessToken->token"] ]); $data = json_decode($response); var_dump([ "https://www.zohoapis.com/crm/v2/{$crmDataObj->pModule}/{$crmRecordId}/Attachments", 'GET', ["Authorization: Zoho-oauthtoken $getAccessToken->token"] ]); var_dump($response); return ; if (empty($data->data)) exit(json_encode(["error" => "El registro no cuenta con archivos adjuntos"])); $attachments = $data->data; $customAttrTest = []; foreach ($attachments as $file) { $id = $file->id; $fileName = $file->File_Name; $author = strstr($file->Owner->email, '@', true); $download = makeCurlRequest( "https://www.zohoapis.com/crm/v2/{$crmDataObj->pModule}/{$crmRecordId}/Attachments/{$id}", 'GET', ["Authorization: Zoho-oauthtoken $CRMaccess_token"] ); file_put_contents($fileName, $download); $fileProfile = array_merge($netDocumentsProfile, [["id" => "1", "value" => $author]]); $upload = makeCurlRequest( "https://api.vault.netvoyage.com/v1/Document/upload", 'POST', [ "Authorization: Bearer $netDocumentsAccessToken", "Content-Type: multipart/form-data", "Accept: application/json" ], [ 'file' => new CURLFile($fileName), 'destination' => $crmDataObj->pDestination, 'cabinet' => $crmDataObj->pCabinet, 'return' => 'full', 'customAttributes' => new CURLString(json_encode($fileProfile)) ] ); $uldata = json_decode($upload); $fileId = $uldata->standardAttributes->id ?? null; $envId = $uldata->standardAttributes->envId ?? null; $fileUrl = $uldata->standardAttributes->url ?? null; if (!$fileId) continue; $logMsg = "Archivo $fileName agregado a NetDocuments:\nEnvelope ID: $envId\nID: $fileId\nURL: https://vault.netvoyage.com/neWeb2/goId.aspx?id=$fileId&open=Y"; $recordObject = [ 'Usuario_Originador' => ['name' => $crmDataObj->pUsuarioOriginadorName, 'id' => $crmDataObj->pUsuarioOriginadorId], 'Interfase' => $crmDataObj->pInterfase, 'Modulo' => $crmDataObj->pModule, 'Log' => $logMsg, 'Registro' => $crmDataObj->pRegistroUrl ]; $body = ['data' => [$recordObject]]; makeCurlRequest( 'https://www.zohoapis.com/crm/v2/AptusLogs', 'POST', ["Authorization: Zoho-oauthtoken $CRMaccess_token"], json_encode($body) ); makeCurlRequest( "https://www.zohoapis.com/crm/v2/{$crmDataObj->pModule}/{$crmRecordId}/Attachments/{$id}", 'DELETE', ["Authorization: Zoho-oauthtoken $CRMaccess_token"] ); unlink($fileName); $customAttrTest[] = ["file_id" => $fileId, "attributes" => json_encode($fileProfile)]; } // Solo si se requiere debug if (isset($_REQUEST['debug']) && $_REQUEST['debug'] == '1') { makeCurlRequest( 'https://zohoapi-730085095.development.catalystserverless.com/server/Cliq/sendMessage', 'POST', ['Content-Type: application/json'], json_encode([ "client_key" => "704580140", "recipient" => "uploadattachmentstond", "bot_name" => "devbotq", "message" => json_encode($customAttrTest) ]) ); } echo json_encode([ "status" => "ok", "archivos_subidos" => count($customAttrTest), "detalle" => $customAttrTest ]); ?>