McFile Widget
Uma maneira fácil de integrar o McFile é através do Widget, um componente embutido que permite criar, buscar e recuperar documentos diretamente dentro da interface do McFile. O Widget é processado dinamicamente em JavaScript e hospedado em nossos servidores, permitindo atualizações automáticas sem exigir nenhuma ação de sua parte.
McFile Widget • Veja o Widget em ação em:
https://<domain>.mcfile.com/mcfile/widget
domain = subdomínio da conta McFile. É necessário estar logado.
Começando
1) Adicione o script
Insira o script abaixo na sua página:
<script src="https://cdn.mcfile.com/widget/McFileWidgetListing.js"></script>
2) Configure e abra o Widget
Exemplo básico de inicialização:
const widget = McFileWidgetListing.configure({
url: '...',
domain: '...',
onReady: function () {},
createFile: function (createFileResponse) {},
error: function(code, message) {},
});
widget.open({
width: '...',
height: '...',
containerId: '...',
createFileRequest: {},
listFilesRequest: {},
});
Widget API Reference
configure
Assinatura
McFileWidgetListing.configure(options)
Configura o Widget usando as opções fornecidas.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
options |
Object | Sim | Objeto de configuração. |
options.domain |
string | Condicional | Subdomínio da conta McFile. Obrigatório se url não for fornecida. |
options.url |
string | Condicional | URL de acesso ao McFile. Obrigatória se domain não for fornecido. |
options.onReady |
function | Não | Callback executado quando o widget é carregado e está pronto para uso. |
options.createFile |
function | Não | Callback executado quando um arquivo é criado. |
options.error |
function | Não | Callback executado quando ocorre um erro. |
open
Assinatura
widget.open(options)
Abre o Widget usando as opções fornecidas.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | Sim | Objeto contendo as opções de abertura do Widget. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.width |
string | Não | Largura do Widget. Padrão: '100%' |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.height |
string | Não | Altura do Widget. Padrão: '100%' |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.containerId |
string | Não | ID do elemento HTML onde o Widget será criado. Padrão: 'mcfileWidget' |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.createFileRequest |
Object | Não | Parâmetros de criação de arquivo. Mais info: API docs
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.listFilesRequest |
Object | Sim | Parâmetros de listagem de arquivos:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options.sections |
Object | Não | Parâmetros de seções:
|
search
Assinatura
widget.search(searchRequest)
Executa uma busca usando os parâmetros informados. Mais info: API docs
Parâmetros
| Nome | Tipo | Obrigatório | Descrição | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searchRequest |
Object | Sim | Objeto de requisição de busca. | ||||||||||||
searchRequest.searchType |
string | Sim | Valores possíveis: record ou file. |
||||||||||||
searchRequest.query |
Object | Sim | Parâmetros de query:
|
navigate
Assinatura
widget.navigate(navigateRequest)
Navega até uma pasta de acordo com os parâmetros informados.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
navigateRequest |
Object | Sim | Objeto de requisição de navegação. |
navigateRequest.companyId |
number | Condicional | ID da empresa (recordId). Se informado, o widget navega para a pasta da empresa. |
navigateRequest.recordId |
number | Condicional | ID do registro. Se informado, o widget navega para a pasta do registro. |
navigateRequest.fileId |
number | Condicional | ID do arquivo. Se informado, o widget navega para a pasta onde o arquivo está localizado. |
reload
Assinatura
widget.reload(configureOpts, openOpts)
Recarrega o widget de acordo com os parâmetros informados.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
configureOpts |
Object | Sim | Objeto de configuração. (Veja a assinatura de "configure") |
openOpts |
Object | Sim | Objeto de abertura do Widget. (Veja a assinatura de "open") |
Eventos (Callbacks)
createFile
Assinatura
createFile(createFileResponse)
Executado quando um arquivo é criado. Mais info: API docs
Resposta
| Campo | Tipo | Descrição |
|---|---|---|
recordId |
number | ID do registro onde o arquivo foi inserido. |
createdBy |
Object | Usuário criador: userId, name. |
createdDate |
string | Data de criação. |
fileId |
string | ID do arquivo. |
links |
Object | Links: viewer, download, thumb, self. |
modifiedBy |
Object | Último usuário que modificou: userId, name. |
modifiedDate |
string | Data da última modificação. |
name |
string | Nome do arquivo. |
size |
number | Tamanho do arquivo. |
status |
string | Status do arquivo. |
version |
number | Versão do arquivo. |
error
Assinatura
error(code, message)
Executado quando ocorre um erro de integração.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
code |
string | number | Sim | Identificador do erro. |
message |
string | Sim | Detalhes do erro. |
Exemplo completo
Cenário: Listar e criar arquivos para o assunto Lorem ipsum da empresa Xpto Inc.
<code class="language-javascript"><script>
let recordId;
const widget = McFileWidgetListing.configure({
domain: 'xpto',
createFile: function (createFileResponse) {
alert("Arquivo criado");
console.log(createFileResponse);
recordId = createFileResponse.recordId;
}
});
widget.open({
containerId: 'mcfile-container',
createFileRequest: {
recordId: recordId || 0,
metadata : {
documentType: "Agreement",
description: "Test agreement",
companyName: "Xpto Inc.",
matterType: "Litigation",
matterTitle: "Lorem ipsum"
},
options : {
removeOlderVersions: false,
createShareLink: false,
doNotCreateStructure: true,
createNewRecord: true,
ocr: false
}
},
listFilesRequest: {
recordId: 119512686,
hierarchyLevel: "matter"
}
});
</script>
Observação: Sempre forneça o recordId quando possível.