Manual de Desenvolvimento TS-1000
APRESENTAÇÃO O TS-1000 é o equipamento SAT da Tanca destinado a emissão de Cupons Fiscais Eletrônicos. Este manual de desenvolvimento documenta as rotinas de entre o Aplicativo Comercial e a DLL do SAT. Por se tratar de um equipamento de emissão de documentos fiscais o mesmo deve operar obedecendo à legislação vigente. Para consultas a legislação e também a todos os documentos técnicos do projeto SAT acesse a página da Secretaria da Fazenda no endereço www.fazenda.sp.gov.br/sat
FUNÇÕES As Funções implementadas na DLL do SAT para a entre o AC e o SAT estão na tabela abaixo e detalhadas a seguir:
AtivarSat Esta função faz parte do processo de ativação do Equipamento SAT e será responsável por enviar ao SAT qual o tipo de ativação será efetuada pelo Contribuinte. O SAT Tanca TS-1000 é exclusivo para certificados AC-SAT e desta maneira só poderá ser ativado com esta opção. A função AtivarSAT (Ativar Equipamento SAT) é chamada pelo software de ativação após a definição do código de ativação pelo contribuinte, e segue seguinte estrutura: Função: AtivarSat Header: char * AtivarSAT( int ; int subcomando;char * ; char * CNPJ; int cuf ); Número aleatório gerado pelo AC subcomando Identificador do tipo de Certificado, descritos na tabela 15 do Técnica de Requisitos. Ex: 1, 2 ou 3 CNPJ cuf no software de ativação. (Item CNPJ do contribuinte, somente números. Código do Estado da Federação onde o SAT será ativado. (Item ; Retorno: EEEEE mensagem cod mensagemsefaz CSR Retorno (erro): EEEEE mensagem cod mensagemsefaz Ex: 00000000000000 Ex: 15 Consultar item 6.1.1 do Técnica de O valor retornado poderá ser diferente dependendo do valor informado no parâmetro subcomando. No caso do SAT TS-1000 somente será aceito subcomando com valor 1 para certificados AC-SAT.
ComunicarCertificadoICPBRASIL Esta função faz parte do processo de ativação do Equipamento SAT e será responsável por enviar ao SAT o certificado recebido da Autoridade Certificadora ICP-Brasil. Esta função não está disponível para o equipamento SAT Tanca TS-1000, porém deixamos a mesma documentada neste manual para que o desenvolvedor possa conhecer sua estrutura. O SAT Tanca TS-1000 irá retornar como erro desconhecido. Função: ComunicarCertificadoICPBRASIL Header: char * ComunicarCertificadoICPBRASIL( int ; char * ; char * certificado ); certificado Número aleatório gerado pelo AC para controle da no software de ativação. (Item Certificado Digital criado pela Autoridade Certificadora ICP- Brasil Retorno: EEEEE mensagem cod mensagemsefaz Ver exemplo no documento Requisitos Consultar item 6.1.2 do Técnica de EnviarDadosVenda Esta função faz parte do processo de envio dos dados de venda do AC para o Equipamento SAT. O tempo de resposta de um pedido de emissão de CF-e-SAT deverá ser inferior a 1 segundo para cupom com até 50 itens, inferior a 3 segundos para cupom que possui entre 51 e 200 itens e inferior a 5 segundos para cupom que possui entre 201 e 500 itens. Tempo de resposta é a quantidade de segundos que o SAT demora para gerar um CF-e-SAT após a recepção das informações do Aplicativo Comercial. A geração do CF-e-SAT só é considerada completa quando o Aplicativo Comercial recebe a cópia de segurança do documento.
Função: EnviarDadosVenda Header: char * EnviarDadosVenda( int ; char * ; char * dadosvenda); Número aleatório gerado pelo AC Ex: 000000, dadosvenda no software de ativação.(item 2.1.1 do Técnica de refere-se aos dados de venda gerados pelo AC e utilizados para compor o CF-e-SAT. (Item 2.1.4 do documento Retorno: EEEEE CCCC mensagem cod mensagemsefaz arquivocfebase64 timestamp chaveconsulta valortotalcfe CPFCNPJValue assinaturaqrcode Retorno (erro): EEEEE CCCC mensagem cod mensagemsefaz 002101 Ex: 1wbG9fZGaWdvX Ver exemplo no documento Especificação Técnica de Requisitos CancelarUltimaVenda O envio dos dados de cancelamento do AC para o Equipamento SAT deverá ser através da função CancelarUltimaVenda, e segue a seguinte estrutura: 6.1.3 Função: CancelarUltimaVenda Header: char * CancelarUltimaVenda( int ; char * ; char * chave; char * dadoscancelamento ); chave dadoscancelamento Número aleatório gerado pelo AC para controle da e vendas senha definida pelo contribuinte no software de ativação.(item 2.1.1 do documento Especificação Técnica de Chave de acesso do CFe-SAT a ser cancelado (Item 4.7 do documento Especificação Técnica de refere-se aos dados da venda gerados pelo AC e utilizados para compor o CF-e-SAT de cancelamento (Item Ex: CFe11087746478373757726265545868 587463856478463 Ver exemplo no Técnica de Requisitos
4.2.3 do documento Especificação Técnica de Retorno: EEEEE CCCC mensagem cod mensagem SEFAZ arquivocfebase64 timestamp chaveconsulta valortotal CFe CPFCNPJValue assinaturaqrcode Retorno (erro): EEEEE CCCC mensagem cod mensagem SEFAZ Consultar item 6.1.4 do documento ConsultarSAT Esta função é usada para testes de entre o AC e o Equipamento SAT. Função: ConsultarSAT Header: char * ConsultarSAT( int ); Número aleatório gerado pelo AC Retorno: EEEEE CCCC mensagem cod mensagemsefaz Consultar item 6.1.5 do documento Especificação Técnica de TesteFimAFIM Esta função consiste em um teste de entre o AC, o Equipamento SAT e a SEFAZ. Função: TesteFimAFim Header: char * TesteFimAFim( int ; char * ; char * dadosvenda); Número aleatório gerado pelo AC no software de ativação.(item dadosvenda refere-se aos dados de venda fictícios gerados pelo AC e Ver exemplo no documento
utilizados para compor o CF-e- SAT de teste. (Item 2.1.4 do Técnica de Retorno: EEEEE CCCC mensagem cod mensagemsefaz Retorno (erro): EEEEE mensagem cod mensagemsefaz Requisitos Consultar item 6.1.6 do Técnica de ConsultarStatusOperacional Essa função é responsável por verificar a situação de funcionamento do Equipamento SAT. A consulta do AC para o Equipamento SAT deverá ser através da função ConsultarStatusOperacional. Segue a estrutura da função: Função: ConsultarStatusOperacional Header: char * ConsultarStatusOperacional( int ; char * ); Número aleatório gerado pelo AC no software de ativação.(item 2.1.1 do Técnica de Ex: 1wbG9fZGaWdvX Retorno: EEEEE mensagem cod mensagemsefaz ConteudoRetorno Retorno (erro): numerodesessao EEEEE mensagem cod mensagemsefaz Consultar item 6.1.7 do documento Especificação Técnica de ConsultarNumeroSessao O AC poderá verificar se a última sessão requisitada foi processada em caso de não recebimento do retorno da operação. O equipamento SAT-CF-e retornará exatamente o resultado da sessão consultada. A consulta do AC para o Equipamento SAT deverá ser através da função ConsultarNumeroSessao. Segue a estrutura da função: Função: ConsultarNumeroSessao
Header: char * ConsultarNumeroSessao( int ; int cnumerodesessao ); Número aleatório gerado pelo AC para controle da no software de ativação.(item cnumerodesessao Número de sessão a ser consultado no SAT-CF-e Retorno: o retorno deverá ser exatamente igual ao retorno da função processada para a sessão cnumerosessao Retorno (erro): EEEEE mensagem cod mensagemsefaz Consultar item 6.1.8 do Técnica de Se a sessão consultada foi processada anteriormente pelo SAT-CFe, o retorno da função ConsultarNumeroSessao deverá ser exatamente igual ao retorno da função processada. ConfigurarInterfaceRede O AC, ou outro software fornecido pelo Fabricante, poderá configurar a interface de do Equipamento SAT com a rede local do estabelecimento comercial através do envio de um arquivo de configuração no padrão XML. No parâmetro deve ser informado oito vezes o caracter 0 (zero) caso o equipamento SAT-CF-e ainda não tenha sido ativado. Após sua ativação, deve ser informado e conferido o código de ativação. Função: ConfigurarInterfaceDeRede Header: char * ConfigurarInterfaceDeRede( int ; char * ; char * dadosconfiguracao ); dadosconfiguracao Número aleatório gerado pelo AC para controle da no.(item Arquivo de configuração no formato XML. (Tabela 34 Técnica de Requisitos ) Retorno: EEEEE mensagem cod mensagemsefaz Ver exemplo no documento Requisitos Consultar item 6.1.9 do Técnica de
AssociarAssinatura O contribuinte deverá associar a assinatura do Aplicativo Comercial com o SAT através da função AssociarAssinatura. Função: AssociarAssinatura Header: char * ConfigurarInterfaceDeRede( int ; char * ; char * dadosconfiguracao ); CNPJvalue assinaturacnpjs Número aleatório gerado pelo AC para controle da senha definida pelo contribuinte no software de ativação.(item 2.1.1 do documento Especificação Técnica de CNPJ da empresa desenvolvedora do Aplicativo Comercial + CNPJ do Emitente (Item 2.1.3 do documento Especificação Técnica de Assinatura digital conjunto CNPJ Software House + CNPJ do estabelecimento comercial. (Item 2.1.3 do documento Especificação Técnica de Retorno: EEEEE mensagem cod mensagems EFAZ Ex: 9999999999999900000000000000 Ex: ny3zlluvww9htxogi2fanwlwiqllgvywrl OaxHv... Consultar item 6.1.10 do Técnica de
AtualizarSoftwareSAT A atualização do software básico do SAT será realizada através da função AtualizarSoftwareSAT. Segue a estrutura da função: Função: AtualizarSoftwareSAT Header: char * AtualizarSoftwareSAT( int ; char * ); Número aleatório gerado pelo AC para controle da no software de ativação. (Item Retorno: EEEEE mensagem cod mensagemsefaz Consultar item 6.1.11 do Técnica de ExtrairLogs A extração dos logs do SAT será realizada através da função ExtrairLogs. Segue a estrutura da função: Função: ExtrairLogs Header: char * ExtrairLogs( int ; char * ); Número aleatório gerado pelo AC no software de ativação. (Item Retorno: EEEEE mensagem cod mensagemsefaz Arquivo de log em base64 Retorno (erro): EEEEE mensagem cod mensagemsefaz Consultar item 6.1.12 do Técnica de
BloquearSAT O bloqueio operacional do Equipamento SAT será realizado através da função BloquearSAT. Segue a estrutura da função: Função: BloquearSAT Header: char * BloquearSAT( int ; char * ); Número aleatório gerado pelo AC para controle da no software de ativação. (Item Retorno: EEEEE mensagem cod mensagemsefaz Consultar item 6.1.13 do Técnica de DesbloquearSAT O desbloqueio operacional do Equipamento SAT será realizado através da função DesbloquearSAT. Segue a estrutura da função: Função: DesbloquearSAT Header: char * DesbloquearSAT( int ; char * ); Número aleatório gerado pelo AC para controle da no software de ativação. (Item Ex: senha123456 Retorno: EEEEE mensagem cod mensagemsefaz Consultar item 6.1.14 do Técnica de
TrocarCodigoDeAtivacao A troca do código de ativação será realizada através da função TrocarCodigoDeAtivacao. Para troca do código de ativação em caso de esquecimento do código de Ativação, o código de ativação de emergência, será enviado através do parâmetro e o parâmetro opcao deve ser enviado com o valor 2, caso contrario o valor deve ser igual a 1. Segue a estrutura da função: Função: TrocarCodigoDeAtivacao Header: char * TrocarCodigoDeAtivacao( int ; char * ; int opcao; char * novocodigo; char * confnovocodigo ); Número aleatório gerado pelo AC no software de ativação. (vide 2.1.1) opcao Refere-se a opção do conteúdo do parâmetro, sendo: 1 Código de Ativação 2 Código de Ativação de Emergência novocodigo Novo código de ativação escolhido pelo contribuinte confnovocodigo Confirmação do novo código de ativação. Retorno: EEEEE mensagem cod mensagemsefaz Ex: 1 Ex: 2 Consultar item 6.1.15 do Técnica de SUPORTE TÉCNICO O Equipamento SAT não permite manutenção. Em caso de falhas que venham a ocorrer durante o período de garantia solicitamos que entre em contato com a Tanca para a troca do equipamento através dos nossos telefones, do nosso formulário de suporte no website www.tanca.com.br ou através do e-mail suporte@tanca.com.br. DÚVIDAS Em caso de duvidas entre em contato com a Tanca através dos nossos telefones, do nosso formulário de suporte no website www.tanca.com.br ou através do e-mail suporte@tanca.com.br. Para consultas a legislação vigente e também a todos os documentos técnicos do projeto SAT acesse a página da Secretaria da Fazenda no endereço www.fazenda.sp.gov.br/sat.