He estado trabajando con una API a la que llamo desde un complemento personalizado de wordpress. Uno de los parámetros de respuesta que necesito es Uid, que es un número entero largo.
Esto es lo que obtengo en postmon y lo que es correcto y también necesito obtener este valor en php

Pero cuando trato de imprimir la misma respuesta en php, ¿redondea el número de alguna manera?
¡Esto es lo que obtengo en el lado de php que está mal!

Estoy usando el método wp_remote_post de wordpress. Estaba pensando si hay una forma de asignar manualmente ese Uid a una cadena, no a un número entero para evitar el redondeo.
mi código:
// Create new endpoint to get all products Data add_action('rest_api_init', 'eos_store_rest_ajax_endpoint'); function eos_store_rest_ajax_endpoint() { register_rest_route( 'eos-store', 'products', [ 'methods' => 'GET', 'permission_callback' => '__return_true', 'callback' => 'eos_store_rest_ajax_callback' ] ); } function eos_store_rest_ajax_callback() { $url = "https://host:port/pospal-api2/openapi/v1/productOpenApi/queryProductPages"; $response = wp_remote_post( $url, array( 'method' => 'POST', 'headers' => array( 'data-signature' => 'DATA-Signature', 'time-stamp' => '1641903969', 'Content-Type' => 'application/json;charset=UTF-8' ), 'body' => json_encode(array( 'appId' => 'APPID' )), 'cookies' => array() ) ); if (is_wp_error($response)) { $error_message = $response->get_error_message(); return "Something went wrong: $error_message"; } else { return $response } }En realidad, el problema no estaba en el lado de php, en realidad era de Javascript mientras analizaba el cuerpo de respuesta json. Dado que Javascript no es compatible con Big Integer normalmente y al analizar Big Integer de json, pierde su precisión.
La respuesta aceptada en esta pregunta de StackOverFlow me ayudó a solucionar mi problema temporalmente. https://stackoverflow.com/a/20408845/13858082