Declaração do problema: Erro vindo na resposta da API de autenticação do HubBox, ou seja. "Erro de Api HubBox: código de resposta incorreto”
Solução:? If you are facing issue as shown below while you are checking Authentication API, it may be because of Authentication API is verifying SSL certificate for connection.
Para isso, você pode desativar a verificação SSL na solicitação CURL adicionando linhas abaixo.
curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false);
Faça a alteração na solicitação de curvatura da API de autenticação na função refreshToken () em HubBox / PHP / HubBox / Authentication.php, conforme mostrado abaixo:
$ ch = curl_init (); $ post_string = http_build_query ($ campos); curl_setopt ($ ch, CURLOPT_URL, $ endpoint); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_POST, 1); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post_string); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: aplicativo / x-www-form-urlencoded')); curl_setopt ($ ch, CURLOPT_USERPWD, $ this -> _ magento_user. ":". $ this -> _ magento_key); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ httpcode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); $ body = substr ($ output, $ header_size); curl_close ($ ch);
Se esse foi o problema, você precisará adicionar essas linhas em todas as APIs das APIs Criar Pacote, Cancelamento de Pacote, Adicionar Rastreamento e Ponto de Coleta, conforme descrito abaixo.
Crie a API do pacote: Faça a alteração na solicitação de curl da API Create Parcel na função sendOrder () em HubBox / PHP / HubBox / Parcel.php como mostrado abaixo:
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getOrderUrl ()); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ body); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ body))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);
Cancelar a API do pacote: Faça a alteração na solicitação de curl da Cancel Parcel API na função cancelOrder () em HubBox / PHP / HubBox / Parcel.php como mostrado abaixo:
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCancelUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody)))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);
Adicionar API de acompanhamento: Faça a alteração na solicitação curl da API Add Tracking na função addTracking () em HubBox / PHP / HubBox / Parcel.php, como mostrado abaixo:
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getTrackingUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody)))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);
API do Collectpoint: Faça a alteração na solicitação de curvatura da API Collectpoint na função getCollectPoint () em HubBox / PHP / HubBox / CollectPoints.php, conforme mostrado abaixo:
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCollectPointUrl (). '/'. $ id); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: aplicativo / json')); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); // se tivermos pontos de coleta privados, devemos autenticar a solicitação if ($ this -> _ config-> hasPrivateCps ()) {$ header [] = "Authorization: Bearer". $ this -> _ auth-> getAccessToken (); curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ header); } $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);
Para mais artigos relacionados, por favor visite aqui: Erro do HubBox: Dados errados do produto na resposta do Create Parcel API