Skip to main content

Esta lib fornece um wrapper às APIs SoftExpert

Project description

SoftExpertAPI

Esta lib fornece um wrapper às APIs SoftExpert

Getting Stated

Instalar a Lib:

pip install SoftExpertAPI

Configurar e criar uma instância:

from SoftExpertAPI import SoftExpertException, SoftExpertOptions, SoftExpertWorkflowApi

option = SoftExpertOptions(
    url = "https://softexpert.com",
    authorization = "Basic SEU_TOKEN", # pode ser Basic ou Bearer
    userID = "sistema.automatico" # Matricula do usuário padrão das operações. Pode ser informado usuário diferente em cada endpoint chamado
)
api = SoftExpertWorkflowApi(option)

Criar instância de Workflow

try:
    instancia = api.newWorkflow(ProcessID="SM", WorkflowTitle="Apenas um teste")
    print(f"Instancia criada com sucesso: {instancia}")
except SoftExpertException as e:
    print(f"Erro do SE: {e}")
    exit()
except Exception as e:
    print(f"Erro genérico: {e}")
    exit()

Editar o formulário, relacionamentos (selectbox) e anexar arquivos no formulário:

try:
    
    form = {
        # chave é o id do campo no banco de dados
        # valor é o valor que será atribuido
        "pedcompra": "Perdido de compra",
        "chave": "2390840923890482093849023849023904809238904",
    }

    relations = {
        # chave é o id do relacionamento
        # valor:
            # chave é o id do campo da tabela do relacionamento
            # valor é o valor que será atribuido
        "relmoeda": {
            "idmoeda": "DOLAR"
        }
    }

    files = {
        # chave é o id do campo no banco de dados
        # valor:
            # chave é o nome do arquivo
            # valor é binário do arquivo (não passar o base64)
        "boleto": {
            "example.png": open(os.path.join(os.getcwd(), "example.png"), "rb").read()
        }
    }

    api.editEntityRecord(WorkflowID=instancia, EntityID="SOLMIRO", form=form, relationship=relations, files=files)
    print(f"Formulário editado com sucesso!")
except SoftExpertException as e:
    print(f"Erro do SE: {e}")
    exit()
except Exception as e:
    print(f"Erro genérico: {e}")
    exit()

Adiciona um item em uma grid

try:
    MainEntityID = "adte";               # ID da tabela principal
    ChildRelationshipID = "relcheck";    # ID do relacionamento da grid
    formGrid = {
        # chave é o id do campo no banco de dados
        # valor é o valor que será atribuido
        "atividade": "teste de grid"
    }

    api.newChildEntityRecord(WorkflowID=instancia, MainEntityID=MainEntityID, ChildRelationshipID=ChildRelationshipID, FormGrid=formGrid)
    print(f"Item adicionado à grid com sucesso!")
except SoftExpertException as e:
    print(f"Erro do SE: {e}")
    exit()
except Exception as e:
    print(f"Erro genérico: {e}")
    exit()

Anexar arquivo em uma instância (menu de anexo do lado esquerdo):

try:
    bin = open(os.path.join(os.getcwd(), "example.png"), "rb").read()
    filename = "example.png"
    api.newAttachment(WorkflowID=instancia, ActivityID="atvsolicitarmiro", FileName="example.png", FileContent=bin)
    print(f"Atividade executada com sucesso!")
except SoftExpertException as e:
    print(f"Erro do SE: {e}")
    exit()
except Exception as e:
    print(f"Erro genérico: {e}")
    exit()

Executar atividade:

try:
    api.executeActivity(WorkflowID=instancia, ActivityID="atvsolicitarmiro", ActionSequence=1)
    print(f"Atividade executada com sucesso!")
except SoftExpertException as e:
    print(f"Erro do SE: {e}")
    exit()
except Exception as e:
    print(f"Erro genérico: {e}")
    exit()

Exemplos completos e funcionais no arquivo example.py

Build

Instale as ferramentas de build e upload

pip install build twine

Execute o comando abaixo na raiz do seu projeto para gerar os arquivos de distribuição

python -m build

Enviar pacote

twine upload dist/*

Para buildar de forma automática:

git tag v1.0.1
git push origin v1.0.1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

softexpertapi-0.2.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

softexpertapi-0.2.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file softexpertapi-0.2.0.tar.gz.

File metadata

  • Download URL: softexpertapi-0.2.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for softexpertapi-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4b7d4842d3510b3c0c7bfe3ac85732893f112dcd2546b056bc0a89d4111a69bc
MD5 4b49240752a16d3010bde2b39c445cc6
BLAKE2b-256 9f076a7330360fb51e71f4b077900fe6273cabaa0bc3988b53e37efd196558e9

See more details on using hashes here.

File details

Details for the file softexpertapi-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: softexpertapi-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.18

File hashes

Hashes for softexpertapi-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e353df0bffe77320811c1ab97a251e82f537191c885893f0c12ea1290fda658
MD5 d45d70b88dbbff18b492dbacaf86e080
BLAKE2b-256 8c1bd93b016d81c5d66d589eb14b8c44759f48103b55e8a3763c8f608d0b41cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page