v4h
v0.1.48
Published
(V4H) Video For Health Client Library
Downloads
255
Readme
V4H
Biblioteca para o serviço de vídeoconferência segura para saúde, essa aplicação permite colocar em um sistema web já existente vídeo chamadas além de um controle de acesso complexo, onde você é possível delimitar ações dos usuários dependendo do seu papel. Para mais informações clique aqui.
Sumário
Features
- Controle de organizações e unidades organizacionais
- Controle de usuários
- Funcionalidades dentro da conferências configuráveis
- Customização de interface configurável
- Gravação da videoconferência client-side e server-side
- Storage de vídeos gravados
- Criação de um manifesto de todas as ações ocorridas dentro da conferência
- Manifesto salvo em blockchain
- Integração com serviços de blockchain privadas
- Armazenamento de arquivos
Instalação
Usando npm:
$ npm install v4h
Usando yarn:
$ yarn add v4h
Client API
A client API deve ser definida da seguinte forma para ser utilizada:
import V4H from 'v4h';
const v4h = V4H(options);
Options:
- apiKey: [opcional] chave da organização
- baseUrl: [opcional] url do servidor da API
- domain: [opcional] servidor de videoconferência
- login: [opcional] string de identificação para login no sistema
- password: [opcional] senha para login no sistema
- token: [opcional] token de acesso
Após o setup você estará disponível para accessar as classes que serão descritas abaixo.
Requisitar videoconferência
Método responsável por criar uma sessão de
import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });
const data = {
profile: 'DEFAULT',
skin: 'DEFAULT',
org: 'org',
orgUnit: 'orgUnit',
joinPolicy: 'PUBLIC',
listPolicy: 'PUBLIC'
}
const session = v4h.session.create(data).then((response) => {
console.log(response);
});
data:
- org: Identificador da organização
- orgUnit: Identificador da unidade organizacional
- profile: Identificador do profile
- skin: Identificador do skin da conferência
- joinPolicy: [opcional] Para acessar (entrar), as seguintes políticas podem ser usadas:
- ORG: indica que a sessão somente pode acessada por algum usuário da organização
- ORGUNIT: somente pode acessada por usuários das unidades organizacionais listadas no atributo allowJoinOu
- RESTRICT: indica que a sessão somente pode ser acessada por usuários previamente cadastrados
- PUBLIC: Indica que o acesso à sessão não requer um usuário credenciado
- SESSIONPWD: entra apenas informando a password da sessão
- listPolicy: [opcional] Define como a sessão é enxergada por usuários cadastrados ou públicos na internet.
- PUBLIC: a sessão pode aparecer em uma lista pública
- SHARED: a sessão pode aparecer em uma lista apenas para usuários da organização
- PRIVATE: a sessão nunca aparece em listas, exceto com autenticação de usuários e permissão verificada para listar
- password: [opcional] senha de acesso da sessão
- allowJoinOu: [opcional] array de unidades organizacionais
Retorno:
{
id: 1
}
Iniciar videoconferência
Método para iniciar a conferência em uma div do sistema que está sendo utilizado, esse método não está disponível se for executado utilizando node.
import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });
const sessionName = 'skjdhfsjhbfw3fs';
const options = {
parentNode: document.getElementById('meet'),
userInfo: {
displayName: 'Leoberto'
}
}
v4h.session.startConference(sessionName, options).then((response) => {
console.log(response);
});
options
- parentNode: div html onde deverá ser colocado a videoconferência
- width: [opcional] tamanho em pixels da largura da tela de vídeo conferência
- height: [opcional] tamanho em pixels da altura tela de vídeo conferência
- startWithAudioMuted [opcional] booleano para iniciar com audio habilitado ou desabilitado
- startWithVideoMuted [opcional] booleano para iniciar com video habilitado ou desabilitado
- shareLink [opcional] link que será inserido no botão de compartilhar
- buttons [opcional] array de botões que serão exibidos na tela
- userInfo: [opcional] objeto com informações do usuário
- displayName: [opcional] nome do usuário que será mostrado na tela
- onLoad [opcional] callback que será executado na abertura da sessão
- onClose [opcional] callback que será executado no encerramento da sessão
- onParticipantLeft [opcional] callback para quando um participante sai da conferência
- onModeratorReject [opcional] callback para quando o moderador rejeitar entrada
Encerrar videoconferência
Método para encerrrar uma conferência, esse método não está disponível se for executado utilizando node e só terá efeito quando a conferência já estiver aberta.
import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });
v4h.session.stopConference().then(() => {
console.log('ok');
});
Listar videoconferências
Método responsável por recuperar todas as sessões criadas.
import V4H from 'v4h';
const v4h = V4H({ apiKey: 'APIKEY' });
v4h.session.list().then((sessions) => {
console.log(sessions);
});
Retorno:
metadata: {
offset: 0,
items: 1,
total: 1
},
records: [{
id: 5,
profile: 1,
skin: 1,
org: 9,
orgUnit: 9,
service: 15,
status: "CLOSED",
firstJoin: "2022-05-31T19:36:16.000Z",
started: "2022-05-31T19:37:14.000Z",
finished: "2022-05-31T19:37:55.369Z",
short: "iwh6m725yn8t9ukz",
joinPolicy: "PUBLIC",
listPolicy: "PUBLIC",
allowJoinOu: null,
enabled: true,
created: "2022-05-31T19:17:28.382Z",
updated: "2022-05-31T19:37:55.374Z"
}]
Recuperar videoconferência
Método responsável por recuperar informações de uma única sessão.
const v4h = new V4H({ apiKey: 'APIKEY' });
const session = 'sks3lf6lhxqt2a1j';
v4h.session.get(sessionId).then((session) => {
console.log(session);
});
Retorno:
{
id: 2,
profile: 1,
skin: 1,
org: 1,
orgUnit: 1,
status: 'READY',
firstJoin: null,
started: null,
finished: null,
short: 'sks3lf6lhxqt2a1j',
joinPolicy: 'PUBLIC',
listPolicy: 'PUBLIC',
allowJoinOu: null
}
Deletar videoconferência
Método responsável por deletar uma sessão.
const v4h = new V4H({ apiKey: 'APIKEY' });
const session = 'ksdh8127hdi872';
v4h.session.delete(session);