O que é o SaaS?


O SaaS é uma plataforma na nuvem que faz a emissão dos documentos fiscais e serve como um repositório de suas notas, ele seria como uma ponte entre sua aplicação e a Sefaz/Prefeitura

Dessa forma, ele é dividido em 2 partes, uma delas é a área da Software House (Sua empresa que tem vínculo com a TecnoSpeed) e a área dos seus clientes (Que são conhecidos como 'Grupos').
Para fazer a integração com o SaaS você vai precisar de uma conta (Software House) e de um cliente cadastrado (Grupo) na sua conta de Soft. House.


Realizando o cadastro da Software House.

O cadastro é bem simples, basta acessar o Link e seguir os passos do registro.

Logo depois vamos precisar de um Grupo para podermos começar os testes com o nosso produto, o cadastro dele pode ser feito seguindo este vídeo.

Lembre-se de guardar o Nome do Grupo, Usuário e Senha quando estiver criando o Grupo

Acesse a sua conta de Software House

O que fizemos aqui?

Criamos a nossa conta de Software House (Guarde o login e senha dela pois você vai precisar cadastrar mais grupos ou fazer manutenção em alguns) e criamos o nosso primeiro Grupo, agora com ele vamos conseguir prosseguir com os testes, no entanto é necessário que você tenha em mãos os seguintes dados Nome do Grupo, Usuário e Senha.

Eles são utilizados para fazermos a configuração de suas requisições em PHP, além de usarmos precisarmos deles para acessarmos a Interface Web dos grupos.


O que vou alterar no código, quando eu for testar o meu grupo?

* É importante lembrar que a URL do SaaS no ambiente real onde você fará as requisições com seus dados, ficará assim : managersaas.tecnospeed.com.br, ou seja sem o hom na URL. *

Para as rotas que precisam enviar um POST você fará as seguintes alterações. Ex: Nosso arquivo envia.php.

  //Lê conteudo de um txt
  $tx2 = file_get_contents('NFe.tx2');
  
  //Dados do form
  $post_data['grupo']= $_POST['grupo'];
  $post_data['cnpj']= $_POST['CNPJ'];
  $post_data['arquivo']= $tx2;

  $host = $_POST['host'];

  //Gera query em formato URL
  $data=http_build_query($post_data);

  //Autenticação
  $usuario = $_POST['usuario'];
  $senha = $_POST['senha'];

  $auth = base64_encode("$usuario:$senha");

  $socket = fsockopen("ssl://".$host, 7071, $errno, $errstr, 15); Altere 7071 para 8081

  $http  = "POST /ManagerAPIWeb/nfe/envia HTTP/1.1\r\n";
  $http .= "Authorization: Basic ".$auth."\r\n";
  $http .= "Host: ".$host.":7071\r\n"; 				  Altere 7071 para 8081
  $http .= "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n";
  $http .= "Content-Type: application/x-www-form-urlencoded\r\n";
  $http .= "Content-length: " . strlen($data) . "\r\n";
  $http .= "Connection: close\r\n\r\n";
  $http .= $data."\r\n\r\n";
  fwrite($socket, $http);               

  $result="";

  //Lê todas as linhas do retorno
  while (!feof($socket))
  {
    $result .= fgets($socket, 4096);
  }
  fclose($socket);

  //Separa header do conteudo
  list($header, $body) = preg_split("/\R\R/", $result, 2);

  //Exibe conteudo
  echo($body);
			

Para as rotas que precisam enviar um GET você fará as seguintes alterações. Ex: Nosso arquivo consulta.php.

  $curl = curl_init();
  Altere 7071 para 8081  
   $urlconsulta = "https://".$_GET['host'].":7071/ManagerAPIWeb/nfe/consulta?"."grupo=".$_GET['grupo']."&cnpj=".$_GET['cnpj']."&filtro=".$_GET['filtroconsulta']."&campos=".$_GET['camposconsulta'];
   
  //Autenticação
  $usuario = $_GET['usuario'];
  $senha = $_GET['senha'];

  $auth = base64_encode("$usuario:$senha");

  curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_URL => $urlconsulta,
      CURLOPT_USERAGENT => 'Codular Sample cURL Request'
    ));

  curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'Authorization: Basic '.$auth
    ));

  $retorno = curl_exec($curl);

  curl_close($curl);
  echo $retorno;
			

Links importantes

Documentação das rotas do SaaS: Acessar.

Documentação do arquivo TX2: Acessar.

Documentação do postman com as rotas do SaaS: Acessar.


Inicio