3 - Inicialização
Para utilizar o Desktop Server, é necessário inicializar o SDK enviando as credenciais de acesso.
É necessário também ativar o dispositivo conforme descrito em 2 - Ativação para obter as credenciais (
marketplace,sellereaccessKey).
Exemplo de inicialização
Requisitando ao servidor
Para iniciar o SDK, é necessário enviar uma requisição em JSON com os seguintes campos:
{
"type": "initialize",
"marketplace": "MKTPLACE_ID", // ID do marketplace | String numérica hexadecimal.
"seller": "SELLER_ID", // ID do seller | String numérica hexadecimal.
"accessKey": "ACCESSKEY", // Chave de acesso | String numérica, no padrão UUID.
"devicePort": "COM_PORT" // Porta COM do PIN Pad | String alfanumérica. Opcional.
}O campo devicePort é opcional e pode ser omitido caso o servidor deva realizar a autodetecção do PIN Pad.
Isso deve ser feito por meio de WebSocket, como no exemplo abaixo, em JavaScript:
let initRequest = {
type: "initialize",
marketplace: "{seu marketplace ID}",
seller: "{seu seller ID}",
accessKey: "{sua access key}",
devicePort: "COM3"
}
// Onde `socket` é um objeto de `WebSocket`.
socket.send(JSON.stringify(initRequest))
socket.onmessage = (event) => {
let response = JSON.parse(event.data)
if (response == null) {
return
}
if (response.type == "initialize") {
if (response.status == "success") {
// Inicialização bem-sucedida.
return
}
if (response.status == "failed") {
// Falha na inicialização.
return
}
}
}Um exemplo mais completo pode ser encontrado no aplicativo de exemplo, na função
connecteddo arquivowebsocket.js.
Respostas
O Desktop Server responderá em JSON, indicando em status:
success: o sucesso da inicialização;failed: ou a falha da inicialização e a causa.
Sucesso na inicialização
Esta resposta sinaliza que a inicialização foi concluída com sucesso.
{
"type": "initialize",
"status": "success",
"message": "Inicialização realizada com sucesso"
}Falha na inicialização
Caso ocorra algum erro (ex: credenciais inválidas), a resposta será similar a esta:
{
"type": "initialize",
"status": "failed",
"message": "A inicialização foi malsucedida.",
"statusCode": -1
}