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
- Entre no seu sistema Sankhya SNK
- Navegue até Configurações → Integrações → API
- 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
- Abra seu Console Abstra e selecione o projeto
- Navegue até Conectores e selecione Sankhya
- 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:
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.
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
- Teste sempre em ambiente de desenvolvimento antes de usar em produção
- Use paginação (
offsetPage
) para consultas que podem retornar muitos registros - Especifique campos (
fieldset.list
) para melhorar performance - Implemente retry logic para operações críticas
- Valide os dados antes de enviar para evitar erros desnecessários
- 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.