Skip to main content

Sankhya

O conector Sankhya permite integrar com o sistema ERP Sankhya, possibilitando gerenciar clientes, produtos, pedidos, estoque e outras funcionalidades do sistema.

Pré-requisitos

Antes de configurar o conector, certifique-se de ter:

  • Acesso ao sistema Sankhya SNK com permissões apropriadas
  • Credenciais de API válidas fornecidas pela Sankhya
  • AppKey e Token Bearer configurados no sistema Sankhya
  • Usuário com privilégios adequados para as operações desejadas

Passo 1: Configurando a Autenticação

1.1 Obtenha as Credenciais da API

  1. Entre no seu sistema Sankhya SNK
  2. Navegue até ConfiguraçõesIntegraçõesAPI
  3. Gere ou obtenha as seguintes credenciais:
    • AppKey: Chave de aplicação fornecida pela Sankhya
    • Token Bearer: Token de autenticação da API
    • Username: Seu nome de usuário do Sankhya
    • Password: Sua senha do Sankhya

1.2 Configure a Conexão na Abstra

  1. Abra seu Console Abstra e selecione o projeto
  2. Navegue até Conectores e selecione Sankhya
  3. Forneça as seguintes credenciais obtidas no passo 1.1.3.

Passo 2: Usando o Conector no seu Workflow

A Abstra oferece duas abordagens para integrar funcionalidades do Sankhya aos seus workflows:

info

Para uma lista completa das ações disponíveis e seus parâmetros, visite Ações Sankhya.

Opção A: Desenvolvimento Assistido por IA

Você pode usar comandos em linguagem natural com a IA da Abstra para gerar operações do Sankhya. Aqui estão alguns exemplos de comandos:

Consultar Dados:

Obtenha os primeiros 10 clientes usando o conector sankhya

Gerenciar Produtos:

Liste todos os produtos ativos do estoque usando o conector sankhya

Operações de Pedidos:

Crie um novo pedido de venda com os produtos especificados usando o conector sankhya

Opção B: Desenvolvimento Manual em Python

Para desenvolvedores que preferem controle direto, você pode usar código Python para interagir com o Sankhya através da API do conector no Editor Abstra:

from abstra.connectors import run_connection_action

# Substitua pelo nome da sua conexão do Passo 1
connection_name = "sankhya"

Exemplo 1. Obter Clientes

from abstra.connectors import run_connection_action

connection_name = "sankhya"
action_name = "get_v1_parceiros_clientes"
params = {
"pagina": 1,
"registrosPorPagina": 10
}

result = run_connection_action(connection_name, action_name, params)
print("Clientes obtidos:")
print(result)

Exemplo 2. Obter Produtos

action_name = "get_produto"
params = {
"ativo": "S",
"pagina": 1,
"registrosPorPagina": 10
}

result = run_connection_action(connection_name, action_name, params)
print("Produtos obtidos:")
print(result)

Exemplo 3. Obter Estoque de Produtos

action_name = "get_v1_estoque_produtos"
params = {
"codigoEmpresa": 1,
"pagina": 1,
"registrosPorPagina": 10
}

result = run_connection_action(connection_name, action_name, params)
print("Estoque obtido:")
print(result)

Personalização Avançada

Para casos que exigem maior controle sobre as requisições, você pode personalizar completamente a URL e o corpo da requisição usando as chaves "url" e "body" como parâmetros. Isso é útil quando as ações pré-definidas não atendem suas necessidades específicas.

Documentação Oficial

Consulte a documentação oficial da API Sankhya para obter as URLs e estruturas de body corretas para cada serviço.

Exemplo Complexo: Relatório de Vendas

# Relatório de vendas com múltiplos critérios
params = {
"url": "https://api.sankhya.com.br/gateway/v1/mgecom/service.sbr?serviceName=CRUDServiceProvider.loadRecords",
"body": {
"serviceName": "CRUDServiceProvider.loadRecords",
"requestBody": {
"dataSet": {
"rootEntity": "ItemNota",
"includePresentationFields": "S",
"offsetPage": 0,
"entity": {
"fieldset": {
"list": "NUNOTA,SEQUENCIA,CODPROD,QTDNEG,VLRUNIT,VLRTOT,DTNEG"
}
},
"criteria": {
"expression": {
"operator": "and",
"operands": [
{
"operator": "between",
"leftOperand": "DTNEG",
"rightOperand": "01/11/2024 AND 30/11/2024"
},
{
"operator": "equals",
"leftOperand": "CODTIPOPER",
"rightOperand": "1000"
},
{
"operator": "greaterThan",
"leftOperand": "VLRTOT",
"rightOperand": "100.00"
}
]
}
}
}
}
}
}

result = run_connection_action(connection_name, "relatorio_vendas", params)
print("Vendas do período:", result)

Dicas para APIs Personalizadas

Melhores Práticas
  1. Teste sempre em ambiente de desenvolvimento antes de usar em produção
  2. Use paginação (offsetPage) para consultas que podem retornar muitos registros
  3. Especifique campos (fieldset.list) para melhorar performance
  4. Implemente retry logic para operações críticas
  5. Valide os dados antes de enviar para evitar erros desnecessários
Limitações
  • Algumas operações podem ter limites de timeout
  • Transações longas podem ser interrompidas pelo servidor
  • Permissões específicas podem ser necessárias para alguns serviços
  • Rate limiting pode aplicar-se a chamadas muito frequentes

Para operações mais complexas ou casos específicos não cobertos pelos exemplos acima, consulte sempre a documentação oficial da API Sankhya e teste em ambiente controlado antes da implementação em produção.

Solução de Problemas

Problemas de Conexão:

  • Verifique se suas credenciais (AppKey, Token, Username, Password) estão corretas
  • Certifique-se de que o token Bearer não expirou
  • Confirme se o usuário tem permissões para acessar a API

Erros de Permissão:

  • Revise as permissões do usuário no sistema Sankhya
  • Verifique se tem acesso às entidades que está tentando consultar
  • Confirme se o módulo necessário está licenciado

Falhas nas Consultas:

  • Verifique se os códigos de entidade (CODPARC, CODPROD, etc.) existem
  • Confirme a sintaxe SQL para consultas personalizadas
  • Revise os parâmetros obrigatórios para cada ação

Para mais informações, consulte a documentação oficial da API Sankhya.