92000196555216","user":"gbringas@arochilindner.com"} [f931d3dc-654f-42db-b3b0-107eb204edf3](2024-09-13 15:19:00) - Tokens generados: 1000.a77d0f6ecf193e7a0d81cbff74b6b983.a1804edbaf7bca90f5d6164041a6cdc5 [f931d3dc-654f-42db-b3b0-107eb204edf3](2024-09-13 15:19:00) - Intento 0 para obtener imagen de marca de CRM, respuesta: 200 [f931d3dc-654f-42db-b3b0-107eb204edf3](2024-09-13 15:19:00) - Imagen guardada localmente de manera exitosa [f931d3dc-654f-42db-b3b0-107eb204edf3](2024-09-13 15:19:01) - Intento 0 para actualizar CRM con datos de url de marca: { "data": [ { "code": "SUCCESS", "details": { "Modified_Time": "2024-09-13T14:19:01-06:00", "Modified_By": { "name": "Aptus Legal Administrator", "id": "4597192000000287001" }, "Created_Time": "2024-09-05T17:54:53-06:00", "id": "4597192000196555216", "Created_By": { "name": "Sofia Arroyo Garc\u00eda Lascurain", "id": "4597192000013757014" } }, "message": "record updated", "status": "success" } ] } [f931d3dc-654f-42db-b3b0-107eb204edf3](2024-09-13 15:19:01) - Proceso finalizado exitosamente, URL: https://aptuslegal.app/imagenesAptusLegal/arochi/LogosArochi/MAR-126241.png [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:22:56) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-126684","MarcaId":"4597192000198035044","user":"lmorales@arochilindner.com"} [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:23:03) - Tokens generados: 1000.a77d0f6ecf193e7a0d81cbff74b6b983.a1804edbaf7bca90f5d6164041a6cdc5 [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:23:03) - Intento 0 para obtener imagen de marca de CRM, respuesta: 200 [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:23:03) - Imagen guardada localmente de manera exitosa [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:23:04) - Intento 0 para actualizar CRM con datos de url de marca: { "data": [ { "code": "SUCCESS", "details": { "Modified_Time": "2024-09-13T14:23:04-06:00", "Modified_By": { "name": "Aptus Legal Administrator", "id": "4597192000000287001" }, "Created_Time": "2024-09-13T13:37:02-06:00", "id": "4597192000198035044", "Created_By": { "name": "Luis Daniel Morales Gomez", "id": "4597192000074518098" } }, "message": "record updated", "status": "success" } ] } [671d9013-1bc6-42cf-987e-f667724ae4d9](2024-09-13 15:23:04) - Proceso finalizado exitosamente, URL: https://aptuslegal.app/imagenesAptusLegal/arochi/LogosArochi/MAR-126684.png [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:41) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-126685","MarcaId":"4597192000198035358","user":"lmorales@arochilindner.com"} [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:48) - Tokens generados: 1000.a77d0f6ecf193e7a0d81cbff74b6b983.a1804edbaf7bca90f5d6164041a6cdc5 [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:48) - Intento 0 el registro no contiene foto asociada [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:48) - ERROR al obtener imagen, intento: 1 , respuesta: null [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:51) - Intento 1 el registro no contiene foto asociada [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:51) - ERROR al obtener imagen, intento: 2 , respuesta: null [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:53) - Intento 2 el registro no contiene foto asociada [47b86569-d834-4dc2-b6e0-7d3199e763eb](2024-09-13 15:36:53) - ERROR al obtener imagen, intento: 3 , respuesta: null [0e5da712-b483-4534-ba67-a908b03640b1](2024-09-13 15:36:54) - Proceso de subida "300", "message" => "ERROR - [wsFileLedes1998B] Parametros incompletos para el Servicio Web, faltan el Nombre del Archivo LEDES"); $Resultado = json_encode($j_array); echo $Resultado; return; } if($bRecId == "") { $j_array = array('code' => "300", "message" => "ERROR - [wsFileLedes1998B] Parametros incompletos para el Servicio Web, faltan el ID del LEDES a actualizar"); $Resultado = json_encode($j_array); echo $Resultado; return; } if($bInvId == "") { $j_array = array('code' => "300", "message" => "ERROR - [wsFileLedes1998B] Parametros incompletos para el Servicio Web, faltan el ID del Invoice a actualizar"); $Resultado = json_encode($j_array); echo $Resultado; return; } if($bDatPac == "") { $j_array = array('code' => "310", "message" => "ERROR - [wsPreBillZohoBooks] Faltan los parametros de conexión OAuth"); $Resultado = json_encode($j_array); //echo $Resultado; return; } $bDatPac = base64_decode($bDatPac); $aDatPac = json_decode($bDatPac, true); #== Datos y Variables para OAuth Token $coa_ClientId = $aDatPac["C_OAuth_client_id"]; $coa_ClientSecret = $aDatPac["C_OAuth_client_secret"]; $coa_RefreshToken = $aDatPac["C_OAuth_refresh_token"]; $coa_GrantType = $aDatPac["C_OAuth_grant_type"]; $coa_RedirectUri = $aDatPac["C_OAuth_redirect_uri"]; $coa_AuthUrl = "https://accounts.zoho.com/oauth/v2/token"; $coa_access_token = oauth($appOwner, 'ZCreator', $coa_RefreshToken, $coa_ClientId, $coa_ClientSecret, $coa_RedirectUri, $coa_GrantType, $coa_AuthUrl); ### 1. EXTRACCIÓN DE PARÁMETROS PARA EL CFDI ###################################################### #== Primero, extraemos el JSON del string en base 64 $request_url = 'https://creator.zoho.com/api/v2/' . $appOwner . '/' . $applnkname . '/report/' . $reportQry . '?criteria=(ID='.$bRecId.')'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $request_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // No cargamos todo de una vez curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Zoho-oauthtoken ' . $coa_access_token)); // Variable para almacenar la respuesta completa $response = ''; $blockCounter = 1; curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch, $data) use (&$response, &$blockCounter) { $response .= $data; // Acumulamos la respuesta // Si el bloque acumulado alcanza o supera los 65,000 caracteres, lo procesamos if (strlen($response) >= 65000) { echo "Bloque " . $blockCounter . ": " . substr($response, 0, 65000) . "\n"; $response = substr($response, 65000); // Retenemos el sobrante del bloque procesado $blockCounter++; } return strlen($data); // Retornamos la longitud del dato procesado }); curl_exec($ch); curl_close($ch); // Si hay datos restantes por debajo de 65,000 caracteres, los procesamos if (!empty($response)) { echo "Último bloque: " . $response; } // Procesamos los datos recibidos (en este caso, decodificamos el JSON y limpiamos) $array = json_decode($response); $bdDatLed = $array->data[0]->jsonInvoiceDetail; $bdDatLed = str_replace("\t|\n", " ", $bdDatLed); $abdDatLed = json_decode($bdDatLed, true); echo PHP_EOL; echo PHP_EOL; echo PHP_EOL; echo PHP_EOL; echo PHP_EOL; echo PHP_EOL; echo PHP_EOL; ?>