1 | TNA Rest Gateway

Fornece acesso seguro aos serviços da plataforma Terranoha para qualquer serviço externo.

4 | TNA Intent Service

Reflete todas as solicitações verbais recebidas para traduzir o texto do usuário em intenções estruturadas que podem ser convertidas em solicitações digitais compreensíveis pela maioria dos servidores.

6 | NLP / NLU

O coração da cozinha de linguagem natural. Traduz frases em texto livre em estruturas de nome/valor e vice-versa.

2 | TNA Bot Service

Alinhado com os requisitos de um serviço de mensagens (chat) externo para conduzir uma conversa de forma totalmente automatizada.

3 | TNA Smart Access Gateway

Roteia o tráfego de comunicação de solicitação/resposta de acordo com as regras de trânsito estabelecidas.

5 | TNA Core Service

Inclui todos os tipos de processadores de lógica de negócios necessários para atender às solicitações recebidas.

7 | TNA Market Connect Service

Oferece a capacidade de receber e acomodar feeds de dados externos, juntamente com o processo de unificação de dados.

Terranoha Security Workflow

1 | TNA Core Service

Verificação de segurança contextual baseada no contexto de segurança fornecido pelo nível de Segurança de Acesso e com base na tabela de direitos de acesso.

A plataforma Terranoha é construída sobre um subconjunto de microsserviços. Entre eles, temos:

  • Smart Gateway para autenticar usuários
  • Bot Service para coordenar o fluxo de trabalho do bot
  • Intent Service para esclarecer as intenções dos usuários
  • NLU Service para processar linguagem natural

Cada solicitação recebida e ação realizada é auditada e registrada. Estamos em conformidade com WhatsApp, Microsoft Teams, Slack, Telegram, Webex.
O relatório de auditoria pode ser baixado sob demanda pelo Emmie (bot Terranoha) ou via API REST, de acordo com as permissões concedidas pelo usuário.

Abaixo, alguns exemplos de registros de auditoria

Usuário inicia uma conversa :

{
“ctoken”: “42d30d29-79ce-42b6-aef0-74988a054a7e”,
“channel”: “MSTEAMS”,
“client”: “ACME”
}

In this request, user is identified by the ctoken field, which is the id of the user messaging system account. This ctoken is link to a user account.

Usuário recebe um link para autenticar com segurança :

{
“ctoken”: “42d30d29-79ce-42b6-aef0-74988a054a7e”,
“channel”: “MSTEAMS”,
“client”: “ACME”,
“callback”: “https:\/\/service.terranoha.net\/tna\/service\/auth-status”,
“ttl”: 1621260188716
}

The Stream-id is linked to a time stamp and some other metadata fields. Emmie bot creates the report, joins the dependencies needed to have a full view on the audit trail details and provides a readable format.

O usuário solicita uma cotação ao serviço de bot:

{
“data”: {
“message”: “mkt eurusd 100k”,
“id”: “620633749000”,
“channel”: “MSTEAMS”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”
},
“action”: “message.crack”,
“auth”: {
“channel”: “MSTEAMS”,
“ctoken”: “42d30d29-79ce-42b6-aef0-74988a054a7e”,
“client”: “ACME”
}
}

Mensagem é interpretada pelo assistente de intenção :

{
“data”: {
“context”: {
“ccy1”: “EUR”,
“ccy2”: “USD”,
“qty”: “100000.0”
},
“id”: “620633749000”,
“language”: “en”,
“intermediate”: “false”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”,
“context-type”: “forex”,
“intent”: “request”,
“scope”: “quote”
},
“action”: “message.crack.result”
}

O usuário faz uma solicitação de pedido ao serviço de bot:

{
“data”: {
“message”: “buy 1m eurusd 1W 360t”,
“id”: “620633749013”,
“channel”: “MSTEAMS”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”
},
“action”: “message.crack”,
“auth”: {
“channel”: “MSTEAMS”,
“ctoken”: “42d30d29-79ce-42b6-aef0-74988a054a7e”,
“client”: “ACME”
}
}

Mensagem é interpretada pelo assistente de intenção :

{
“data”: {
“context”: {
“side”: “buy”,
“ccy1”: “EUR”,
“ccy2”: “USD”,
“qty”: “1000000.0”,
“counterparty”: “360t”,
“set-type”: “1W”
},
“id”: “620633749013”,
“language”: “en”,
“intermediate”: “false”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”,
“context-type”: “forex”,
“intent”: “request”,
“scope”: “order”
},
“action”: “message.crack.result”
}

Usuário confirma o pedido :

{
“data”: {
“message”: “c”,
“id”: “620633749014”,
“channel”: “MSTEAMS”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”
},
“action”: “message.crack”,
“auth”: {
“channel”: “MSTEAMS”,
“ctoken”: “42d30d29-79ce-42b6-aef0-74988a054a7e”,
“client”: “ACME”
}
}

Mensagem é interpretada pelo assistente de intenção :

{
“data”: {
“context”: {
“side”: “buy”,
“ccy1”: “EUR”,
“ccy2”: “USD”,
“qty”: “1000000.0”,
“counterparty”: “360t”,
“set-type”: “1W”
},
“id”: “620633749014”,
“language”: “en”,
“intermediate”: “false”,
“stream-id”: “a:1LAcxPeLEaF5yWwQUhM2_T8UMHMqYm-sjOxbg8WMG0AXV3bfgcPlFoej3qC2j0MO6IYC4LdSlDWtG9Yp2qWQ8bFP6t0TJp3DJjn_WcHbQAd0r3MUMU-D94rnhemsA7LLo”,
“context-type”: “forex”,
“intent”: “request.confirm”,
“scope”: “order”
},
“action”: “message.crack.result”
}

360t aceita o pedido :

{
“data”: {
“symbol”: “EUR/USD”,
“id”: “620633742668”,
“type”: “market”,
“status”: “accept”,
“price-near”: 0.0,
“price-far”: 0.0,
“qty-min”: 0.0,
“qty-near-last”: 0.0,
“qty-far-last”: 0.0,
“qty-near-residual”: 1000000.0,
“qty-far-residual”: 0.0,
“price-spot”: 0.0,
“settl-date-near”: “2021-05-13”,
“fwd-points-near”: 0.0,
“fwd-points-far”: 0.0,
“price-near-last”: 0.0,
“price-far-last”: 0.0,
“price-near-average”: 0.0,
“price-far-average”: 0.0,
“time-in-force”: “ioc”,
“counterparty-order-id”: “308500007”,
“counterparty-exec-id”: “nm6lro”,
“status-last”: “accept”,
“qty-near”: 1000000.0,
“qty-far”: 0.0,
“cause-id”: “620633742668”,
“side”: “buy”,
“counterparty”: “360t”
},
“action”: “order.fx.request.result”
}

Pedido é preenchido:

{
“data”: {
“symbol”: “EUR/USD”,
“id”: “620633742668”,
“type”: “market”,
“status”: “fill”,
“price-near”: 0.0,
“price-far”: 0.0,
“qty-min”: 0.0,
“qty-near-last”: 1000000.0,
“qty-far-last”: 0.0,
“qty-near-residual”: 0.0,
“qty-far-residual”: 0.0,
“price-spot”: 0.0,
“settl-date-near”: “2021-05-13”,
“fwd-points-near”: 0.0,
“fwd-points-far”: 0.0,
“price-near-last”: 1.21469,
“price-far-last”: 0.0,
“price-near-average”: 1.21469,
“price-far-average”: 0.0,
“time-in-force”: “ioc”,
“counterparty-order-id”: “308500007”,
“counterparty-exec-id”: “903448414.2”,
“status-last”: “fill”,
“qty-near”: 1000000.0,
“qty-far”: 0.0,
“cause-id”: “620633742668”,
“side”: “buy”,
“counterparty”: “360t”
},
“action”: “order.fx.request.result”
}{
“data”: {
“id”: “620633742668”
},
“action”: “request.completion.ack”
}

Login to your account below

Fill the forms bellow to register

Retrieve your password

Please enter your username or email address to reset your password.