Esse repositório contém o SDK para realização de ações na plataforma fornecida, como por exemplo, listagem de templates, buscas, criação de templates, etc.
Para instalar o SDK, basta executar o comando abaixo:
pip install git+https://github.com/OUIsolutions/OuiPlataformPythonSDK
Para utilizar o SDK, basta importar o módulo Session
e instanciar um objeto da classe Session
, passando como parâmetro a URL, USUARIO e SENHA da plataforma:
from OuiPlataform.Session import Session
session = Session("https://domain.com", 'username', 'password')
Com o objeto session
instanciado, é possível realizar diversas ações na plataforma, como por exemplo, listar templates, listar buscas, dentre outras coisas.
As entidades são os objetos que representam um processo. Entity é a classe que representa um processo na plataforma e possui métodos para realizar ações como criar, listar, buscar, etc.
Para criar uma entidade, basta instanciar um objeto da classe Entity
passando como parâmetro o nome da entidade, porém, caso não saiba o nome da entidade, é possível listar todas as entidades disponíveis na plataforma utilizando o método list_entities
do objeto session
, o qual retorna uma lista de objetos Entity
:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
entities = s.list_entities()
for entity in entities:
print(entity.name)
Saída:
entity_name_1
entity_name_2
entity_name_3
...
entity_name_n
Nota: Note que que o método "str" da classe Entity
retorna o nome da entidade.
Com a lista de entidades em mãos, é possível instanciar um objeto Entity
passando como parâmetro o nome da entidade:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
entity = s.get_entity("entity_name")
Agora que temos um objeto Entity
, é possível realizar diversas ações, como por exemplo, listar, buscar, criar, etc.
Para listar os documentos estáticos de uma entidade, basta utilizar o método list_all_static_documents
do objeto Entity
. Esse método retorna uma lista de strings, onde cada string representa o nome de um documento estático:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
print(ent.list_all_static_documents())
Saída:
['document_name_1', 'document_name_2', 'document_name_3', ..., 'document_name_n']
Para listar os documentos dinâmicos de uma entidade, basta utilizar o método list_all_dynamic_documents
do objeto Entity
. Esse método retorna uma lista de strings, onde cada string representa o nome de um documento dinâmico:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
print(ent.list_all_dynamic_documents())
Saída:
['document_name_1', 'document_name_2', 'document_name_3', ..., 'document_name_n']
Para listar os jsons de uma entidade, basta utilizar o método list_all_jsons
do objeto Entity
. Esse método retorna uma lista de strings, onde cada string representa o nome de um json:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
print(ent.list_jsons())
Saída:
['json_name_1', 'json_name_2', 'json_name_3', ..., 'json_name_n']
É possível pegar o conteúdo de um json de uma entidade utilizando o método get_json
do objeto Entity
. Esse método recebe como parâmetro o nome do json e retorna o conteúdo do json:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
print(ent.get_json("dados_capa"))
Saída:
{
"nome": "João",
"sobrenome": "Silva",
"idade": 30
}
Nota: Note que o método get_json
pode receber o nome do json com ou sem a extensão .json
.
É possível definir/criar um json de uma entidade utilizando o método set_json
do objeto Entity
. Esse método recebe como parâmetro o nome do json e o conteúdo do json. Caso o json já exista, o conteúdo do json será atualizado, caso contrário, um novo json será criado:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
ent.set_json("dados_capa", {
"nome": "João",
"sobrenome": "Silva",
"idade": 30
})
É possível enviar documentos estáticos para uma entidade utilizando o método upload_static_document_from_file
do objeto Entity
. Esse método recebe como parâmetro o nome do documento estático e o caminho do arquivo que será enviado:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
ent = s.get_entity("entity_name")
ent.upload_static_document_from_file("document_name", "path/to/file")
Com os objetos Search
é possível gerar, excluir e pegar buscas de uma entidade. Para criar um objeto Search
, basta instanciar um objeto da classe Search
passando como parâmetro o nome da busca, porém, caso não saiba o nome da busca, é possível listar todas as buscas disponíveis na plataforma utilizando o método list_searches
do objeto session
, o qual retorna uma lista de objetos Search
:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
searches = s.list_searches()
search = searches[0]
search = s.get_search("search_name")
Agora que temos um objeto Search
, é possível realizar diversas ações, assim como definir e recuperar props, definir e recuperar codigos, etc.
É possível definir propriedades de uma busca utilizando o método set_prop
do objeto Search
. Esse método recebe como parâmetro uma lista de propriedades no formato de dicionário, exemplo:
from OuiPlataform.Session import Session
props = [{'name': 'tempo_maximo', 'required': True, 'question': 'Informe o tempo m�ximo em minutos', 'type': 'number'}, {'name': 'tempo_minimo', 'required': True, 'question': 'Informe o tempo m�nimo em minutos', 'type': 'number'}]
s = Session("https://domain.com", 'username', 'password')
search = s.get_search("search_name")
search.set_search_props(props)
É possível pegar as propriedades de uma busca utilizando o método get_search_props
do objeto Search
. Esse método retorna uma lista de propriedades no formato de dicionário:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
search = s.get_search("search_name")
print(search.get_search_props())
É possível definir códigos de uma busca utilizando o método set_codes
do objeto Search
. Esse método recebe como parâmetro uma string que será o código lua da busca:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
search = s.get_search("search_name")
search.set_search_code(
"""function filter(props)
return true
end
""")
É possível pegar o código de uma busca utilizando o método get_search_code
do objeto Search
. Esse método retorna uma string que é o código lua da busca:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
search = s.get_search("search_name")
print(search.get_search_code())
Através do método remove
do objeto Search
é possível remover uma busca de uma entidade. Quando esse método é chamado, a busca é removida da plataforma:
from OuiPlataform.Session import Session
s = Session("https://domain.com", 'username', 'password')
search = s.get_search("search_name")
search.remove()
Nota: Note que o método remove
não retorna nada e caso a busca não exista, uma exceção será lançada.
Objetos dinâmicos são aqueles gerados automaticamente pela plataforma a partir de informações e configurações previamente definidas. A classe DynamicDoc
é responsável por representar um documento dinâmico e possui métodos para realizar ações como listar, buscar, criar, etc.