Página 1 de 1

Pegar Json de fonte Externa

Enviado: 18 Mar 2020, 09:35
por joneco
Olá, gostaria de ajuda para saber como pegar um json de uma api externa.
https://correioszap.com/api/?obj=CODIGORASTREIO

porém quanod usei o método que conhecia, usando get_url_contents ,da erro no site.
Estou mudando o order.php na pasta controllers.
um rastreio válido:
https://correioszap.com/api/?obj=LB111826537SG

alguém pode ajudar?

obrigado

Re: Pegar Json de fonte Externa

Enviado: 18 Mar 2020, 18:30
por veteranodf
A API é bem interessante, notifica o rastreio pelo whatsapp, a questão é validar muito bem o número de telefone que o cliente informar; Com o método abaixo você consegue o resultado desejado; No foreach só montar sua função!
Código: Selecionar todos
$codigo = "LB111826537SG";

$url  = 'https://correioszap.com/api/?obj='.$codigo;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$response  = curl_exec($curl);
$httpcode  = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$error     = false;

if ($httpcode >= '200' and $httpcode < '300') {
    $json = json_decode($response, true);
    if (!empty($json['erro']) or empty($json['0']['date'])) {
        $error = true;
    }
} else {
    $error = true;
}

if (!$error) {
    foreach ($json as &$data) {
        //Aqui você monta sua função
        var_dump($data);
    }
}