Você está na página 1de 77

Machine Translated by Google

Catálogo
1ÿGuia de Desenvolvimento ............................................. .................................................. .........2

1.1ÿIntrodução Geral ............................................. .................................................. 2

1.2ÿGuia de Desenvolvimento............................................. .................................................. ..4

1.3ÿPerguntas frequentes ............................................. .................................................. .........................5

Status HTTP 415 -......................................... .................................................. ..................7

ApacheTomcat/7.0.85......................................... .................................................. ....7

1.4ÿCódigo de erro......................................... .................................................. .................7

2ÿProcesso de Negócios............................................. .................................................. ............18

2.1ÿAutenticação de login............................................. ....................................................18

Autenticação ................................................... .................................................. .........18

Token de atualização ................................................ .................................................. ............21

Cancelar autenticação................................................ .................................................. 23

2.2ÿÁrvore de departamentos de dispositivos............................................. .............................................23

Regras de codificação de canal................................................ .................................................. ..24

Árvore de departamentos de dispositivos................................................ ................................................24

Lista de dispositivos................................................ .................................................. ..................27

2.3ÿGestão de Pessoal............................................. ...........................................27

3.Interface API............................................. .................................................. ..................34

3.1ÿAutenticação de login ............................................. ................................................34

3.1.1ÿPrimeiro login......................................... .................................................. ...........34

3.1.2ÿSegundo login .......................................... .................................................. ......35

3.1.3ÿToken de atualização.......................................... .................................................. .....37

3.1.4ÿModificar senha .......................................... ..................................................38

3.1.5ÿSair ............................................. .................................................. ..............39

3.2ÿÁrvore de Dispositivos............................................. .................................................. .............40

3.2.1ÿObtendo árvore de organização de dispositivos (todos)................................... ........................40

3.2.2ÿObter lista de dispositivos (todos) ........................................ ...................................................43

3.2.3ÿObtendo árvore de organização de dispositivos (hierárquica) ........................................ ........52

3.2.4ÿObter informações subordinadas sobre um nó especificado com base no tipo de dados de

pesquisa.................................. .................................................. ...................................54

3.3ÿGestão de Pessoal............................................. ...................................................56


Machine Translated by Google

3.3.1ÿAdicionar usuário de um cartão......................................... .................................................. 0,56

3.3.2ÿAtualizar usuário de cartão único .......................................... ............................................. 61

3.3.3ÿExcluir usuário de um cartão em lotes................................... ................................66

3.3.4ÿPesquisar lista de usuários de um cartão........................................ ...........................................67

3.3.5ÿPesquisar usuário de um cartão......................................... ................................................69

4ÿDefinição do Dicionário ............................................. .................................................. .....74

4.1ÿTipo de fabricação............................................. .................................................. ...74

4.2ÿTipo de dispositivo............................................. .................................................. .............74

4.3ÿTipo de unidade ............................................. .................................................. ................75

4.4ÿTipo de câmera ............................................. .................................................. ..........75

4.5ÿCapacidade definida para canal de codificação ........................................... ....................................75

4.6ÿTipo de dispositivo de controle de acesso .......................................... ........................................76

4.7ÿTipo de Evento de Controle de Acesso .......................................... ...................................................76

1. Guia de Desenvolvimento
1.1ÿIntrodução Geral

Estrutura geral

A plataforma fornece um conjunto de funções que inclui autenticação, árvore de dispositivos, vídeo, acesso, transporte,
gerenciamento de atendimento, reconhecimento facial e negócios de intercomunicação visível, e interage com protocolos
HTTP, MQ e RTSP. O protocolo HTTP é usado para acessar a interface REST fornecida na plataforma.
O controle de operação e o acesso aos recursos da plataforma podem ser exigidos pela interface REST. O protocolo MQ
é usado para assinar e receber mensagens na plataforma. O protocolo RTSP é usado para acessar dados de áudio e
vídeo na plataforma. Gráfico de estrutura geral:
Machine Translated by Google

Preparação para o desenvolvimento

• Obtenha o pacote de instalação da plataforma e instale a plataforma de


acordo com o manual. Após a instalação bem-sucedida, configure
uma conta e importe o arquivo de licença.
• Adicione um dispositivo front-end à plataforma para garantir que haja
recursos de codificação e decodificação front-end acessíveis na
plataforma.
• Selecione HTTP e HTTPS: A plataforma fornece modos de acesso HTTP (texto
simples) e HTTPS (criptografado). As portas de acesso padrão de HTTP e
HTTPS são a porta 80 e a porta 443, respectivamente. HTTP é recomendado
no estágio de desenvolvimento e comissionamento para posicionar a
questão. HTTPS é recomendado na operação real para garantir acesso seguro
à plataforma.
• Selecione a linguagem de desenvolvimento adequada para realizar a interação
com os protocolos HTTP, MQ e RTSP. Leve em consideração o
componente do player para realizar a função de reprodução de vídeo.

Conceito básico
Machine Translated by Google

• Sessão: Uma sessão é gerada após um cliente ser autenticado na plataforma. Na sessão, o cliente poderia
solicitar recursos permitidos e receber mensagens push do MQ na plataforma.
A plataforma exclui a sessão em caso de tempo limite de keep-alive ou cancelamento inicial da autenticação.

• Departamento: A plataforma possui um departamento raiz. Departamentos e dispositivos podem ser


montados no departamento raiz. Departamentos e dispositivos também podem ser
transportados sob um departamento. A estrutura do departamento pode ser definida de acordo com a
relação hierárquica existente no site.
• Dispositivo: Um dispositivo físico real. A plataforma suporta codificador, decodificador e outros dispositivos
da Intelbras. A plataforma obtém recursos de áudio e vídeo, detecção de alarmes e outros recursos via
serviço de acesso e serviço de streaming de mídia.
• Unidade: divida um dispositivo em múltiplas unidades de acordo com a capacidade fornecida. Os tipos de unidades comuns incluem
unidade de codificação, unidade de decodificação, unidade de entrada de alarme e unidade de saída de alarme. Um dispositivo
inclui múltiplas unidades.

• Canal: Existem vários canais em uma unidade. Um canal é a menor unidade para fornecer dados. Por exemplo,
um canal de codificação pode emitir dados de streaming de vídeo e um canal de alarme pode detectar e
emitir informações de alarme. Uma unidade possui vários canais, enquanto o tipo de canal e o tipo de
unidade são consistentes.

1.2ÿGuia de Desenvolvimento

Autenticação keep-alive

Antes de acessar os recursos da plataforma, chame a interface de autenticação (/admin/API/accounts/authorize)


para obter a autenticação da plataforma. Após a autenticação bem-sucedida, salve o valor do token retornado e o ID
do usuário. Use o token e o userId para assinatura MQ subsequente e chamada de interface RTSP. Ao chamar outras
interfaces REST, coloque o valor do token no campo X-Subject-Token no cabeçalho HTTP, caso contrário, a
verificação poderá falhar, causando falha no retorno da interface de invocação. Keep alive regularmente para
chamar interfaces keep alive (/admin/API/accounts/updateToken). Se nenhuma ação de keep-alive ocorrer dentro de
um período, a plataforma detectará o tempo limite de keep-alive e o valor do token correspondente se tornará inválido.

Aviso de QM

Obtenha o IP e a porta conectando o MQ obtendo a interface de configuração do MQ (admin/API/BRM/Config/


GetMqConfig). Conecte o serviço MQ via activeMQ. Atualmente, existem 3 tópicos a serem inscritos na
plataforma:

Tema Formato de assinatura

Tópico de alarme mq.alarm.msg.topic.{UserId}

Tópico público mq.common.msg.topic

Tópico do evento mq.event.msg.topic.{UserId}

UserId é o retorno da interface de autenticação. Se UserId for 1, assine este tópico:

Tema Formato de assinatura

Tópico de alarme mq.alarm.msg.topic.1

Tópico público mq.common.msg.topic

Tópico do evento mq.event.msg.topic.1


Machine Translated by Google

A mensagem enviada pelo MQ está no formato Json. Consulte a mensagem do MQ para obter o formato detalhado.

Árvore de departamento

Chame a interface da árvore de departamento do dispositivo (/admin/API/tree/deviceOrg) e a interface da lista de


dispositivos (/admin/API/tree/devices) para obter a estrutura do departamento e informações do dispositivo. Cada dispositivo
e canal possui um código único pelo qual os dados podem ser montados e uma árvore de dispositivos gerada. As operações
subsequentes no dispositivo e no canal são realizadas solicitando à plataforma por meio do código do dispositivo e do código
do canal na árvore de dispositivos.

Vídeo em tempo real

Use o canal de código na árvore de dispositivos para solicitar vídeo em tempo real. Obtenha dados de fluxo pelo protocolo RTSP após
obter o URL do vídeo em tempo real. A plataforma suporta stream privado e stream padrão. Solicite stream privado e stream
padrão montando diferentes formatos RTSP. O player Intelbras pode reproduzir stream privado. Você pode acessar o player
Intelbras no site oficial da Intelbras. Adota interface C e biblioteca dinâmica (dll) para carregamento. O player Intelbras também pode
reproduzir stream padrão. Ou você pode selecionar uma biblioteca de código aberto para decodificá-la e reproduzi-la.

Gravar reprodução

Registro da plataforma: configure o armazenamento da plataforma. O dispositivo pode estar offline para pesquisa e reprodução de
registros da plataforma. Registro do dispositivo: O registro do dispositivo deve ser armazenado no dispositivo. O dispositivo deve estar
on-line para pesquisa e reprodução de registros do dispositivo. A plataforma suporta stream privado e stream padrão. Solicite
stream privado e stream padrão montando diferentes formatos RTSP. O player Intelbras pode reproduzir stream privado. Você
pode acessar o player Intelbras no site oficial da Intelbras. Adota interface C e biblioteca dinâmica (dll) para carregamento. O player
Intelbras também pode reproduzir stream padrão. Ou você pode selecionar uma biblioteca de código aberto para decodificá-la e
reproduzi-la.

1.3ÿPerguntas frequentes

Interface retorna 401

O valor do token de X-Subject-Toekn no cabeçalho http da mensagem de solicitação é inválido. A interface retorna o código de erro
401. Captura de pacotes mostrada abaixo:

POST /admin/API/MTS/Video/StartVideo HTTP/1.1


Tipo de conteúdo: aplicativo/json
X-Subject-Token:
Comprimento do conteúdo: 256
Anfitrião: 10.35.93.19:80
Conexão: Keep-Alive
Agente do usuário: Apache-HttpClient/4.5.3 (Java/1.8.0_65)
Aceitar codificação: gzip,deflate
Machine Translated by Google

{"clientType":"WINPC","clientMac":"","clientPushId":"","project":"PS
DK","method":"MTS.Video.StartVideo","dados":{" streamType":"1","option al":"/admin/API/
MTS/Video/StartVideo?","trackId":"","extend":"","cha nnelId":"1000001$1$0$0
","planId":"","dataType":"2"}}

HTTP/1.1 401 Servidor não


autorizado: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=CAF98CE25740B7867A4FFC9078CD10FA; Caminho=/
admin;
HttpOnly Content-Type: application/json;charset=utf-8
Content-Length: 66
Data: Quarta, 23 de janeiro de 2019 03:36:22 GMT

{"realm":"DSS","randomKey":"d14a801f91594873","encryptType":"MD5"}

Interface retorna 415

O campo de tipo de conteúdo no cabeçalho http não está definido como application/json. A interface retorna o código de erro 415. Captura de
pacotes conforme mostrado abaixo:

POST /admin/API/MTS/Video/StartVideo HTTP/1.1 X-


Subject-Token: 0574987f9cf54f5a8a41a8ae22ae8e57
Comprimento do
conteúdo: 288 Tipo de conteúdo: texto/simples; conjunto
de caracteres=Host ISO-8859-1: 10.35.93.19:80
Conexão: Agente de usuário
Keep-Alive: Apache-HttpClient/4.5.3 (Java/1.8.0_65)
Aceitar codificação: gzip,deflate

{"clientType":"WINPC","clientMac":"","clientPushId":"","project":"PS
DK","method":"MTS.Video.StartVideo","dados":{" streamType":"1","option al":"/admin/API/
MTS/Video/StartVideo?0574987f9cf54f5a8a41a8ae22ae8e5
7","trackId":"","extend":"","channelId":"1000001$1$0 $0","planId":"", "dataType":"2"}}

HTTP/1.1 415 Servidor de tipo de mídia não


compatível: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=3FEB4F516B136F900B7A8CED64B81484; Caminho=/
admin;
HttpOnly Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1048
Data: Quarta, 23 de janeiro de 2019 03:46:04 GMT
Machine Translated by Google

Status HTTP 415 -

tipo Relatório de status

mensagem

descrição O servidor recusou esta solicitação porque a entidade da solicitação está em um formato não compatível
rted pelo recurso solicitado para o método solicitado.

ApacheTomcat/7.0.85

1.4ÿCódigo de erro

Erro
Mensagem de erro
de código

409 Sem permissão


413 Solicitar entidade muito grande

500 Erro interno

520 Erro de servidor

1004 O parâmetro é ilegal.


1005 O nome já existe.
1006 mais do que o limite máximo num.

1007 os dados não existem

1008 a tarefa não foi concluída

1101 O nonce é ilegal.

1103 O usuário não está autorizado.

1104 Sem permissão para acessar.


2001 Usuário ou senha incorretos.
2002 O usuário foi bloqueado

2003 O usuário foi desativado

2004 O usuário fez login.


Machine Translated by Google

Erro
Mensagem de erro
de código

2005 O usuário está proibido de fazer login na data atual

2006 O usuário está proibido de fazer login no momento

2007 O nome do arquivo não pode ser nulo

2008 A senha antiga não pode ser nula

2009 A nova senha não pode ser nula

2010 O usuário não existe

2011 A senha não pode ser igual à senha padrão

2012 O assunto não pode ser nulo

2013 O(s) usuário(s) não pode(m) ser nulo(s)

2014 O(s) vídeo(s) não podem ser nulos

2015 O código do dispositivo não pode ser nulo

2016 O dispositivo não existe

2017 O(s) canal(is) não pode(m) ser nulo(s)

2018 O ID do canal não é válido

2019 O ID do mural de TV deve ser um número inteiro longo e sem sinal

2020 O ID da tarefa deve ser um número inteiro longo e sem sinal

2021 O nome da tarefa não pode ser nulo

2022 A tarefa não existe

2023 A parede da TV não existe

2024 O ID da tag deve ser um número inteiro longo e sem sinal

2025 A fonte do registro deve ser um número inteiro sem sinal

2026 O assunto não pode ser nulo

2027 O tempo da tag deve ser um número inteiro longo e sem sinal

2028 A hora de início deve ser um número inteiro longo e sem sinal

2029 O horário de término deve ser um número inteiro longo e sem sinal

2030 O ID do cruzeiro deve ser um número inteiro longo e sem sinal

2031 Os dados do cruzeiro não podem ser nulos

2032 O cruzeiro não existe

2033 O chamador não pode ser nulo

2034 O chamado não pode ser nulo

2035 A duração deve ser um número inteiro longo e sem sinal

2036 O status deve ser um número inteiro sem sinal

2037 O tempo de chamada deve ser um número inteiro longo e sem sinal

2038 O tipo de operação deve ser um número inteiro sem sinal

2039 O tempo de operação deve ser um número inteiro longo sem sinal

2040 O tipo de serviço deve ser um número inteiro sem sinal

2041 O dispositivo ou serviço não existe

2042 O tipo talk deve ser um número inteiro sem sinal

2043 O tipo de conversa não suporta

2044 A sequência do canal deve ser um número inteiro sem sinal

2045 Os canais de transmissão não podem ser nulos


Machine Translated by Google

Erro
Mensagem de erro
de código

2046 O tipo de áudio deve ser um número inteiro sem sinal

2047 O modo de conversação deve ser um número inteiro sem sinal

2048 O bit de áudio deve ser um número inteiro sem sinal

2049 A taxa de amostragem deve ser um número inteiro sem sinal

2050 O tipo de registro deve ser um número inteiro sem sinal

2051 A sessão de áudio não pode ser nula

2052 O dispositivo está falando

2053 Você está solicitando uma conversa, aguarde a última resposta

2054 O tipo de dados deve ser um número inteiro sem sinal

2055 O tipo de dados não suporta

2056 O tipo de fluxo deve ser um número inteiro sem sinal

2057 O tipo de fluxo não suporta

2058 O ID do disco não pode ser nulo

2059 O ID do stream deve ser um número inteiro longo e sem sinal

2060 O ID do stream não existe

2061 O ID do alarme deve ser um número inteiro longo e sem sinal

2062 O status do alarme deve ser um número inteiro sem sinal

2063 O mês do registro não pode ser nulo

2064 A duração do registro deve ser um número inteiro longo e sem sinal

2065 O código do alarme não pode ser nulo

2066 A fonte de registro não suporta

2067 O tipo de registro não suporta

2068 O alarme não existe

2069 O ID do usuário deve ser um número inteiro longo e sem sinal

2070 O(s) canal(is) não pode(m) ser nulo(s)

2071 Os id(s) não podem ser nulos

2072 O ID deve ser um número inteiro longo e sem sinal

2073 A informação de bloqueio de registro não existe

2074 O tipo de operação não suporta

2075 O tempo de bloqueio deve ser um número inteiro longo e sem sinal

2076 O comando deve ser um número inteiro sem sinal

2077 O direto deve ser um número inteiro sem sinal

2078 O ponto x deve ser um número inteiro

2079 O ponto y deve ser um número inteiro

2080 O ponto z deve ser um número inteiro

2081 A etapa x deve ser um número inteiro sem sinal

2082 A etapa y deve ser um número inteiro sem sinal

2083 O identificador do usuário não pode ser nulo

2084 O usuário não tem autorização.

2085 O zoom PTZ deve ser flutuante

2086 O foco PTZ deve ser flutuante


Machine Translated by Google

Erro
Mensagem de erro
de código

2087 O código do ponto não pode ser nulo

2088 O nome do ponto não pode ser nulo

2089 O valor das informações da página não pode ser nulo

2090 O valor do tamanho da página não pode ser nulo

2091 O valor das informações do pedido não pode ser nulo

2092 O status do alarme deve ser um número inteiro sem sinal

2093 O tipo de alarme deve ser um número inteiro sem sinal

2094 A nota do alarme deve ser um número inteiro sem sinal

2095 O status do identificador deve ser um número inteiro sem sinal

2096 A hora de início do alarme deve ser um número inteiro longo e sem sinal

2097 A hora de término do alarme deve ser um número inteiro longo e sem sinal

2098 A hora de início do identificador deve ser um número inteiro longo e sem sinal

2099 O horário de término do identificador deve ser um número inteiro longo e sem sinal

2100 O número da página deve ser um número inteiro sem sinal

2101 O tamanho da página deve ser um número inteiro sem sinal

2102 O tipo de pedido deve ser um número inteiro sem sinal

2103 O status do identificador não pode ser nulo

2104 O id da matriz não pode ser nulo

2105 O tipo de operação não pode ser nulo

2106 O índice de tv não pode ser nulo

2107 O índice tv deve ser um número inteiro sem sinal

2108 O índice da tela não pode ser nulo

2109 O índice da tela deve ser um número inteiro sem sinal

2110 O índice subTv não pode ser nulo

2111 O índice subTv deve ser um número inteiro sem sinal

2112 O número dividido não pode ser nulo

2113 O número dividido deve ser um número inteiro sem sinal

2114 O id do tvWall não pode ser nulo

2115 O id do tvWall deve ser um número inteiro não assinado

2116 O valor das informações de posição não pode ser nulo

2117 A esquerda não pode ser nula

2118 O topo não pode ser nulo

2119 A largura não pode ser nula

2120 A altura não pode ser nula

2121 O tipo de tv não pode ser nulo

2122 O tipo de tv deve ser um número inteiro sem sinal

2123 O nível de alarme não pode ser nulo

2124 O nível de alarme deve ser um número inteiro sem sinal

2125 O pedido não pode ser nulo

2126 O pedido deve ser um número inteiro sem sinal

2127 A janela filha não pode ser nula


Machine Translated by Google

Erro
Mensagem de erro
de código

2128 A janela filha deve ser um número inteiro

2129 O e-mail não é válido

2130 O comando não suporta

2131 O processo de alarme não existe

2132 A função do usuário não existe

2133 O usuário não tem permissões do canal

2134 O usuário não tem permissões do dispositivo

2135 O destinatário do email não pode ser nulo

2136 A mensagem de email não pode ser nula

2137 O número de mensagens atingiu um limite máximo

2138 O destino deve ser um número inteiro sem sinal

2139 A origem do alarme não pode ser nula

2140 A duração deve ser um número inteiro positivo

2141 O azimute deve ser um dígito

2142 O tipo de dados não pode ser nulo

2143 O nome dos dados não pode ser nulo

2144 Os dados não existem

2145 A informação da janela não existe

2146 O tipo de tela não pode ser nulo

2147 O tipo de tela deve ser um número inteiro sem sinal

2148 A esquerda deve ser um float sem sinal

2149 O topo deve ser um float não assinado

2150 A largura deve ser um ponto flutuante sem sinal

2151 A altura deve ser um float sem sinal

2152 O ID da janela não pode ser nulo

2153 O ID da janela deve ser um número inteiro não assinado

2154 Os dados de entrada não podem ser nulos

2155 O endereço mac é proibido

2156 O centro de autenticação de domínio é proibido

2157 O valor de lidar com dados de mensagens por muito tempo

2158 A sessão não pode ser nula.

2159 O tipo deve ser um número inteiro sem sinal.

2160 O tipo não suporta.

2161 O dispositivo ivs face está offline.

2162 Os dados da imagem não podem ser nulos.

2163 O nome da pessoa não pode ser nulo.

2164 O tipo de pessoa deve ser um número inteiro positivo.

2165 O gênero da pessoa deve ser um número inteiro positivo.

2166 O ID SS não deve ser nulo.

2168 Somente senha padrão

2169 O sistema desfaz a inicialização.


Machine Translated by Google

Erro
Mensagem de erro
de código

2170 O sistema terminou o init.


2171 O repositório excede o número máximo x.
2172 A pessoa tem mais que um número máximo de repositório x.

2173 A pessoa mais do que o número máximo x.


2174 A pessoa digita mais que o número máximo x.

2175 O tipo de pessoa já existe.

2176 O tipo de pessoa foi usado, não pode ser removido.


2177 Existem alguns tipos de pessoas que foram usados, não podem ser removidos.

2178 Falha na tarefa atual do VMS

2179 O repositório não está habilitado.

2180 O tamanho da imagem da pessoa ultrapassa o limite máximo.

2181 O tamanho da imagem da pessoa ultrapassa o limite mínimo.

2182 As informações da solicitação são nulas.

2183 A pesquisa do repositório facial xo é nula.

2184 O ID do repositório facial é nulo ou zero.

2185 O repositório facial xo é nulo.

2186 O nome do repositório facial está vazio.

2187 A cor do repositório facial está vazia.

2188 A pesquisa de pessoa facial xo é nula.

2189 O ID da pessoa facial é nulo ou zero.

2190 O rosto pessoa xo é nulo.

2191 O nome da pessoa facial está vazio

2192 O gênero da pessoa do rosto está vazio

2193 O tipo de pessoa facial está vazio.

2194 O tipo de pessoa do rosto é menor que zero ou igual a zero

2195 Os dados da imagem facial estão vazios

2196 O tipo de pessoa facial xo é nulo.

2197 O nome do tipo de pessoa facial está vazio.

2198 O ID do tipo de pessoa facial está vazio.

2199 Os dados do aplicativo facial estão vazios.

2200 A pesquisa do aplicativo facial xo é nula.

2201 O controle de rosto xo é nulo.

2202 As informações do canal de controle facial são nulas.

2203 A informação do canal de controle facial do id é um erro.

2204 A informação de similaridade do canal de controle facial é um erro.

2205 O nome do repositório facial já existe.

2206 O serviço de correio não foi aberto

2207 O repositório facial não existe.

2208 O rosto excel não existe.

2212 O formato do arquivo deve ser zip, rar, 7z.

2213 O repositório foi usado, não pode ser removido.


Machine Translated by Google

Erro
Mensagem de erro
de código

2214 Existem alguns repositórios que foram usados, não podem ser removidos.

2215 O dispositivo facial não é compatível.

2216 O ID da pessoa facial já existe.

2217 A pessoa mais do que o número máximo x.

2218 O usuário foi bloqueado devido à atualização do sistema.

2219 O IP e a porta do domínio e o login do usuário se repetem.

2220 A repetição do nome de domínio.

2221 O domínio não existe.

2222 O domínio não foi encontrado.

2223 O domínio não está habilitado.

2224 O repositório facial está sendo operado. Tente novamente mais tarde.

2225 O domínio ultrapassa o número máximo.

2226 O domínio excede o limite de licença

2227 O usuário não tem permissões do canal escravo

2228 A configuração da trilha mestre-escravo está vazia

2229 Falha no repositório de rostos de exclusão do dispositivo.

2230 o canal escravo não existe.

2231 dispositivo não suporta configuração de trilha mestre escravo.

2232 O modo de página deve ser um número inteiro sem sinal.

2233 O último ID deve ser um número inteiro sem sinal.

2234 O tipo de lente deve ser um número inteiro sem sinal.

2235 O sistema está ocupado. Por favor, tente novamente mais tarde.

2236 A interrupção da detecção de rosto.

3.000 A comunicação tem um erro ou está em tempo limite

3001 O servidor MTS não está pronto.

3002 O servidor SS não está pronto.

3003 O servidor DMS não está pronto.

3004 O servidor VMS não está pronto.

3005 O servidor PTS não está pronto.

3028 outro dispositivo é atualizado agora!

3029 o dispositivo está off-line

3030 o dispositivo não é porta, não é possível atualizar

3031 a tela tem plano, não é possível alterar

3032 char ilegal

3099 O servidor de domínio não está pronto.

3100 O trabalho de serviço contém um erro ou é falso

3101 Os dados do serviço apresentam um erro ou são falsos

3111 O servidor facial não está pronto.

3112 A comunicação não tem resposta.

3113 A comunicação apresenta um erro.

3201 O plano de gravação está em execução


Machine Translated by Google

Erro
Mensagem de erro
de código

3202 Não corresponde ao tipo de áudio.

3203 Disco disponível não encontrado

3204 Capacidade não encontrada

3206 O userType e não o usuário clientType.

3207 O status do usuário de pesquisa deve estar em -1, 0, 1.

5.000 O tipo de item não pode ser nulo.

6.000 O parâmetro deve ser unsignedInteger

6001 O parâmetro não pode ser nulo

6002 UserName não pode ser nulo

6003 A senha não pode ser nula

6004 O nome de usuário existe

6005 o nome da função existe

6006 O nome do modelo de tempo existe

6007 TimeTemplateName nulo

6008 a nova senha não pode ser nula

6009 senha antiga não pode ser nula

6010 o cache do randomKey está fora do tempo ou foi removido

6011 o randomKey não pode ser nulo

6012 LanPath não pode ser nulo

6013 arquivo de backup não existe

6014 a nova senha não pode ser igual à senha original

6015 o caminho do arquivo de restauração não pode ser nulo

6016 arquivo de restauração não existe

6017 endereço de e-mail se repete

6018 não é possível excluir ou atualizar o usuário do sistema

6019 não é possível excluir ou atualizar o usuário, não tenho privilégios

6020 o arquivo de exportação deve ser xls ou csv ou txt

6021 o usuário atual não pode atualizar outro usuário

6022 IDs de usuário não podem ser nulos

6023 O ID do canal de origem do alarme não pode ser nulo

6024 o comprimento das respostas deve ser três.

6025 A senha criptografada não pode ser tola

6026 O tipo de backup automático não pode ser bull

6027 A data do backup automático não pode ser ruim

6028 O tempo de backup automático não pode ser ruim

6029 A senha de descriptografia não pode ser tola

6030 O conteúdo do arquivo de restauração manual não é uma besteira

6031 As informações de manutenção de alarme devem ser unsignedInteger

6032 As informações de manutenção de log devem ser unsignedInteger

6033 As informações de manutenção do mapa de calor devem ser unsignedInteger

6034 A hora de início do timesync não pode ser nula


Machine Translated by Google

Erro
Mensagem de erro
de código

6035 O endereço de e-mail de envio é ilegal

6036 O endereço de e-mail do destinatário é ilegal

6037 O timeTemplate atual está ocupado por outros

6038 O ID do canal de origem não pode ser nulo.

6039 O ID do canal de destino não pode ser nulo.

6040 O banco de dados não existe nas informações do canal

6041 Não é possível excluir usuário online

6044 o usuário atual não pode operar o serviço do sistema!

6045 IP do dispositivo e repetição de porta

6046 Dispositivo não existe

6047 A senha do dispositivo está incorreta

6048 O nome de login do dispositivo está incorreto

6049 Tempo limite de login do dispositivo

6050 Conta já está logada

6051 Conta bloqueada

6052 A conta está na lista negra

6053 Recurso insuficiente

6054 Falha na conexão infantil

6055 Falha na conexão principal

6056 As conexões excedem

6057 A senha do dispositivo ou nome de login está incorreto

6058 RecordScheduleName nulo!

6059 RecordScheduleName se repete!

6060 Falha na exclusão do iscsi, verifique a tarefa do servidor!

6071 O grupo de discos configurou a cota do grupo, não é possível definir o tipo de imagem!

6072 O endereço IP é ilegal!

6073 O número da porta é ilegal!

6074 O número da porta foi ocupado!

6075 A capacidade do disco virtual deve estar entre 10 e 16.384!

6076 O orgName não deve ser nulo

6077 A saída da organização

6078 A organização orgCode é NULL

6079 não pode ser excluído

6080 A exclusão do grupo de dispositivos foi proibida

6083 A organização foi alterada, atualize a página.

6089 Senha de usuário incorreta

6091 O cache de descoberta de dispositivos expirou.

6092 Erro desconhecido.

6093 O tipo de serviço não existe.

6094 Serviço não registrado.

6096 Solicitação incorreta do serviço.


Machine Translated by Google

Erro
Mensagem de erro
de código

6097 Não é possível conectar ao servidor P2P.

6098 Resposta do servidor P2P vazia, o dispositivo pode não estar registrado no servidor p2p.

6099 falhou ao invocar obms.

6101 Erro de análise de arquivo de importação

6102 A importação de dados do arquivo é ilegal

6103 A habilitação de construção fechada não é compatível

O dispositivo é membro de um grupo de dispositivos ou grupo de gerenciamento e não tem permissão para excluir
6106

6107 O usuário é membro de um grupo de gerenciamento de intercomunicação e não tem permissão para excluir

6108 O número de canais codificadores excede o limite de licença

6109 O número de controle de acesso excede o limite de licença

6110 O número de canais de controle de acesso excede o limite de licença

6111 O número de VTO excede o limite de licença

6112 O número de ID SIP excede o limite de licença

6113 O número de hosts de alarme excede o limite de licença

6114 O número de áreas de defesa excede o limite de licença

6115 O número de entradas e saídas excede o limite da licença

6116 O número de detecção de rosto excede o limite de licença

6117 O número de conexões do Cliente excede o limite de licença

6120 Falha ao buscar informações do canal do dispositivo no SOSO

6121 A porta está em uso

6123 o usuário não tem os direitos do módulo

6124 Este registro não foi encontrado

6126 O código-fonte do alarme possui um plano de alarme

6133 A licença expirou e você não consegue fazer login

6135 O arquivo de backup não corresponde à versão atual do DSS e não pode ser restaurado

6136 O tipo de dispositivo é ilegal

6138 O número de canais Onvif excede o limite de licença

6139 Proibir construção desabilitada enquanto a unidade estiver habilitada

6140 O número de terminais de atendimento excede o limite de licença

6141 O canal do dispositivo foi distribuído para o repositório

6146 O número de usuários registrados do VDP APP excede o limite de licença

6153 O cenário de residência não está configurado

6155 O cenário de residência não é suportado pela plataforma

6156 A janela foi configurada para link video wall e não pode ser excluída

6159 A tarefa de extração do registro acs está em execução. Tente mais tarde.

6160 O número de canais P2P excede o limite de licença.

7.000 Falha na autenticação

7001 O id da pessoa do cartão não pode ser nulo

7002 O ID da pessoa do cartão existe

7003 O nome anti-passback existe


Machine Translated by Google

Erro
Mensagem de erro
de código

7004 O nome do inter-lock existe

7006 O grupo de portas não existe

7007 O departamento tem pessoas, não pode ser excluído

7008 O departamento existe

7009 O departamento possui nó filho, não pode ser excluído

7010 O grupo de portas tem direitos, não pode ser excluído

8.000 O nome do grupo de dispositivos já existe

8001 O nome do grupo de gerentes já existe

8017 AccessControl suporta uma regra, AccessCentralControl suporta três regras

8018 A pessoa tem as informações do primeiro cartão

8019 A pessoa tem informações anti-passback

8023 O grupo de pessoas possui informações de vários cartões

8024 Este grupo de dispositivos é membro de um grupo de relacionamento e não tem permissão para excluir

8025 Este grupo de gerenciamento é membro de um grupo de relacionamento e não tem permissão para excluir

8042 O número do cartão existe

8043 A pessoa tem informações do grupo de pessoas

8044 O parâmetro de entrada é ilegal

8045 A pessoa tem direitos de cartão, deve ter o número do cartão

8046 O parâmetro deve ser inteiro

8049 As informações da pessoa importada são nulas

8050 O parâmetro é nulo

8053 O nome do turno já existe.

8056 O nome do período já existe.

8058 O turno de atendimento está sendo usado.

8059 O período de atendimento está sendo usado.

8060 O usuário não tem permissões de videoporteiro

8061 Erro de pesquisa de informações de licença

8064 O chefe de família existe

8066 A pessoa já existe no grupo de pessoas

8067 A tarefa de extração não foi concluída

10001 O parkingLotName está vazio!

10002 O idleLot é mais que totalLot!

10003 O parkingLotName já existe!

10004 O carro Não. já existe ou repita!

10005 O dispositivo não existe ou foi excluído!

10006 O dispositivo está offline!

10007 A hora não está no tempoTemplate!

10008 O erro de configuração do parkingLot!

10009 Informações de alarme ilegal!

10010 O cardNUm não existe!

20002 editar exceção do modelo


Machine Translated by Google

Erro
Mensagem de erro
de código

20003 excluir exceção do modelo

20004 modelName existe

20005 rótulo do modelo existe, falha na exclusão

20007 índice de rótulo existe

20008 o nome do rótulo existe

20009 salvar exceção de rótulo

20010 editar exceção de rótulo

20011 excluir exceção de rótulo

20013 erro de parâmetro

20014 O tamanho da imagem está superdimensionado

20015 vire para apontar exceção

2ÿProcesso de Negócios

2.1ÿAutenticação de login

Autenticação

• A autenticação de login requer duas autenticações. O primeiro pega o nome


de usuário, calcula o valor da assinatura de acordo com as
informações criptografadas retornadas pela plataforma e, em
seguida, coloca o valor da assinatura calculado na segunda solicitação de
autenticação. Após a autenticação bem-sucedida, é necessário chamar a
interface do token de atualização para manter-se ativo dentro da duração do
keep-alive.
Machine Translated by Google

Primeira autenticação

-O nome de usuário é necessário para a primeira solicitação de autenticação. Neste momento, a plataforma retorna o
código de erro 401 sem autoridade e carrega informações criptografadas no corpo da mensagem. As informações
criptografadas incluem informações de domínio (reino), chave aleatória e tipo de criptografia. Atualmente, o método
de criptografia oferece suporte apenas a MD5. -O processo de solicitação é o seguinte:

POST /admin/API/contas/autorizar HTTP/1.1


Anfitrião: 35.10.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
Comprimento do conteúdo: 67

{
"nomedeusuário": "sistema",
"endereço de IP": "",
"clientType": "WINPC"
}HTTP/1.1 401 Não autorizado
Servidor: Apache-Coyote/1.1
Conjunto de cookies: JSESSIONID=7994C0D4B07F194D0757882392DCC2C0; Caminho=/admi
n; Somente http
Tipo de conteúdo: application/json;charset=utf-8
Comprimento do conteúdo: 66
Data: Quarta, 19 de dezembro de 2018 08:41:58 GMT
Conexão: fechar
Machine Translated by Google

{"realm":"DSS","randomKey":"9c2b603650f54bcb","encryptType":"MD5"}

Segunda autenticação

• Uma assinatura é necessária para a segunda solicitação de autenticação.


De acordo com o nome de usuário, senha, informações de domínio (reino),
chave aleatória e método de criptografia (MD5), a assinatura é calculada da seguinte
forma: Exemplos de pseudocódigo:

temp = md5(senha)
temp = md5(nomedeusuário + temp)
temperatura = md5(temperatura)

temp = md5(userName + ":" + reino + ":" + temp)


assinatura = md5(temp + ":" + randomKey)

• Conforme mostrado no pseudocódigo acima, a criptografia MD5 é necessária cinco


vezes, nas quais os parâmetros e os valores dos resultados são strings e as letras
dos valores dos resultados criptografados MD5 estão todas em minúsculas. Os valores
assumidos são os seguintes:

Parâmetros Valor

nome de usuário "sistema"

senha "administrador123"

reino "DSS"

chave aleatória "9c2b603650f54bcb"

-Os valores calculados para cada etapa são os seguintes:

Tempos
Valor dos parâmetros/resultados
de criptografia
1 Parâmetros "administrador123"

1 Resultado "0192023a7bbd73250516f069df18b500"

2 Parâmetros "sistema0192023a7bbd73250516f069df18b500"
2 Resultado "5a0fdbe44b86807b5e5e127918bbc475"

3 Parâmetros "5a0fdbe44b86807b5e5e127918bbc475"

3 Resultado "1e27fadce9af09e120ab5142a83a679e"

4 Parâmetros "sistema:DSS:1e27fadce9af09e120ab5142a83a679e"
4 Resultado "675ae42820b189caa27d63b4b3264232"

5 Parâmetros "675ae42820b189caa27d63b4b3264232:9c2b603650f54bcb"

5 Resultado "7b6f728a6fa77e1ea5984afda8008e42"

-O processo de solicitação é o seguinte:

POST /admin/API/contas/autorizar HTTP/1.1


Machine Translated by Google

Anfitrião: 35.10.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
Comprimento do conteúdo: 186

{
"nomedeusuário": "sistema",
"randomKey": "9c2b603650f54bcb",
"Mac": "",
"encryptType": "MD5",
"endereço de IP": "",
"assinatura": "7b6f728a6fa77e1ea5984afda8008e42",
"clientType": "WINPC"
}HTTP/1.1 200 OK
Servidor: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=042C68CF5399B1898DCFD78B35A90896; Caminho=/admi
n; Somente http
Tipo de conteúdo: application/json;charset=utf-8
Codificação de transferência: fragmentada
Data: Quarta, 19 de dezembro de 2018 08:41:58 GMT
Conexão: fechar

{"duração":30,"token":"a0e5844699db4cf8a2f9afaae11becd4","userId":"
1","versionInfo":{"lastVersion":"1074472","updateUrl":"/admin/x86/Ge
neral_DSS-Express_Client-x86_V1.000.0000002.0.R.20181213.exe;/admin/
x64/General_DSS-Express_Client-x64_V1.000.0000002.0.R.20181213.exe
"},"sipNum":"8888881000"}

-Após o sucesso da segunda autenticação, o significado do campo retornado pela plataforma é o seguinte: duração:
Duração do keep-alive. É necessário chamar a interface do token de atualização (/admin/API/accounts/
updateToken) para manter-se ativo durante a duração do keep-alive. token: token. Nas solicitações subsequentes, o
token precisa ser colocado no cabeçalho da solicitação e o nome do campo é X Subject-Token. userId: ID do
usuário. VersionInfo: Versão do cliente e endereço de download do cliente.

Atualizar token

• Após a autenticação bem-sucedida, é necessário chamar o


atualize a interface do token para sobrevivência dentro da duração da
sobrevivência. Sugere-se que o intervalo keep-alive seja 3/4 da duração do keep-alive. Na
solicitação de atualização do token, um valor de assinatura precisa ser transportado
no corpo da mensagem, e o valor da assinatura aqui precisa ser MD5 calculado de
acordo com o quarto resultado do cálculo da segunda autenticação e o último valor do
token. O primeiro valor do token é o token retornado quando a segunda autenticação é
bem-sucedida e o valor
Machine Translated by Google

o valor do token subsequente é aquele retornado pelo updatetoken.


O pseudocódigo é o seguinte:

assinatura = md5(temp + ":" + token)

-Os valores assumidos são os seguintes:

Parâmetros Valor

temperatura "675ae42820b189caa27d63b4b3264232"

símbolo "a0e5844699db4cf8a2f9afaae11becd4"

-Os valores calculados são os seguintes:

Tempos
Parâmetros/Res.
de criptografia Valor
ults
ns

"675ae42820b189caa27d63b4b3264232:a0e5844699db4cf8a2f9afaa
1 Parâmetros
e11becd4"

1 Resultado "5bce0dc0059363e251a706a8b1b281a9"

-O processo de solicitação é o seguinte:

POST /admin/API/accounts/updateToken HTTP/1.1


Anfitrião: 35.10.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: a0e5844699db4cf8a2f9afaae11becd4
Comprimento do conteúdo: 52

{
"assinatura": } "5bce0dc0059363e251a706a8b1b281a9"
HTTP/1.1 200 OK
Servidor: Apache-Coyote/1.1
Conjunto de cookies: JSESSIONID=C778CC5FC4302D4C71DB10F7FF34391B; Caminho=/admi
n; Somente http
Tipo de conteúdo: application/json;charset=UTF-8
Codificação de transferência: fragmentada
Data: Quarta, 19 de dezembro de 2018 08:43:04 GMT
Conexão: fechar

{"código":1000,"desc":"Sucesso","dados":{"token":"a0e5844699db4cf8a2f9a
faae11becd4","duração":30}}

O cliente precisa atualizar o valor do token na mensagem retornada para o valor do token local e usar o valor do token
atualizado para cálculos subsequentes.

Observação:
Machine Translated by Google

1. A plataforma não verificará a assinatura trazida no


solicitação updateToken, mas não há garantia de que nenhuma verificação será
adicionada posteriormente. Portanto, recomenda-se calcular de acordo com as
instruções do documento.
2. O token da versão atual é fixo, ou seja, o valor do token retornado em updatetoken é o
mesmo retornado na segunda autenticação. No entanto, não há garantia de que não
mudará, por isso é recomendado atualizar com o valor do token retornado por updatetoken.

Cancelar autenticação

Quando o cliente sai, ele precisa chamar a interface não autorizada. O corpo da mensagem desta interface
precisa trazer o nome de usuário e o token.

-O processo de solicitação é o seguinte:

POST /admin/API/accounts/desautorizar HTTP/1.1


Anfitrião: 35.10.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: a0e5844699db4cf8a2f9afaae11becd4
Comprimento do conteúdo: 71

{
"nomedeusuário": "sistema",
"token": "a0e5844699db4cf8a2f9afaae11becd4"
}HTTP/1.1 200 OK
Servidor: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=EB3DEE86E1FD0DAAEADF89E19CD2B1C6; Caminho=/admi
n; Somente http
Tipo de conteúdo: application/json;charset=UTF-8
Codificação de transferência: fragmentada
Data: Quarta, 19 de dezembro de 2018 08:43:17 GMT
Conexão: fechar

{"código":1000,"desc":"Sucesso"}

2.2ÿÁrvore de departamentos de dispositivos

• A aquisição da árvore de departamentos de dispositivos envolve dois protocolos: a


árvore de departamentos de dispositivos (/admin/API/
tree/deviceorg) e a lista de dispositivos (/admin/API/tree/
devices)
1. A árvore de departamentos do dispositivo pode obter o relativo
relacionamentos de todos os departamentos, dispositivos e canais.
Machine Translated by Google

2. A lista de dispositivos obtém detalhes de dispositivos, unidades e canais, como IP


do dispositivo, porta, tipo e outros
Informação.

Regras de codificação de canal

Um ID de canal consiste em deviceId, unitType, unitSeq e channelSeq, separados por um símbolo $, conforme mostrado na figura a seguir:

• Onde O deviceID é um número de 7 dígitos. A partir de 1.000.000, os códigos dos dispositivos recém-adicionados na plataforma
aumentam sequencialmente. UnitType é um tipo de unidade. Consulte a tabela a seguir para obter significado específico. UnitSeq
é o número de série da unidade, começando em 0.
ChannelSeq é o número do canal, começando em 0, indicando qual canal está nesta unidade.
Na figura acima, 1000000$1$0$3 indica o 4º canal da 1ª unidade da unidade de codificação do dispositivo No.1.000.000.

• Parâmetros de tipo de unidade

tipo de unidade Tipo de unidade

1 Unidade de codificação

2 Unidade de decodificação

3 Unidade de entrada de alarme

4 Unidade de saída de alarme

5 Unidade de entrada de tela

6 Unidade de saída de tela

7 Unidade de controle de acesso

8 Unidade de controle de voz

9 Unidade de transcodificação

10 Unidade de anel dinâmico

11 Unidade PDV

12 Unidade virtual

Árvore de departamentos de dispositivos

• Vários departamentos e vários dispositivos podem ser transportados em departamentos, diferentes


tipos de unidades em dispositivos e vários canais em unidades. A interface do
departamento de dispositivos oferece suporte à pesquisa de condições para channelType e
orgCode. O
Machine Translated by Google

o tipo de canal e o departamento são colocados nos parâmetros do URL de


solicitação da seguinte forma:

GET /admin/API/tree/deviceOrg?channelType=1,2,3,4,5,6,7,8,10,11,12,1
4,15,33&sort=&orgCode= HTTP/1.1

• -O significado dos parâmetros é o seguinte:

Parâmetro
Nome Tipo Descrição

Esta é uma sequência de números separados por vírgula, com cada número na sequência
representando um tipo de canal. Se o parâmetro channelType for nulo, todos os canais
channelType string
tipos são solicitados. O tipo de canal corresponde ao tipo de unidade associado ao canal, e
o significado específico pode referir-se ao tipo de unidade.
organizar string O campo não é usado e é nulo por padrão.

códigoorg string Código do departamento; se orgCode estiver em branco, todos os departamentos serão pesquisados.

• Os dados de resposta da plataforma são string Json, departamentos são do tipo


array, cada elemento da matriz é um departamento, cada departamento
tem campo de atributo, lista de dispositivos e lista de canais, e o formato de dados
retornado é o seguinte:

{
"código": 1000,
"desc": "Sucesso",
"dados": {
"departamentos": [
{
"código": "001",
"parentCode": "",
"nome":"raiz",
"orgType":"1",
"modifyTime": "1483528546",
"departamentosCount": "1",
"domainId": "0",
"dispositivo": [
{
"id": "1000004",
"classificar": "0"
},
{
"id": "1000738",
"classificar": "0"
}
],
"canal": [
Machine Translated by Google

{
"id": "1000004$7$0$0",
"classificar": "0"
},
{
"id": "1000004$7$0$1",
"classificar": "0"
}
]
},
{
"código": "001001",
"parentCode": "001",
"nome": "Controle de acesso",
"orgType":"1",
"modifyTime": "1544749099",
"departamentosCount": "0",
"domainId": "",
"dispositivo": [],
"canal": []
}
]
}
}

• Os campos de atributos do departamento têm os seguintes significados:

Parâmetro
Tipo Descrição
Nome

código
O código de cada departamento é único e o código do nó raiz é a string “001”.

Cada departamento tem um nó pai e seu nó pai parentCode é uma string


códigopai cadeia vazia. O departamento encontra seu departamento pai correspondente por meio de
parentCode.
nome string Nome do departamento

orgType string O tipo de departamento é 1 por padrão, indicando o departamento básico.

modificarTime string Hora de modificação do departamento, tipo de carimbo de data/hora

deparmentsCount string Número de subdepartamentos


domínioId string ID do domínio

• Os dispositivos do departamento têm os seguintes significados em


Dispositivo:

Nome do parâmetro Digite Descrição

eu ia
string ID de dispositivo

organizar string Classificar valor


Machine Translated by Google

-Os canais do grupo estão em canal e os significados de cada campo são os seguintes:

Nome do parâmetro Tipo Descrição


eu ia
cadeia de ID do canal

organizar caracteres Classificar valor

• Os dados retornados por solicitação podem formar uma árvore de departamentos


que contém dispositivos e canais, mas sem seus detalhes. Os detalhes
devem ser obtidos através da lista de dispositivos.

Lista de dispositivos

• Diferentes tipos de unidades são transportadas sob o dispositivo e


passagens específicas sob as unidades.
• Ao solicitar uma lista de dispositivos, os parâmetros opcionais são compostos por
orgCode, deviceCodes e categorias. Esses parâmetros são
combinados em strings Json e colocados no corpo da mensagem da
solicitação. Três parâmetros de condição são de relação “e”, conforme mostrado
abaixo:

{
"orgCode":"",
"deviceCodes": [],
"categorias": []
}
Parâmetro
Tipo Descrição
Nome

códigoorg string Se não for usado, será nulo por padrão.

Código do dispositivo: O código específico do dispositivo a ser consultado; se estiver em


códigos de dispositivo branco,
significa obter todos os dispositivos.

Categoria do dispositivo: Filtre o tipo de dispositivo; se estiver em branco, todos os tipos de dispositivos serão
categorias
consultados em string.

• Os dados de resposta da plataforma são string Json, o nó de dispositivos em Json é do tipo array, com cada elemento
da array sendo um dispositivo e cada dispositivo tendo atributos e unidades de dispositivo. O nó Units é do tipo
array, com cada elemento do array sendo uma unidade e cada unidade tendo atributos de unidade e canais. O nó
Canais é do tipo array, com cada elemento do array sendo um canal e os atributos do canal estando sob o canal.

• Campo de atributo do dispositivo Para saber o significado de cada campo, consulte Protocolo de lista de dispositivos.
• Campo de atributo de unidade Para saber o significado de cada campo, consulte Protocolo de lista de dispositivos.
• Campo de atributo do canal Para saber o significado de cada campo, consulte
Protocolo de lista de dispositivos.

2.3ÿGestão de Pessoal

Obtenha dados do leitor de cartão do canal de controle de acesso


Chame a interface (/OBMS/accessControl/door/reader?deviceCode={deviceCode}) para obter os dados do leitor de cartão do
canal de controle de acesso. O channelId e o readId são combinados em um novo readerId com conexão sublinhada no
meio. O novo readId é usado para coletar impressões digitais.
Machine Translated by Google

Coletar impressões digitais Chame a interface (/OBMS/ACCESS CONTROL/PERSON/CaptureFingerPrint) e emita o


comando para adquirir impressão digital. Após emitir o comando para coletar impressões digitais com sucesso, o leitor
de cartão entra no modo de coleta de impressões digitais e, neste momento, o leitor é pressionado com os dedos para
coleta de impressões digitais. Após a coleta de impressões digitais ser bem-sucedida, a plataforma reporta a
notificação de coleta de impressões digitais (VMS. DOORACESSESCAPTURE FINGERPRINT) por meio do MQ.
A notificação contém os dados de impressão digital usados para configurar informações pessoais.

Adicionar, modificar e excluir interface de chamada de pessoa (/OBMS/accessControl/person) para adicionar


informações de pessoa. Após a adição bem-sucedida das informações da pessoa, a plataforma relata a notificação sobre
a adição bem-sucedida da pessoa (vms.batchAddPerson) e sobre falha na emissão da pessoa
(vms.issuePersonCardTaskFail) por meio do MQ. Chame a interface (/OBMS/accessControl/person/{personId}) para
modificar as informações da pessoa. Após a modificação bem-sucedida das informações da pessoa, a plataforma relata
a notificação sobre a modificação bem-sucedida da pessoa (vms.updatePerson) e sobre a falha na emissão da pessoa
(vms.issuePersonCardTaskFail) por meio do MQ. Chame
a interface (/OBMS/accessControl/person?personIds={personIds}) para excluir informações da pessoa. Após a
exclusão bem-sucedida das informações da pessoa, a plataforma relata a notificação sobre a exclusão bem-sucedida
da pessoa (vms.deletePerson) por meio do MQ.
Machine Translated by Google

Adicionar pessoa em lote Chame a interface (/OBMS/accessControl/person/personList) para adicionar


informações de pessoa em lote. Após a adição bem-sucedida das informações da pessoa, a plataforma relata a
notificação sobre a adição bem-sucedida da pessoa (vms.batchAddPerson) e sobre falha na emissão da pessoa
(vms.issuePersonCardTaskFail) por meio do MQ.

Pesquisar lista de pessoas Chame a interface (/OBMS/accessControl/personList) para obter a lista de


pessoas. Chame a interface (/OBMS/accessControl/personCount) para obter o número total de pessoas.
Machine Translated by Google

O gerenciamento de pessoal de acoplamento terceirizado geralmente não precisa acessar o MQ, mas o cliente da plataforma
precisa. Senha do cartão pessoal criptografada por AES, este é um utilitário java:

pacote test.encrypt;

importar javax.crypto.*;

importar javax.crypto.spec.SecretKeySpec;

/**

* Criptografia AES

*/

classe pública EncryptionUtils {

// Chave secreta

string final estática pública AES_KEY = "4rfvgy7UJMko0pqa";

// valor hexadecimal

String final estática privada HEX_VALUE = "0123456789ABCDEF";

/**

*
Criptografia AES_128_ECB_PKCS5

*
@param conteúdo

*
chave @param

* @retornar

*/

public static String encryptWithAES(String conteúdo, String chave) {

tentar {

SecretKey keySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");

Cifra cifra = Cipher.getInstance("AES/ECB/PKCS5Padding");


Machine Translated by Google

cipher.init(Cipher.ENCRYPT_MODE, keySpec);

byte[] bytes = cipher.doFinal(content.getBytes("UTF-8"));

retornar bytesToHexString(bytes).toLowerCase();

} catch (Exceção e) {

devolver conteúdo;

/**

*
Descriptografia AES_128_ECB_PKCS5

*
@param conteúdo

*
chave @param

* @retornar

*/

public static String decryptWithAES(String conteúdo, String chave) {

tentar {

SecretKey keySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");

Cifra cifra = Cipher.getInstance("AES/ECB/PKCS5Padding");

cipher.init(Cipher.DECRYPT_MODE, keySpec);

byte[] bytes = cipher.doFinal(hexStringToBytes(content.toUpperCase()));

retornar nova String(bytes, "UTF-8");

} catch (Exceção e) {

devolver conteúdo;

/**

*
Bytes para string hexadecimal
Machine Translated by Google

*
@param bytes

* @retornar

*/

public static String bytesToHexString(byte[] bytes) {

StringBuilder sb = new StringBuilder();

if (nulo == bytes || bytes.length <= 0) {

retornar nulo;

for (int i = 0; i < bytes.length; i++) {

int v = bytes[i] & 0xFF;

String hv = Integer.toHexString(v);

if (hv.comprimento() <2) {

sb.append(0);

sb.append(hv);

retornar sb.toString().toUpperCase();

/**

* String hexadecimal para bytes

*
@param str

* @retornar

*/

byte estático privado[] hexStringToBytes(String str) {

int len = str.length() / 2;

byte[] resultado = novo byte[len];

char[] achar = str.toCharArray();


Machine Translated by Google

for (int i = 0; i < len; i++) {

int pos = i * 2;

resultado[i] = (byte) ((byte) toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));

resultado de retorno;

/**

* byte do valor hexadecimal

*
@param c

* @retornar

*/

byte estático privado toByte(char c) {

retornar (byte) HEX_VALUE.indexOf(c);

/**

* teste

*
@param argumentos

*/

public static void main(String[] args) {

//imprime 447f26333607fa412dbd36f660899db9

System.out.println(EncryptionUtils.encryptWithAES("123456", AES_KEY));

// imprime 123456

System.out.println(EncryptionUtils.decryptWithAES("447f26333607fa412dbd36f660899db9",
AES_KEY));

}
Machine Translated by Google

3.Interface API
3.1ÿAutenticação de login

3.1.1ÿPrimeiro login

Descrição breve:

• Primeiro login ao criar sessão

URL de solicitação:

• /admin/API/contas/autorizar

Exemplo de solicitação

POST /admin/API/contas/autorizar HTTP/1.1


Anfitrião: 35.10.93.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"nomedeusuário": "sistema",
"endereço de IP": "",
"clientType": "WINPC"
}

Parâmetros:

Nome do parâmetro Tipo Descrição

nome de usuário corda Nome de usuário

endereço de IP cadeia de Endereço IP do PC cliente

tipo de cliente caracteres Tipo de cliente

Exemplo de retorno

{
"reino": "DSS",
"randomKey": "c078b9d42eb74ebb",
"encryptType": "MD5"
}
Machine Translated by Google

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

reino cadeia Informações de domínio

tipo de de Valor aleatório

criptografia randomKey caracteres Tipo de encriptação

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.1.2ÿSegundo login

Descrição breve:

• Segundo login ao criar sessão

URL de solicitação:

• /admin/API/contas/autorizar

Exemplo de solicitação

POST /admin/API/contas/autorizar HTTP/1.1


Anfitrião: 35.10.93.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"nomedeusuário": "sistema",
"randomKey": "c078b9d42eb74ebb",
"mac": "30:9c:23:79:40:08",
"endereço de IP": "",
"assinatura": "a83edfbd6a98f8cc3aedfea36d9b13bb",
"clientType": "WINPC",
"encryptType": "MD5",
"userType": "0"
}

Parâmetros:
Machine Translated by Google

Parâmetro
Tipo Descrição
Nome

nome de usuário string Nome de usuário

chave aleatória string Valor aleatório

Mac string endereço Mac

endereço de IP string endereço IP

Dados de autenticação, dados de autenticação=AES (PWD, randomKey) se o tipo de string do usuário for
assinatura usuário
de domínio.

tipo de cliente string Tipo de usuário

criptografarTypee string Tipo de criptografia

tipo de usuário string 0=Usuário do sistema, 1=Usuário do domínio

Exemplo de retorno

{
"duração": 30,
"token": "5095d4a0c5cc4340b72b7e5c64fa3170",
"userId": "1",
"sipNum": "8888881000",
"emapUrl": nulo,
"serviceAbilty": nulo,
"informação da versão": {
"última versão": "1016871",
"updateUrl": "/admin/x86/General_DSS-Express_Client-x86_V1.0
00.0000002.0.R.20181011.exe;/admin/x64/General_DSS-Express_Client-x6
4_V1.000.0000002.0.R.20181011.exe"
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

duração interno
Intervalo de manutenção

símbolo corda Símbolo

ID do usuário string ID do usuário

sipNum string Número chamado

emapUrl string URL do mapa eletrônico

serviceAbilty objeto Nenhum

informação da versão objeto Versão informação

- última versão string Versão mais recente do cliente

- atualizarUrl corda URL de atualização do cliente

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial
Machine Translated by Google

3.1.3ÿAtualizar token

Descrição breve:

• Atualizar token

URL de solicitação:

• /admin/API/accounts/updateToken • X-
Subject-Token: {token}

Exemplo de solicitação

POST /admin/API/accounts/updateToken HTTP/1.1 Host:


10.35.93.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 841e473bacef4b31abc5f53272afeb84

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"assinatura": "6684b3858a56d80c85bfa07f625baa10"
}

Parâmetros:

Nome do parâmetro Tipo Descrição

assinatura corda Assinatura

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados":
{ "token": "885c9c2afd784120922e9f5ef164b799",
"duração": 30
}
}

Descrição dos parâmetros de retorno


Machine Translated by Google

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc objeto Descrição do resultado

dados string Nenhum

- símbolo corda Número do token

- duração interno
Próximo intervalo de atualização

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.1.4ÿModificar senha

Descrição breve:

• Modificar senha do usuário

URL de solicitação:

• /admin/API/Rights/Usuário/Senha/{userId}
• X-Assunto-Token: {token}

Exemplo de solicitação

PUT /admin/API/Rights/Usuário/Senha/1 HTTP/1.1


Anfitrião: 35.10.93.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 841e473bacef4b31abc5f53272afeb84
Nome do parâmetro Digite Descrição

ID do usuário string ID do usuário

símbolo corda O token obtido ao fazer login

Método de solicitação:

• COLOCAR

Exemplo de solicitação

{
"oldPassword": "1e27fadce9af09e120ab5142a83a679e",
"nova senha": "3b314ab6808943c6732b52039a5290b2"
}

Parâmetros:
Machine Translated by Google

Parâmetro
Tipo Descrição
Nome

Senha anterior, criptografada em um tipo de criptografia retornado ao criar sessão de string.


Senha Antiga

Nova senha, criptografada em um tipo de criptografia retornado ao criar uma sessão de string.
Nova Senha

Observação:

Modo de criptografia:
temp = md5(senha)
temp = md5(nomedeusuário + temp)
temperatura = md5(temperatura)

userName-nome de usuário, senha-senha do usuário

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso"
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.1.5ÿSair

Descrição breve:

• Solicitação para destruir uma sessão autenticada por um usuário.

URL de solicitação:

• /admin/API/contas/desautorizar
• X-Assunto-Token: {token}

Exemplo de solicitação

POST /admin/API/accounts/desautorizar HTTP/1.1


Anfitrião: 35.10.93.66
Conexão: fechar
Machine Translated by Google

Tipo de conteúdo: application/json;charset=UTF-8


X-Assunto-Token: 841e473bacef4b31abc5f53272afeb84
Nome do parâmetro Digite Descrição

símbolo string O token obtido ao fazer login

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"nomedeusuário": "sistema",
"token": "bb15670e2ea24bac832dca223c7b52ac"
}

Parâmetros:

Nome do parâmetro Tipo Descrição

nome de usuário corda Nome de usuário

símbolo corda O token obtido ao fazer login

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso"
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.2ÿÁrvore de Dispositivos

3.2.1ÿObtendo árvore de organização de dispositivos (todos)

Descrição breve:

• Obter árvore de organização de dispositivos (todos)

URL de solicitação:
Machine Translated by Google

• /admin/API/tree/deviceOrg?channelTypes={channelTypes}&sort={sor t}&orgCode={orgCode} • X-
Subject-Token: {token}

Exemplo de solicitação

GET /admin/API/tree/deviceOrg?channelTypes=1,2,3,4,5,6,7,8,10,11,12,
14,15,33&sort=&orgCode= HTTP/1.1
Host: 10.35.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 433b9cac285d434683643f79fb86be6b
Nome do parâmetro Tipo Descrição

tipos de canal string Tipo de canal


organizar string Parâmetro inválido, string

códigoorg nula Código da organização que significa nó raiz 001 se for nulo string O
símbolo token obtido ao efetuar login

Notas:

channelTypes: 1 = Canal codificador, 2 = Canal decodificador, 3 = Canal de entrada de


alarme, 4 = Canal de saída de alarme, 5 = Entrada de tela grande, 6 = Saída de tela
grande, 7 = Controle de acesso, 8 = Controle de voz, 9 = Transcodificação, 10 =
Ambiente de energia, 11 = POS; se o tipo for nulo, o canal não será exibido

Método de solicitação:

• OBTER

Exemplo de solicitação

Vazio

Parâmetros: Nenhum

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados":
{ "departamentos":
[{
"código": "001",
"parentCode": "",
Machine Translated by Google

"nome": "root",
"orgType": "1",
"modifyTime": "1483528546",
"deparmentsCount": "1",
"domainId": "0",
"device": [ {

"id": "1000004",
"classificar": "0"
},
{
"id": "1000738",
"classificar": "0"
},
{
"id": "1000747",
"classificar": "0"
}
],
"canal": [
{
"id": "1000004$7$0$0",
"classificar": "0"
},
{
"id": "1000004$7$0$1",
"classificar": "0"
},
...
]
},
{
"code": "001001",
"parentCode": "001",
"name": "test99",
"orgType": "1",
"modifyTime": "1544749099",
"deparmentsCount": "0",
"domainId ": "",
"dispositivo": [],
"canal": []
}
]
}
Machine Translated by Google

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

dados objeto Nenhum

- departamentos objeto Informações da organização

- - código sequência de Código do nó; 001 é o nó raiz

- - códigopai sequência de O código pai do nó atual

- - nome sequência de
Nome do nó

- - orgType sequência de caracteres Tipo de nó

- - modificarTime - corda Alterar data

- departamentosCount corda Número de organizações subordinadas

- - IDDodomínio corda ID do domínio

- - dispositivo objeto Nó de dispositivo na organização

- - - eu ia corda ID de dispositivo

- - - organizar string Classificar valor

- - canal objeto Nó de canal na organização

- - - eu ia string ID do canal

- - - organizar corda Classificar valor

Notas

• Para obter mais códigos de erro retornados, consulte a descrição do código de erro
na página inicial

3.2.2ÿObter lista de dispositivos (todos)

Descrição breve:

• Obter lista de dispositivos.

URL de solicitação:

• /admin/API/árvore/dispositivos
• X-Assunto-Token: {token}

Exemplo de solicitação

POST /admin/API/árvore/dispositivos HTTP/1.1


Anfitrião: 35.10.92.66
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 433b9cac285d434683643f79fb86be6b
Machine Translated by Google

Nome do parâmetro Tipo Descrição

símbolo corda O token obtido ao fazer login

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"orgCode": "",
"deviceCodes": [],
"categorias": []
}

Parâmetros:

Nome do parâmetro Tipo Descrição

códigoorg interno
Código da organização

códigos de dispositivo string Código do dispositivo, se for nulo, todos os dispositivos são obtidos

categorias string Categoria do dispositivo, 1-Encoder,5-ANPR,8-Controle de acesso

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados": {
"dispositivos": [
{
"código": "1000004",
"nome": "10.35.93.67",
"categoria": "8",
"tipo 2",
"modelo": "4",
"estado": "1",
"motivo offline": "0",
"protocolo": "1",
"fabricante": "1",
"dispositivoIp": "10.35.93.67",
"devicePort": "37777",
"proxyIP": "10.35.92.66",
"porta proxy": "",
"nomedeusuário": "admin",
"senha": "8c8944adede71eea53bec5d7624ea53a",
"loginType": "0",
Machine Translated by Google

"sn": "",
"orgCode": "001",
"unidades":
[{
"unitType": "7",
"unitSeq": "0",
"fingerPrintAuth": "0",
"cardAuth": "0",
"faceAuth": "0",
"userIsolate": "0",
"unlockModes ": "",
"canais": [ {

"channelCode": "1000004$7$0$0",
"channelName": "Door1",
"channelSeq": 0,
"status": "1",
"db33Code": "",
"intelliState": "",
"capacidade" : "0",
"domainId": ""
},
{
"channelCode": "1000004$7$0$1",
"channelName": "Door2",
"channelSeq": 1,
"status": "1",
"db33Code": "",
"intelliState": "",
"capacidade" : "0",
"domainId": ""
},
...
]
}
],
"sipId": "",
"sipPwd": "",
"unitEnable": "0",
"buildingEnable": "0",
"domainId": "",
"modifyTime": ""
},
{
Machine Translated by Google

"código": "1000747",
"nome": "NVR",
"categoria": "1",
"tipo": "6",
"modelo": "IPC_256",
"status": "1",
"offlineReason ": "0",
"protocolo": "1",
"fabricante": "1",
"deviceIp": "10.35.106.16",
"devicePort": "37140",
"proxyIp": "",
"proxyPort" : "",
"userName": "admin",
"password": "8c8944adede71eea53bec5d7624ea53a",
"loginType": "0",
"orgCode": "001",
"units": [ {

"unitType": "1",
"unitSeq": "0",
"assistStream": "3",
"zeroChnEncode": "1",
"streamType": "801",
"canais": [ {

"channelCode": "1000747$1$0$0",
"channelName": "IPC",
"channelSeq": 0,
"status": "1",
"cameraType": "1",
"channelType": "1", "
cameraFunctions": "0",
"forPeopleCount": "0",
"faceFunctions": "0",
"db33Code": "",
"intelliState": "",
"targetDetection": "0",
"capability": " 0",
"domainId": ""
},
{
"channelCode": "1000747$1$0$1",
"channelName": "IPC",
Machine Translated by Google

"channelSeq": 1,
"status": "1",
"cameraType": "1",
"channelType": "1",
"cameraFunctions": "0",
"forPeopleCount": "0",
"faceFunctions": "0",
"db33Code": "",
"intelliState": "",
"targetDetection": "0",
"capability": "0",
"domainId": ""
}
]
},
{
"unitType": "3",
"unitSeq": "0",
"canais": [ {

"channelCode": "1000747$3$0$0",
"channelName": "NVR_1",
"channelSeq": 0,
"status": "1",
"alarmType": "2",
"alarmLevel": "1", "
db33Code": "",
"intelliState": "",
"capability": "0",
"domainId": ""
},
{
"channelCode": "1000747$3$0$1",
"channelName": "NVR_2",
"channelSeq": 1,
"status": "1",
"alarmType": "2",
"alarmLevel": "1", "
db33Code": "",
"intelliState": "",
"capability": "0",
"domainId": ""
},
...
Machine Translated by Google

]
},
{
"unitType": "4",
"unitSeq": "0",
"canais": [
{
"channelCode": "1000747$4$0$0",
"channelName": "NVR_1",
"channelSeq": 0,
"status": "1",
"db33Code": "",
"intelliState": "",
"capacidade" : "0",
"domainId": ""
},
{
"channelCode": "1000747$4$0$1",
"channelName": "NVR_2",
"channelSeq": 1,
"status": "1",
"db33Code": "",
"intelliState": "",
"capacidade" : "0",
"domainId": ""
},
...
]
}
],
"unitEnable": "",
"buildingEnable": "",
"domainId": "",
"modifyTime": ""
},
{
"código": "1000738",
"nome": "IPC29",
"categoria": "1",
"tipo": "1",
"modelo": "IPC_256",
"status": "1",
"offlineReason ": "0",
"protocolo": "1",
Machine Translated by Google

"fabricante": "1",
"deviceIp": "10.35.106.29",
"devicePort": "31239",
"proxyIp": "",
"proxyPort": "",
"userName": "admin",
"senha ": "8c8944adede71eea53bec5d7624ea53a",
"loginType": "0", "sn":
"",
"orgCode": "001",
"unidades":
[{
"unitType": "1",
"unitSeq": "0",
"assistStream": "3",
"zeroChnEncode": "0",
"streamType": "801",
"canais": [ {

"channelCode": "1000738$1$0$0",
"channelName": "IPC29_1",
"channelSeq": 0,
"status": "1",
"cameraType": "2",
"channelType": "1", "
cameraFunctions": "0",
"forPeopleCount": "0",
"faceFunctions": "0",
"db33Code": "",
"intelliState": "",
"targetDetection": "0",
"capability": " 0",
"domainId": ""
}
]
}
],
"unitEnable": "",
"buildingEnable": "",
"domainId": "",
"modifyTime": ""
}
]
}
Machine Translated by Google

Descrição dos parâmetros de retorno

Tipo de nome de parâmetro Descrição

código interno Erro de código

desc string Descrição do resultado

dados objeto Nenhum

- dispositivos objeto Informações do dispositivo

- - código string Código do dispositivo

- - nome string Nome do dispositivo

- - categoria string Categorias de dispositivos

- - tipo string Tipo de dispositivo

- - modelo modelo de string

- - status string Status do dispositivo

- - offlineMotivo string Motivo off-line

- - protocolo protocolo de string

- - fabricante fabricante de cordas

- - dispositivoIp string IP do dispositivo

- - porta do dispositivo string Portas do dispositivo

- - ID do registro string ID do registro

- - IP de Proxy string IP proxy

- - porta proxy porta proxy de string

- - nome de usuário string Nome de usuário

- - senha string Senha

- - numero de telefone string número SIP

- - loginType string Tipo de login

- - sn string número SN

- - códigoorg string Código do departamento

- - unidades informação da unidade do objeto

- - - unitType - - - string Tipo de unidade

unitSeq string Sequência de unidade

- - - assistStream string Subfluxo

- - - zeroChnEncode string Codificação de canal zero

- - - ssServiceId string ID do serviço de armazenamento

- - - ptsServiceId - - - string ID do serviço PTS

streamType - - - string Tipo de fluxo de código

decodeMode string Modo de decodificação

- - - streamMode string Modo de processamento de fluxo

Status de combinação de video wall, combinação 0 não é suportada, combinação 1 é - - - string


conbineStatus suportada

---

string Controle de terceiros


thirdPartyControl - - -

voiceServerIp string IP do serviço de voz


Machine Translated by Google

Tipo de nome de parâmetro Descrição


---

string Porta de serviço de voz


vozServerPort

- - - voiceStatusPort string Porta de status de voz

- - - voiceClientIp - - - string IP do cliente de voz

dynCode - - - string Código de recurso do ambiente Power

dynName - - - string Nome do recurso do ambiente Power

dynType string Tipo de recurso do ambiente de energia

Se a autenticação de impressão digital é suportada, 0-desconhecido, compatível com a


- - - string FingerPrintAuth
anterior (padrão),1-não compatível,2-compatível

- - - cartãoAuth string Se a autenticação de cartão é suportada, 1-Sim,0-Não


- - - makeAuth string Se a autenticação de reconhecimento facial é suportada, 1-Sim,0-Não
- - - userIsolate string Se o usuário e o cartão estão separados,1 - Sim,0-Não

- - - unlockModes string Combinação do modo de desbloqueio

- - - canais objeto Informações do canal

- - - - channelCode string Código do canal

- - - - channelName string Nome do canal

- - - - string channelSeq Sequência de canal


- - - - status string Habilitando status
- - - - sn string número SN

- - - - gpsX corda GPS(X)

- - - - gpsY - corda GPS(X)

- - - mapId - - - string ID do mapa raster

- cameraType string Tipo de câmera

- - - - channelType string Tipo de canal

- - - - remoteType string Tipo remoto


----

string Conjunto de funções de canal


funções da câmera

- - - - multicastIp string IP multicast

- - - - multicastPort string Porta multicast

- - - - ipcIP string IPC(IP)

- - - - recordType string Tipo de registro


----

string Se é usado para contagem de pessoas


para PeopleCount

- - - - maxSplitNum string Número máximo de divisões de video wall

- - - - interfaceType string Tipo de interface

- - - - alarmType string Tipo de alarme

- - - - nível de alarme string Nível de alarme

- - - - signalType - - - string Tipo de sinal

- accessType string Tipo de controle de acesso

- - - - posTipo tipo pos de string

- - - - posModelo string Tipo de controle de acesso

- - - - dynCode - - string Recurso de ambiente de energia

- - faceFunctions string Função de imagem facial


Machine Translated by Google

Tipo de nome de parâmetro Descrição

- - - - Código chave string Código do teclado

- - - - db33Código string Código de referência

- - - - inteligência string Status inteligente


----

string Tipo de análise facial


faceAnalyseType - -

- - videoSource string Fonte de vídeo para canal virtual


----

string Função de detecção de alvo


detecção de alvo

- - - - capacidade conjunto de recursos de string

- - - - IDDodomínio string ID do domínio

- - sipID string ID SIP

- - sipPwd string senha SIP

- - unidadeAtivar string Unidade de intercomunicação habilitada

- - buildingEnable string Habilitar construção de intercomunicação

- - softwareVersion string Versão do software

- - hardwareVersion string Versão do hardware

- - IDDodomínio string ID do domínio

- - modificarHora string Alterar data

Notas

• Para obter mais códigos de erro retornados, consulte a descrição do código de


erro na página inicial

3.2.3ÿObtendo árvore de organização de dispositivos (hierárquica)

Descrição breve:

• Obter árvore de organização de dispositivos (hierárquica)

URL de solicitação:

• /admin/API/árvore/pesquisa
• X-Assunto-Token: {token}

Exemplo de solicitação

GET /admin/API/árvore/pesquisa HTTP/1.1


Anfitrião: 35.10.92.55
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 723ab08e7db844d0946b26d1cadf011f
Nome do parâmetro Digite Descrição

símbolo string O token obtido ao fazer login

Método de solicitação:
Machine Translated by Google

• OBTER

Exemplo de solicitação

{
"id": "001",
"nodeType": "1,2",
"typeCode": "01;01;01,02,03,04,05,06,07,08,21,40,43;01,02,03,04,
05,06,07,08,09,10,11,12",
"keyType": "nome",
"palavra-chave": "123",
"cascata": "0",
"Página 1",
"pageSize": "10",
"agir": ""
}

Parâmetros:

Parâmetro
Tipo Descrição
Nome

eu ia
string ID do nó

Tipo de nó, separado por vírgulas se houver vários tipos de nó; 1-


tipo de nó
organização de strings, 2 dispositivos, 3 canais

typeCode string Critérios de filtragem de nós, {org};{device};{unit&channel};{camera}

keyType string Tipo de palavra-chave; nulo, nome do nó, IP do dispositivo IP, ID do nó id

keyWord palavras-chave de string

em cascata string Se os dados em cascata são exibidos; 0-não exibido, 1-exibido

página string Página

tamanho da página string Número de registro por página

agir string Ação; pesquisa-pesquisa; obtido hierarquicamente nulo

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados": {
"nextPage": "-1",
"totalCount": "1",
"resultados": [
{
"id": "001",
"nome": "raiz",
"isParent": "verdadeiro",
"nodeType": "1",
Machine Translated by Google

"domainId": "",
"classificar": "0"
}
]
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

dados objeto Nenhum

- próxima página string Próxima página, -1 significa que não há próxima página

- contagem total string Número total de consultas

- resultados objeto Nenhum

- - eu ia string ID do nó

- - nome string Nome do nó

- - éParent string Se o nó é um nó pai

- - nodeType string Tipo de nó, organização de 1 dispositivo, 2 dispositivos, 3 canais

- - IDDodomínio string ID do domínio

- - organizar classificação de string

Notas

• Para obter mais códigos de erro retornados, consulte a descrição do código de erro na
página inicial

3.2.4ÿObter informações subordinadas sobre um nó especificado com base no


tipo de dados de pesquisa

Descrição breve:

• Obter informações subordinadas sobre um nó especificado com base em


o tipo de dados de pesquisa

URL de solicitação:

• /admin/API/árvore/nó-filho
• X-Assunto-Token: {token}

Exemplo de solicitação

POST /admin/API/árvore/nó-filho HTTP/1.1


Anfitrião: 35.10.92.55
Conexão: fechar
Machine Translated by Google

Tipo de conteúdo: application/json;charset=UTF-8


X-Assunto-Token: 723ab08e7db844d0946b26d1cadf011f
Nome do parâmetro Digite Descrição
símbolo string O token obtido ao fazer login

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"tipo de dados": "01,03;01,06,38,45",
"isDomínio": 1,
"nós": [
{
"nodeId": "001",
"verificado": verdadeiro
}
],
"tamanho": 100
}

Parâmetros:

Parâmetro
Nome Tipo Descrição

tipo de dados string Tipo de dados consultado


éDomínio número Se deseja obter dados subordinados em cascata: 0—não; 1—sim
nós informações do nó do objeto
- nodeId string Número do nó
- verificado booleano Se o nó precisa ser consultado: verdadeiro—não; falso - sim

Comprimento dos dados retornados. Todos os dados serão retornados por padrão se o
tamanho número
parâmetro for deixado em branco.

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados": {
"resultados": [
{
"nodeID": "1000000",
"nodeName": "37790",
"pid": "001001",
Machine Translated by Google

"gId": "001",
"nodeType": "2"
}
],
"hasMoreNodes": falso
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição


código número Código de erro

desc string Descrição do resultado

dados objeto Nenhum

- resultados objeto Nenhum

- - nodeId string ID do nó

- - nome do nó corda Nome do nó

- - pid corda ID do nó pai

- - gId corda ID do nó avó

- - nodeType string Tipo de nó: 1—organização; 2—dispositivo; 3-canal


- temMaisNodes boolean Se há mais nós: true—sim; falso - não

Notas

• Para obter mais códigos de erro retornados, consulte a descrição do código de erro
na página inicial

3.3ÿGestão de Pessoal

3.3.1ÿAdicionar usuário de um cartão

Descrição breve:

• Adicionar usuário de um cartão.

URL de solicitação:

• /OBMS/accessControl/pessoa
• X-Assunto-Token: {Token}

Exemplo de solicitação

POST /OBMS/accessControl/pessoa HTTP/1.1


Anfitrião: 10.33.68.138
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
Machine Translated by Google

X-Assunto-Token: d725f34e4f034038bf1771a8ea43c931
Nome do parâmetro Tipo Descrição

Símbolo corda O token obtido ao fazer login

Método de solicitação:

• POSTAR

Exemplo de solicitação

{
"details":
{ "companyName": "test",
"expireTime": "1877615999",
"position": "test",
"nickName": "test",
"useTimes": "200",
"remark": " teste",
"tel": "13611111111",
"email": "test@test.com",
"idType": "0",
"maritalStatus": "2",
"aniversário": "2019-06-17" ,
"idNum": "362532195805165563",
"endereço": "cidade",
"grau": "4",
"nacionalidadeId": "brasil",
"initialTime": "1560700800"
},
"baseInfo":
{ "autoridade": "0",
"householder": "0",
"unitId": "1", "id":
"",
"pictureData": "",
"lastName": " ",
"personId": "2047",
"firstName": "test",
"departmentId": "001001",
"cardType": "0",
"gender": "1",
"status": "0",
"stageId": "",
"roomId": "36",
"buildingId": "12"
Machine Translated by Google

},
"accessRight":
{ "entranceDeviceCode": [],
"channelId":
[ "1000006$7$0$0"
],
"porGroupId": [ "1"

]
},
"autenticação": { "senha":
"9bb8291f7f9426004b3a1586c78244e4", "carros": [ {

"carNo": "A2563D8",
"carRight": "2",
"carGroup": "1"
}
],
"infraredFaceCodes": [],
"carportAmount": "1",
"fingerPrints": [],
"cartões": [ {

"cardState": "0",
"masterFlag": "1",
"duressFlag": "0",
"cardNo": "00666998",
"changeDate": "1560700800",
"issueDate": "1560700800"
}
],
"facePictures": [ "/9j/
4AAQS......FAH/9k="
]
}
}

Parâmetros:

Nome do parâmetro Tipo Descrição

detalhes objeto Detalhes do usuário

- nome da empresa string Nome da empresa

- expirarTempo string Hora de término do carimbo de data/hora


Machine Translated by Google

Nome do parâmetro Tipo Descrição

- posição posição da string

- apelido string Apelido (usado para distribuição do catálogo de endereços)

- useTimes string 200 por padrão

- observação string Notas

- telefone string Número de telefone

- e-mail string E-mail

Tipo de identificação, 0 – carteira de identidade, 1 – carteira de identidade de oficial militar, 2 –


- idType identificação
carteira
fiscal de estudante, 3 – carteira de habilitação, 4 – passaporte, 5 – sequência de
número

- Estado civil string Estado civil, 0—confidencial, 1—casado, 2—solteiro

- aniversário string Aniversário

- número de identificação número de identificação da string

- endereço string Endereço

Grau, 0 - não, 1 - ensino fundamental, 2 - ensino médio, 3 -


- grau corda ensino médio, 4 - Bacharelado, 5 - Mestrado, 6 - Doutor, 7 -
Professor

- nacionalidadeId string ID de nacionalidade de referência

- tempo inicial string Hora de início do carimbo de data/hora

baseInfo objeto Informações básicas do usuário

- autoridade string Administrador, 0—não, 1—sim

- chefe de família string Chefe de família, 0—não, 1—sim

- ID da unidade unidade de string

- eu ia string Restrição exclusiva no id registrado no banco de dados

- dados da imagem string Dados de imagem, imagem de rosto

- sobrenome string Sobrenome

- personId string ID da pessoa

- primeiro nome string Primeiro nome

- departamentoId string ID do departamento

Tipo de cartão, 0 — comum, 1 — lista negra, 2 — visitante, 3 — patrulha, 4 —


- tipo de carta corda
VIP

- gênero string Gênero, 0—feminino, 1—masculino

- status string Status, 0 — no trabalho, 1 — encerrado

- estágioId string Stage, apenas a versão doméstica do express é válida.

- ID do quarto string ID da sala

- edifícioId string ID do edifício

acesso direito objeto Informações de permissão associadas ao usuário


-

objeto Código do dispositivo de entrada/saída


entradaDeviceCode

- ID do canal objeto ID do canal do dispositivo sob controle do usuário

- porGroupId objeto ID do grupo de portas sob controle do usuário


Machine Translated by Google

Nome do parâmetro Tipo Descrição

Autenticação relacionada ao usuário, cartão de acesso e informações de impressão


autenticação objeto digital. Um cartão e várias impressões digitais podem ser associados a um usuário.

- senha string Senha, criptografia AES

- carros objeto Carros informações

- - carroNão string Número da placa

- - carroCerto string Permissão do carro, 1 — lista negra, 2 — lista branca; 2 por padrão

- - grupo de carros string Grupo de carros, 1—não, 3—comum, 4—VIP; 1 por padrão
-

recurso de rosto de objeto


infravermelhoFaceCodes

- valor da garagem string Valor da garagem para o usuário

- impressões digitais objeto Informações de impressão digital

- - nome string Nome da impressão digital

- - impressão digital string Código de impressão digital/600 bits

- - threadFlag string Coação ou não, 0—não, 1—sim

- - masterFlag string Impressão digital mestre ou não, 0—não, 1—sim

- cartões informações de cartões de objeto

Estado do cartão, –1—desconhecido, 0—normal, 1—relatado por perda, 2—


- - estado do cartão corda cancelado, 4 - congelado, 8 - atraso, 16 - vencido, 32 - atraso antecipado

- - masterFlag string Cartão mestre ou não (cartão de geração 1), 0—não, 1—sim

- - coaçãoBandeira string Coação ou não, 0—não, 1—sim

- - nenhum cartão string Nº do cartão, comprimento 8 ou 16, faixa 0-9,AF

- - alterarData string Alterar data

- - data de emissão string Data de emissão do cartão

- fotos de rosto imagem do rosto do objeto _ base64

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados": {
"pessoaId": "2047"
}
}
OU Repita o número do carro
{
"código": 10004,
"desc": "O número do carro já existe ou repita!",
"dados": {
"repetirCarNos": [],
"existenteCarNos": ["A2563D8"]
Machine Translated by Google

}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

dados objeto Nenhum

- personId corda ID da pessoa

- repetirCarNos objeto Repita o número do carro

-CarNos existentes objeto Existe número de carro

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.3.2ÿAtualizar usuário de cartão único

Descrição breve:

• Atualizar usuário de um cartão.

URL de solicitação:

• /OBMS/accessControl/person/{personId}
• X-Assunto-Token: {Token}

Exemplo de solicitação

PUT /OBMS/accessControl/person/2047 HTTP/1.1


Anfitrião: 10.33.68.138
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: d725f34e4f034038bf1771a8ea43c931
Nome do parâmetro Tipo Descrição

Símbolo corda O token obtido ao fazer login

pessoaId corda ID da pessoa

Método de solicitação:

• COLOCAR

Exemplo de solicitação
Machine Translated by Google

{
"details":
{ "companyName": "test",
"expireTime": "1877615999",
"position": "test",
"nickName": "test",
"useTimes": "200",
"remark": " teste",
"tel": "13611111111",
"email": "test@test.com", "idType":
"5", "maritalStatus":
"1", "aniversário":
"2019-06-17" , "idNum": "",
"endereço":
"cidade", "grau": "4",
"nacionalidadeId":
"brasil", "initialTime": "1560700800"

},
"baseInfo":
{ "autoridade": "0",
"householder": "0",
"unitId": "1", "id":
"3",
"pictureData": "",
"lastName": " ",
"personId": "2047",
"firstName": "test",
"departmentId": "001001",
"cardType": "3",
"gender": "1",
"status": "0" ,
"stageId": "",
"roomId": "36",
"buildingId": "12"
},
"accessRight":
{ "entranceDeviceCode": [],
"channelId":
[ "1000006$7$0$0"
],
"porGroupId": [ "1"

]
Machine Translated by Google

},
"autenticação": {
"senha": "9bb8291f7f9426004b3a1586c78244e4",
"carros": [
{
"carNo": "...A2563D8",
"carRight": "2",
"grupo de carros": "1"
}
],
"infravermelhoFaceCodes": [],
"carportAmount": "1",
"impressões digitais": [],
"cartões": [
{
"cardState": "0",
"masterFlag": "1",
"duressFlag": "0",
"cartãoNão": "00666998",
"alterarData": "1560700800",
"data de emissão": "1560700800"
}
],
"facePictures": [
"/9j/4AAQSk......UAf/9k="
]
}
}

Parâmetros:

Nome do parâmetro Tipo Descrição

detalhes objeto Detalhes do usuário

- nome da empresa string Nome da empresa

- expirarTempo string Hora de término do carimbo de data/hora

- posição posição da string

- apelido string Apelido (usado para distribuição do catálogo de endereços)

- useTimes string 200 por padrão

- observação string Notas

- telefone string Número de telefone

- e-mail string E-mail

Tipo de identificação, 0 — carteira de identidade, 1 — carteira de identidade de oficial militar, 2 — sequência de identificação

- idType de estudante cartão, 3 – carta de condução, 4 – passaporte, 5 – número de identificação fiscal


Machine Translated by Google

Nome do parâmetro Tipo Descrição

- Estado civil string Estado civil, 0—confidencial, 1—casado, 2—solteiro

- aniversário string Aniversário

- número de identificação número de identificação da string

- endereço string Endereço

Grau, 0 - não, 1 - ensino fundamental, 2 - ensino médio, 3 -


- grau corda ensino médio, 4 - Bacharelado, 5 - Mestrado, 6 - Doutor, 7 -
Professor

- nacionalidadeId string ID de nacionalidade de referência

- tempo inicial string Hora de início do carimbo de data/hora

baseInfo objeto Informações básicas do usuário

- autoridade string Administrador, 0—não, 1—sim

- chefe de família string Chefe de família, 0—não, 1—sim

- ID da unidade unidade de string

- eu ia string Restrição exclusiva no id registrado no banco de dados

- dados da imagem string Dados de imagem, imagem de rosto

- sobrenome string Sobrenome

- personId string ID da pessoa

- primeiro nome string Primeiro nome

- departamentoId string ID do departamento

Tipo de cartão, 0 — comum, 1 — lista negra, 2 — visitante, 3 — patrulha, 4 —


- tipo de carta corda
VIP

- gênero string Gênero, 0—feminino, 1—masculino

- status string Status, 0 — no trabalho, 1 — encerrado

- estágioId string Stage, apenas a versão doméstica do express é válida.

- ID do quarto string ID da sala

- edifícioId string ID do edifício

acesso direito objeto Informações de permissão associadas ao usuário


-

objeto Código do dispositivo de entrada/saída


entradaDeviceCode

- ID do canal objeto ID do canal do dispositivo sob controle do usuário

- porGroupId objeto ID do grupo de portas sob controle do usuário

Autenticação relacionada ao usuário, cartão de acesso e informações de impressão


autenticação objeto digital. Um cartão e várias impressões digitais podem ser associados a um
usuário.

- senha string Senha, criptografia AES

- carros objeto Carros informações

- - carroNão string Número da placa

- - carroCerto string Permissão do carro, 1 — lista negra, 2 — lista branca; 2 por padrão

- - grupo de carros string Grupo de carros, 1—não, 3—comum, 4—VIP; 1 por padrão
-

recurso de rosto de objeto


infravermelhoFaceCodes

- valor da garagem string Valor da garagem para o usuário


Machine Translated by Google

Nome do parâmetro Tipo Descrição

- impressões digitais objeto Informações de impressão digital

- - nome string Nome da impressão digital

- - impressão digital string Código de impressão digital/600 bits

- - threadFlag string Coação ou não, 0—não, 1—sim

- - masterFlag string Impressão digital mestre ou não, 0—não, 1—sim

- cartões informações de cartões de objeto

Estado do cartão, –1—desconhecido, 0—normal, 1—relatado por perda, 2—


- - estado do cartão cancelado, 4 - congelado, 8 - atrasado, 16 - vencido, 32 - atrasado em sequência
avançar

- - masterFlag string Cartão mestre ou não (cartão de geração 1), 0—não, 1—sim

- - coaçãoBandeira string Coação ou não, 0—não, 1—sim

- - nenhum cartão string Nº do cartão, comprimento 8 ou 16, faixa 0-9,AF

- - alterarData string Alterar data

- - data de emissão string Data de emissão do cartão

- fotos de rosto imagem do rosto do objeto _ base64

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso"
}
OU Repita o número do carro
{
"código": 10004,
"desc": "O número do carro já existe ou repita!",
"dados": {
"repetirCarNos": [],
"existenteCarNos": ["A2563D8"]
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

dados objeto Nenhum

- repetirCarNos objeto Repita o número do carro

-CarNos existentes objeto Existe número de carro

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial
Machine Translated by Google

3.3.3ÿExcluir usuário de um cartão em lotes

Descrição breve:

• Excluir usuário de um cartão em lotes

URL de solicitação:

• /OBMS/accessControl/person?personIds={personIds}
• X-Assunto-Token: {Token}

Exemplo de solicitação

DELETE /OBMS/accessControl/person?personIds=1123.2077 HTTP/1.1


Anfitrião: 10.33.68.138
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: 1b90ee2b0a5f4f7cb44149bbbb5f973f
Nome do parâmetro Tipo Descrição

personIds string ID da pessoa, separado por vírgula para vários IDs, como: 1123,2077

Símbolo string O token obtido ao fazer login

Método de solicitação:

• EXCLUIR

Exemplo de solicitação

Vazio

Parâmetros:

Nenhum

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso"
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc corda Descrição do resultado

Notas
Machine Translated by Google

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.3.4ÿPesquisar lista de usuários de um cartão

Descrição breve:

• Pesquise a lista de usuários de um cartão.

URL de solicitação:

• /OBMS/accessControl/personList?key={key}&deparmentId={deparment
Id}&channelId={channelId}&personType={personType}&orderType={ou
derType}&direction={direção}&page={página}&pagesize={pagesize}
• X-Assunto-Token: {token}

Exemplo de solicitação

GET /OBMS/accessControl/personList?key=liu&deparmentId=001&channelId
=1000006$7$0$0&personType=0&orderType=0&direction=0&page=1&pagesize=
20HTTP/1.1
Anfitrião: 10.33.68.138
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: d725f34e4f034038bf1771a8ea43c931
Parâmetro
Tipo Descrição
Nome

string Palavra-chave de pesquisa

chave deparmentId int ID do departamento, como 001

ID do canal string ID do canal

personType int Tipo de pessoa, 0 — comum, 1 — lista negra, 2 — visitante, 3 — patrulha, 4 — VIP

Campo de classificação, 0 — ID da pessoa (PERSON_ID), 1 — nome (FIRST_NAME), 2 — sobrenome


(LAST_NAME), 3 — sexo (GENDER), 4 — tipo de pessoa (PERSON_TYPE), 5 — ID do estágio (STAGE_ID),
tipo de pedido interno

6—ID do edifício (BUILDING_ID), 7—ID da unidade (UNIT_ID), 8—ID da sala (ROOM_ID)

direção int Ordem de classificação, 0 – ordem crescente, 1 – ordem decrescente

página interno
Primeira página de pesquisa, min.1

tamanho da página int Contagem de registros por página, min.1 e max.256

símbolo string O token obtido ao fazer login

Método de solicitação:

• OBTER

Exemplo de solicitação

Vazio

Parâmetros:
Machine Translated by Google

Nenhum

Exemplo de retorno

{
"código": 1000,
"desc": "Sucesso",
"dados":
{ "dadosdapágina": [
{
"id": "3",
"personId": "2047",
"stageId": "",
"buildingId": "12",
"unitId": "1",
"roomId": "36",
"firstName" : "teste",
"sobrenome": " ",
"departmentId": "001001",
"gênero": "1",
"cardType": "0",
"status": "0",
"hasFinger": "0 ",
"autoridade": "0",
"cartãoNo":
[ "00666998"
],
"carros":
[ "zA2563D8"
],
"infraredFaceCodes": ["1"],
"headPicUrl": ""
}
],
"nextPage": "-1",
"totalCount": "1"
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc string Descrição do resultado objeto

dados Nenhum
Machine Translated by Google

Nome do parâmetro Tipo Descrição

- dados da página objeto Nenhum

- - eu ia ID da sequência

- - personId - - string ID da pessoa

stageId - - string ID do estágio

buildingId string ID do edifício

- - ID da unidade unidade de string

- - roomId string ID da sala

- - primeiro nome string Primeiro nome

- - sobrenome string Sobrenome

- - DepartmentId - - string Código do departamento

gênero - - string Gênero, 0—feminino, 1—masculino

cardType string Tipo de pessoa, 0—comum, 1—lista negra, 2—visitante, 3—patrulha, 4—VIP

- - status string Status, 0 — no trabalho, 1 — encerrado

- - hasFinger - - string Impressão digital ou não, 0—não, 1—sim

autoridade string Administrador ou não, 0—não, 1—sim

- - nenhum cartão objeto Cartão No.

- - carros número da placa do objeto

- - objeto infravermelhoFaceCodes Possui código de recurso facial ou não

- - headPicUrl string URL da imagem principal

- próxima página string Próxima página, -1 significa que não há próxima página

- contagem total string Contagem total

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

3.3.5ÿPesquisar usuário de um cartão

Descrição breve:

• Pesquise usuário de um cartão.

URL de solicitação:

• /OBMS/accessControl/person/{personId}
• X-Assunto-Token: {token}

Exemplo de solicitação

OBTER /OBMS/accessControl/person/2047 HTTP/1.1


Anfitrião: 10.33.68.138
Conexão: fechar
Tipo de conteúdo: application/json;charset=UTF-8
X-Assunto-Token: d725f34e4f034038bf1771a8ea43c931
Machine Translated by Google

Nome do parâmetro Tipo Descrição

pessoaId interno ID da pessoa

símbolo corda O token obtido ao fazer login

Método de solicitação:

• OBTER

Exemplo de solicitação

Vazio

Parâmetros:

Nenhum

Exemplo de retorno

{
"code": 1000,
"desc": "Sucesso",
"data":
{ "baseInfo":
{ "id": 32,
"personId": "2047",
"stageId": "",
"buildingId": " 12",
"unitId": "1",
"roomId": "36",
"firstName": "test",
"lastName": " ",
"departmentId": "001001",
"pictureData": "", "
gênero": "1",
"cardType": "2",
"status": "0",
"doméstico": "0",
"autoridade": "0"
},
"detalhes":
{ "tel": "13611111111",
"email": "joao@joao.com",
"idType": "5",
"idNum": "",
"maritalStatus": "1",
"nacionalidadeId": "brasil",
Machine Translated by Google

"aniversário": "17/06/2019", "grau":


"4", "initialTime":
"1560700800", "expireTime":
"1877615999", "endereço": "cidade",
"observação": "teste ",
"useTimes": "200",
"nickName": "teste",
"posição": "teste",
"nomedaempresa": "teste"

},
"autenticação": { "senha":
"9bb8291f7f9426004b3a1586c78244e4", "carportAmount": "1",
"cartões": [ {

"cardNo": "00666998",
"issueDate": "1560753819",
"cardState": "0",
"changeDate": "1560759729",
"duressFlag": "0",
"masterFlag": "1"
}
],
"carros": [ {

"carNo": "zA2563D8",
"carRight": "2",
"carGroup": "1"
}
],
"impressões digitais":
[{
"nome": "f009",
"masterFlag": "1",
"threadFlag": "0",
"fingerPrint": "..."
}
],
"facePictures": [ "upload/
obms/facePic/2047@1560759729172@0.jpg"
],
"infraredFaceCodes": [ "..."
Machine Translated by Google

]
},
"acessoDireito": {
"canalIds": [
"1000006$7$0$0"
],
"portaGroupIds": [
"1"
],
"entradaDeviceCodes": [
"1000001"
],
"departmentDoorGroupIds": [
"3"
]
}
}
}

Descrição dos parâmetros de retorno

Nome do parâmetro Tipo Descrição

código interno Erro de código

desc string Descrição do resultado

dados objeto Nenhum

- baseInfo objeto Informações básicas do usuário

- - eu ia ID da sequência

- - personId string ID da pessoa

- - stageId - - string Stage, apenas a versão doméstica do express é válida.

buildingId string ID do edifício

- - ID da unidade unidade de string

- - roomId string ID da sala

- - primeiro nome string Primeiro nome

- - sobrenome string Sobrenome

- - ID do departamento string ID do departamento

- - dados da imagem string Dados de imagem, imagem de rosto

- - gênero string Gênero, 0—feminino, 1—masculino

- - tipo de carta string Tipo de cartão, 0—comum, 1—lista negra, 2—visitante, 3—patrulha, 4—VIP

- - status string Status, 0 — no trabalho, 1 — encerrado

- - chefe de família string Chefe de família, 0—não, 1—sim

- - autoridade string Administrador, 0—não, 1—sim

- detalhes objeto Detalhes do usuário

- - telefone string Número de telefone

- - e-mail string E-mail


Machine Translated by Google

Nome do parâmetro Tipo Descrição

Tipo de identificação, 0 – carteira de identidade, 1 – carteira de identidade de oficial militar, 2


- - idType corda
– carteira de estudante, 3 – carteira de habilitação, 4 – passaporte, 5 – número de identificação fiscal

- - número de identificação
número de identificação da string

- - Estado civil string Estado civil, 0—confidencial, 1—casado, 2—solteiro

- - nacionalidadeId - string ID de nacionalidade de referência

- aniversário string Aniversário

Grau, 0 - não, 1 - ensino fundamental, 2 - ensino médio, 3 -


- - grau corda ensino médio, 4 - Bacharelado, 5 - Mestrado, 6 - Doutor, 7 -
Professor

- - tempo inicial string Hora de início (segundo)

- - expirarTempo string Tempo de expiração (segundo)

- - endereço string Endereço

- - observação string Notas

- - useTimes string 200 por padrão

- - apelido string Apelido (usado para distribuição do catálogo de endereços)

- - cargo - - posição da string

nomedaempresa string Nome da empresa

Autenticação relacionada ao usuário, cartão de acesso e objeto de


- autenticação impressãoInformação.
digital Um cartão e várias impressões digitais podem ser associados a um usuário.

- - senha - - string Senha, criptografia AES

carportAmount string Valor da garagem para o usuário

- - cartões informações de cartões de objeto

- - - nenhum cartão string Cartão No.

- - - data de emissão string Data de emissão do cartão

Estado do cartão, –1—desconhecido, 0—normal, 1—relatado por perda, 2—


- - - estado do cartão corda cancelado, 4 - congelado, 8 - atraso, 16 - vencido, 32 - atraso antecipado

- - - changeDate - - - string Alterar data

duressFlag string Coação ou não, 0—não, 1—sim

- - - masterFlag string Cartão mestre ou não (cartão de geração 1), 0—não, 1—sim

- - carros objeto Carros informações

- - - carroNão string Número da placa

- - - carRight - - - string Permissão do carro, 1 — lista negra, 2 — lista branca; 2 por padrão

carGroup - - string Grupo de carros, 1—não, 3—comum, 4—VIP; 1 por padrão

impressões digitais objeto Informações de impressão digital

- - - nome string Nome da impressão digital

- - - masterFlag string Impressão digital mestre ou não, 0—não, 1—sim

- - - threadFlag - - - string Coação ou não, 0—não, 1—sim

impressão digital string Código de impressão digital/600 bits

- - rostoFotos imagem do rosto do objeto

- - códigos faciais infravermelhos código de recurso de rosto de objeto

- - acessoDireito objeto Informações de permissão associadas ao usuário

- - - IDs do canal objeto ID do canal do dispositivo sob controle do usuário


Machine Translated by Google

Nome do parâmetro Tipo Descrição

- - - doorGroupIds - - - objeto ID do grupo de portas sob controle do usuário

objeto entryDeviceCodes Código do dispositivo de entrada/saída


---

objeto Departamento associado ao ID do grupo de portas


departamentoDoorGroupIds

Notas

– Para obter mais códigos de erro retornados, consulte a descrição do código de erro na página inicial

4ÿDefinição de Dicionário
4.1ÿTipo de fabricação

Valor Tipo

1 Intelbras

2 Hikvision

3 Outros

4.2ÿTipo de dispositivo

Categoria do dispositivo Subcategoria de dispositivo

Valor Tipo Valor Tipo

1 DVR

2 CIP

3 NVS

6 NVR

10 SVE
1 Dispositivo de codificação
21 Bicicleta de montanha

26 Imagens térmicas

34 Visualização completa PTZ

35 MCS

43 IVSS

5 ANPR 1 Dispositivo ANPR

7 Dispositivo inteligente 4 IVS-7500

1 Controlador de ar condicionado

2 Controlador centralizado de A&C

8 Ar condicionado 3 Portão facial

5 Ar condicionado de segunda geração

6 Terminal de relógio facial infravermelho

1 VTNC

2 Unidade VTO (portão da unidade)


21 Vídeo porteiro
3 VTH (interno)

4 MVTH
Machine Translated by Google

5 Cerca VTO (parede)

6 BLOQUEIO

7 2º VTO (confirmação secundária)

8 VTS (gestão)

10 TELEFONE SIP (telefone SIP)

1 Pilar de alarme
34 Dispositivo de emergência
2 Caixa de alarme

2 NVD (decodificador)

45 Dispositivo de controle de monitor 4 Dispositivo de tela grande

6 Comutador de matriz

4.3ÿTipo de unidade

Valor Tipo

1 Unidade de codificação

2 Saída de decodificação

3 Entrada de alarme

4 Saída de alarme

7 Unidade de ar condicionado

8 Unidade de voz

11 Unidade PDV

12 Unidade virtual, usada para um único radar

15 Unidade LED

16 Unidade de alarme CVI

17 Subunidade da caixa de alarme

4.4ÿTipo de câmera

Valor Tipo

1 Câmera bala

2 Câmera speed dome

3 Câmera domo

4.5ÿCapacidade definida para canal de codificação

Tipo de valor

1 Alarme inteligente

2 Dewarp olho de peixe

3 Foco elétrico

4 Medição de temperatura infravermelha

5 Análise de mapa de calor

6 Contagem de pessoas cruzando a linha

7 Contagem regional de pessoas

8 Instantâneo de rosto
Machine Translated by Google

Tipo de valor

9 Reconhecimento facial

10 Instantâneo do objeto

11 Rastreamento mestre-escravo

14 Contagem de pessoas em várias regiões - usada para contagem multirregional de AI fisheye

15 Trilha inteligente

4.6ÿTipo de dispositivo de controle de acesso

Valor Tipo

1 Primeira geração de tipo de dispositivo de controle de acesso geral

2 Primeira geração do tipo de controlador centralizado

3 Primeira geração de terminais de reconhecimento facial

5 Segunda geração de tipo de dispositivo de controle de acesso

4.7ÿTipo de Evento de Controle de Acesso

Tipo de evento Subtipo de evento

Valor Tipo Valor Tipo

42 Desbloqueio de senha legal

45 Desbloqueio legal de impressão digital

48 Desbloqueio remoto (monitor/plataforma interna)

49 Desbloqueio normal do botão

51 Passagem de cartão legal

56 Bloqueio normal

57 Desbloqueio normal

13109 Usuário de patrulha

13123 Desbloqueio combinado por cartão e senha

13124 Desbloqueio combinado por cartão e impressão digital

Controle de acesso 13125 Verificação remota


5
normal
600005 Desbloqueio facial legal

600013 Desbloqueio combinado por cartão e rosto

700000 Combinação de desbloqueio por impressão digital e senha

700001 Desbloqueio combinado por impressão digital e rosto

700002 Combinação de desbloqueio por rosto e senha

700003 Desbloqueio combinado por cartão, impressão digital e senha

700004 Desbloqueio combinado por cartão, impressão digital e rosto

700005 Desbloqueio combinado por impressão digital, rosto e senha

700006 Combinação de desbloqueio por cartão, rosto e senha

Desbloqueio combinado por cartão, impressão digital, rosto e senha


700007

43 Desbloqueio ilegal de senha


Controle de acesso
15 46 Desbloqueio ilegal de impressão digital
anormal
52 Roubo ilegal de cartão
Machine Translated by Google

54 Desbloqueio anormal

55 Bloqueio anormal

13100 Sem permissão (cartão/senha/impressão digital/rosto)

13101 Cartão ausente ou congelado

Erro no modo de desbloqueio (o usuário está autorizado, mas o modo


13103
de bloqueio não corresponde)

13104 Erro no período de validade

13106 Alarme de coação não aberto

13107 Porta sempre fechada desbloqueio

13108 Intertravamento multiportas (pode abrir até uma porta)

13111 Erro de período de tempo

13112 Erro de horário aberto durante feriados

13113 Não é o primeiro cartão (o primeiro cartão todos os dias)

13114 Cartão correto mais senha errada

13115 Cartão correto mais tempo limite de senha

13116 Cartão correto mais impressão digital errada

13117 Cartão correto mais tempo limite de impressão digital

13118 Impressão digital correta e senha errada

13119 Impressão digital correta e tempo limite de senha

13120 Sequência errada da combinação para abertura do portão

13121 Desbloqueio combinado com verificação adicional

13122 Verificação aprovada, console não autorizado

600011 Cartão correto mais tempo limite de face

600012 Cartão correto mais erro de face

41 Alarme de coação

72 Alarme de tempo limite

1433 Alarme de lista restrita


Alarmes de controle
16 1446 Alarme de uso excessivo de cartão ilegal
de acesso
13105 Alarme anti-passback

13110 Alarme de intrusão

600003 Alarme de violação do leitor de cartão

Alarme do dispositivo
25 600004 Alarme de violação de dispositivo
de controle de acesso

Você também pode gostar