<?php include('../fncr-geral/coneccao-bd.php');

// REGISTRAR RETORNO DO WEBHOOK
$headers = getallheaders();
$headers_json = json_encode(getallheaders());
$body = file_get_contents("php://input");

$sql = $bd->getConexao()->prepare('INSERT INTO webhooks (header, body, origem, data_hora) VALUES (:headers, :body, "focus_nfe", NOW())');
$sql->bindValue(':headers', $headers_json, PDO::PARAM_STR);
$sql->bindValue(':body', $body, PDO::PARAM_STR);
if($sql->execute());

try{
  if(isset($headers['Authorization']) && $headers['Authorization']==GLOBAL_FOCUSNFE_HOOK_TK){
    $data = json_decode($body, true);

    // NOTA EMITIDA
    if(isset($data['status']) && $data['status']=="autorizado"){
      $dds = array(
        "ref"=>$data['ref'],
        "nf_numero"=>$data['numero'],
        "nf_cod_verificacao"=>$data['codigo_verificacao'],
        "nf_url"=>$data['url'],
        "nf_pdf"=>$data['url_danfse'],
        "data_hora_emissao"=>str_replace('T',' ',substr($data['data_emissao'], 0, 19)),
        "status"=>2,
      );
      include_once('../libraries/outros/NFs/NFs.php');
      $nf = new NFs();
      $nf->atualizarStatus($dds);
    }

    // ERRO NA EMISSÃO DA NF
    if(isset($data['status']) && $data['status']=="erro_autorizacao"){
      $dds = array(
        "ref"=>$data['ref'],
        "erro"=>1,
        "erro_json"=>json_encode($data['erros'])
      );
      include_once('../libraries/outros/NFs/NFs.php');
      $nf = new NFs();
      $nf->atualizarStatus($dds);
    }

  }
}catch(Exception $e){}

?>