Compartilhar via


>KASClient>Forma

Módulo: Formulário

Índice

Criação

Resposta

Resumo


Criação

initFormAsync

initFormAsync(retorno de chamada: function): void

Inicializa e retorna um objeto de formulário vazio com base no arquivo de formulário padrão presente no pacote

Uso de Exemplo

KASClient.Form.initFormAsync(function (form, error) {
     if (error != null) {
         // use form
     }
});

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param O formulário {KASForm} pode ser nulo em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


submitFormRequestV2

submitFormRequestV2(form: KASForm, shouldDismiss?: boolean, shouldSendToSubscribers?: boolean): void

Envia o formulário recém-criado como uma solicitação. Isso resulta em uma nova conversa cartão

Parâmetros:

Nome Tipo Valor padrão Descrição
formulário KASForm - -
Default value shouldDismiss boolean falso true se o formulário precisar ser descartado após a apresentação; false caso contrário
Default value shouldSendToSubscribers boolean verdadeiro aplicável em grupos públicos, definido como false se a solicitação não for destinada a assinantes

Retorna:void


submitFormRequestWithoutDismiss

submitFormRequestWithoutDismiss(form: KASForm, shouldInflate: boolean): void

Envia o formulário recém-criado como uma solicitação. Isso resulta em uma nova conversa cartão

Parâmetros:

Nome Tipo Descrição
formulário KASForm -
shouldInflate boolean Booliano – deve inflar/não

Retorna:void


updateForm

updateForm(fields: string, shouldInflate: boolean, retorno de chamada: function): void

use para fazer alterações em campos de formulário, como título, descrição e configurações.

Uso de Exemplo

  var fieldsToUpdate = {"title" : "<updated title", "exp" : "<expiry time>",
           "vis" : "<result visibility - set as sender/all/admin>", "Description": "<Updated survey desc>"};
  KASClient.Form.updateForm(JSON.stringify(fieldsToUpdate), false, function(success) {
       if(success) {
         //do something
       }
   });

Parâmetros:

Nome Tipo Descrição
campos string cadeia de caracteres json de campos que exigem updation
shouldInflate boolean Booliano – deve inflar/não
retorno de chamada function com params abaixo:

* @param {boolean} sucesso verdadeiro se a atualização foi bem-sucedida; false caso contrário

Retorna:void


Resposta

canRespondToFormAsync

canRespondToFormAsync(retorno de chamada: function): void

Obtém se o usuário atual pode responder ao formulário

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param {boolean} podeRespond true se o usuário atual tiver permissão para responder

Retorna:void


getFormAsync

getFormAsync(retorno de chamada: function): void

Obtém o objeto de formulário associado ao cartão de conversa

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param O formulário {KASForm} pode ser nulo em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


getFormStatusAsync

getFormStatusAsync(retorno de chamada: function): void

Obtém o status do formulário associado ao cartão de conversa

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param {boolean} isActive true se o formulário ainda não tiver expirado

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


getMyFormResponsesAsync

getMyFormResponsesAsync(callback: function, onlyCurrentResponse?: boolean): void

Obtém todas as respostas do usuário atual no formulário

Parâmetros:

Nome Tipo Valor padrão Descrição
retorno de chamada function - com parâmetros abaixo:

* @param As respostas {KASFormResponse[]} podem ser nulas em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário
Default value onlyCurrentResponse boolean verdadeiro Aplicável às Ações de Resposta em que esse método retorna apenas a resposta atual no contexto, defina esse sinalizador como falso para buscar todas as respostas. O padrão é verdadeiro

Retorna:void


sumbitFormResponse

sumbitFormResponse(questionToAnswerMap: JSON, responseId: string, isEdit: boolean, showInChatCanvas: boolean, isAnonymous: boolean): void

Envia uma nova resposta contra o formulário associado à conversa cartão Isso descartará a tela atual

Uso de Exemplo

var questionToAnswerMap = { "0": "answer" };
KASClient.Form.sumbitFormResponse(questionToAnswerMap, null, false, false, false);

Observação

questionToAnswerMap is a map which has key as question Id and value as the response to the question
Say question of id 1 is of type "Text" which means it takes string as response. You should define it like {1: "<answer>"}

O valor da resposta para KASQuestionType deve ser:

  • Seleção Única : id de opção (Cadeia de caracteres). por exemplo, "1"
  • MultiSelect : matriz stringified de ids de opção. por exemplo, JSON.stringify([1,3])
  • Texto : Cadeia de caracteres. por exemplo, "manequim"
  • Numérico : número. por exemplo, 543
  • Local : objeto KASLocation stringified. por exemplo, JSON.stringify(location.toJSON()) ou JSON.stringify({"lg": 70.4, "lt": 18.6, "n": "address"})
  • DateTime : carimbo de data/hora em millieseconds. por exemplo, 1550651524074
  • Imagem : Caminho da imagem. por exemplo, "file://imagePath.png"
  • AttachmentList : matriz stringified de objetos KASAttachment . por exemplo, JSON.stringify(anexos), anexos são matriz de KASAttachment
  • PhoneNumber : objeto KASPhoneNumber stringified. por exemplo, SON.stringify(phoneNumber.toJSON()) ou JSON.stringify({"cc": "+91", "pn": "98XXXXXXXXX6"})
  • DateOnly : cadeia de caracteres de data (YYYYY-MM-DD). por exemplo, "2019-04-17"

Parâmetros:

Nome Tipo Descrição
questionToAnswerMap JSON id de perguntas para responder mapeamento
responseId string a ser preenchida se a resposta atual for uma edição/atualização para uma anterior
isEdit boolean denota se a resposta atual for uma edição/atualização para uma anterior
showInChatCanvas boolean denota se um chat separado cartão precisa ser criado para essa resposta ou não
Isanonymous boolean denota se a resposta deve ser registrada como anônima ou não

Retorna:void


sumbitFormResponseWithoutDismiss

sumbitFormResponseWithoutDismiss(questionToAnswerMap: JSON, responseId: string, isEdit: boolean, showInChatCanvas: boolean, isAnonymous: boolean): void

Envia uma nova resposta contra o formulário associado à conversa cartão Isso não descartará a tela atual

Uso de Exemplo

var questionToAnswerMap = { "0": "answer" };
KASClient.Form.sumbitFormResponseWithoutDismiss(questionToAnswerMap, null, false, false, false);

Parâmetros:

Nome Tipo Descrição
questionToAnswerMap JSON id de perguntas para responder ao mapeamento (consulte sumbitFormResponse para obter detalhes)
responseId string a ser preenchida se a resposta atual for uma edição/atualização para uma anterior
isEdit boolean denota se a resposta atual for uma edição/atualização para uma anterior
showInChatCanvas boolean denota se um chat separado cartão precisa ser criado para essa resposta ou não
Isanonymous boolean denota se a resposta deve ser registrada como anônima ou não

Retorna:void


Resumo

FormSummaryCallback

Ƭ FormSummaryCallback: function

Declaração de tipo

▸(flatSummary: KASFormFlatSummary, processedSummary: KASFormProcessedSummary, error: string): void

Parâmetros:

Nome Tipo
flatSummary KASFormFlatSummary
processedSummary KASFormProcessedSummary
erro string

Retorna:void


addCommentOnForm

addCommentOnForm(comentário: string): void

Solicitações para adicionar um comentário a um formulário

Parâmetros:

Nome Tipo
comment string

Retorna:void


closeForm

closeForm(): void

Fecha o formulário associado ao cartão, nenhuma resposta será permitida ainda mais

Retorna:void


copyFormAndForward

copyFormAndForward(): void

Inicia o seletor de conversa para encaminhar uma cópia do formulário existente como uma nova conversa cartão

Retorna:void


executeActionFetchQueryAsync

executeActionFetchQueryAsync(formId: string, fetchJsonQueryId: string, fetchJsonQueryParams: JSON, retorno de chamada: function): void

Recupera linhas/respostas de instância de ação (ou formulário) usando a consulta FetchJson (SQL no formato JSON). Usando essa api, é possível executar consultas avançadas em todas as linhas e obter detalhes ou resumos como resultado. Essas consultas precisam ser mencionadas no appModel da Action para permitir que os desenvolvedores de ação tenham permissões de nível de consulta. Pode-se executar essa consulta apenas com a ID da consulta e os valores de espaço reservado necessários, se houver.

Observação

  1. IDs de coluna/pergunta da instância de ação serão usadas como ids de atributo da consulta FetchJson
  2. A saída será a lista de linhas, cada linha que contém pares de valor de id de coluna

Uso de Exemplo

// AppModel questions: ResponderName (0) | City (1) | FavoriteMovie (2)
// Query (q123): SELECT question0 WHERE question1="@param1" AND question2="@param2"
// To fetch responders from "Mumbai" whose favorite movie is "Harry Potter"
var params = { "@param1": "Mumbai", "@param2": "Harry Potter"};
KASClient.Form.executeActionFetchQueryAsync("XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "q123", params, function (result, error) {
   if (!error) {
       for (var i = 0; i < result.rows.length; i++) {
           var row = result.rows[i];
           console.log("Responder name: " + row["0"]);
       }
   }
});

Parâmetros:

Nome Tipo Descrição
Formid string ID de instância de ação (ou formulário) cujas linhas precisam ser buscadas
fetchJsonQueryId string ID da consulta FetchJson (mencionada no pacote Action)
fetchJsonQueryParams JSON Mapa de espaços reservados de parâmetro de consulta para valores
retorno de chamada function com parâmetros abaixo:

* @param {JSON} fetchJsonResult – O resultado da consulta FetchJson

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


fetchFormAsync

fetchFormAsync(formId: string, retorno de chamada: function): void

Recupera uma instância de Ação (ou formulário) para a ID fornecida. Ele primeiro tenta obter a instância localmente e, em seguida, busca-a do servidor como fallback.

Observação

Uma Ação pode buscar instâncias de si mesma ou de outra Ação que pertencem ao seu próprio appGroup

Parâmetros:

Nome Tipo Descrição
Formid string Id da instância a ser buscada
retorno de chamada function com parâmetros abaixo:

* @param Formulário {KASForm} – Instância de ação (ou formulário)

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


fetchFormInfosAsync

fetchFormInfosAsync(request: KASFormInfoRequest, callback: function): void

Recupera informações de instância de ação (ou formulário) de um pacote action. Isso é útil no acesso a dados entre ações, em que uma ação pode buscar as linhas/respostas da instância de outra Ação - essa api é usada para buscar a ID da instância necessária para buscar linhas.

Observação

Uma Ação pode buscar instâncias de si mesma ou de outra Ação que pertencem ao seu próprio appGroup

Uso de Exemplo

var request = new KASClient.KASFormInfoRequest();
request.packageId = "some-package-id";
request.scopeId = "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; // Group id

KASClient.Form.fetchFormInfosAsync(request, function (response, error) {
   if (!error) {
       for (var i = 0; i < response.formInfos.length; i++) {
           var formInfo = response.formInfos[i]; // KASFormInfo
           console.log("Instance id: " + formInfo.id);
           console.log("Instance title: " + formInfo.title);
       }
   }
})

Parâmetros:

Nome Tipo Descrição
Solicitação KASFormInfoRequest Solicitação que contém parâmetros de api
retorno de chamada function com parâmetros abaixo:

* @param Resposta {KASFormInfoResponse} – Resposta contendo informações de instância de ação (ou formulário)

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


getActionInstanceLocalDataCacheAsync

getActionInstanceLostanceLocalDataCacheAsync(callback: function): void

Recupera as Propriedades ActionInstance do cache de dados local se houver essas propriedades são armazenadas em um nível de instância de ação. Portanto, os dados locais salvos para a instância de ação específica serão retornados por essa API.

Observação

Essa API não funciona conforme o esperado em caso de mensagens históricas.

Uso de Exemplo

KASClient.Form.getActionInstanceLocalDataCacheAsync(function (actionPackageProperties, error) {
     if (error == null && actionPackageProperties != null && actionPackageProperties.properties) {
          if (actionPackageProperties.properties.hasOwnProperty("prop1") {
             console.log(actionPackageProperties.properties["prop1"]);
          }
     }
 });

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param {KASActionProperties} actionProperties ActionInstance/Form Properties

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


getActionPackageLocalDataCacheAsync

getActionPackageLoageLocalDataCacheAsync(callback: function): void

Recupera as Propriedades do Pacote de Ação do cache de dados local se houver alguma Essas propriedades serão salvas no nível do pacote de ação. Portanto, todas as instâncias de ação criadas a partir desse pacote de ação receberão os mesmos dados.

Observação

Essa API não funciona conforme o esperado em caso de mensagens históricas.

Uso de Exemplo

KASClient.Form.getActionPackageLocalDataCacheAsync(function (actionPackageProperties, error) {
     if (error == null && actionPackageProperties != null && actionPackageProperties.properties) {
          if (actionPackageProperties.properties.hasOwnProperty("prop1") {
             console.log(actionPackageProperties.properties["prop1"]);
          }
     }
 });

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param {KASActionPackageProperties} actionPackageProperties Action Package Properties

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


getFormReactionAsync

getFormReactionAsync(retorno de chamada: function): void

Obtém a reação consolidada (curtidas e comentários) da conversa cartão associada ao formulário

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param A reação {KASFormReaction} pode ser nula em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


getFormSummaryAsync

getFormSummaryAsync(mostUpdatedCallback: FormSummaryCallback, notifyCallback: FormSummaryCallback): void

Obtém respostas simples de todos os usuários e resumo processado de todas as respostas associadas ao formulário. Ele requer dois retornos de chamada:

Observação

Isso é útil quando a rede é esfarrapada/desconectada, de modo que o resumo possa ser imediatamente mostrado com os dados atuais que temos, mas com a opção de atualizá-la mais tarde na chegada dos dados mais recentes do servidor! Nenhum dos retornos de chamada é obrigatório, portanto, se 1º for zero, esse método poderá ser usado para sempre buscar resumo do servidor e, se 2º for zero, isso poderá ser usado para sempre buscar resumo do banco de dados local!

Uso de Exemplo

KASClient.Form.getFormSummaryAsync(
   // Data fetched from database
   function (flatSummary, processedSummary, error) {
      if (error != null) {
      }
   },
   // Data fetched from server
   function (flatSummary, processedSummary, error) {
      if (error != null) {
      }
   })

Parâmetros:

Nome Tipo Descrição
mostUpdatedCallback FormSummaryCallback para obter imediatamente o resumo mais atualizado do banco de dados local. Ele tem parâmetros abaixo:

* @param {KASFormFlatSummary} flatSummary pode ser nulo em caso de erro

* @param {KASFormProcessedSummary} processedSummary pode ser nulo em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário
notifyCallback FormSummaryCallback para ser notificado com o resumo mais recente obtido do servidor. Ele tem parâmetros abaixo:

* @param {KASFormFlatSummary} flatSummary pode ser nulo em caso de erro

* @param {KASFormProcessedSummary} processedSummary pode ser nulo em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


getFormURLAsync

getFormURLAsync(retorno de chamada: function): void

Obtém a url do arquivo do servidor que contém respostas simples associadas ao formulário

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param A url {string} pode ser nula em caso de erro

* @param {string} mensagem de erro em caso de erro, nulo caso contrário

Retorna:void


getFormUserCapabilitiesAsync

getFormUserCapabilitiesAsync(callback: function): void

Obtém permissões de formulário

Uso de Exemplo

KASClient.Form.getFormUserCapabilitiesAsync(function (permissions, error) {
    if(!error) {
        canRespond = permissions.canRespond;
        canSendReminder = permissions.canSendReminder;
        shouldSeeSummary = permissions.shouldSeeSummary;
    }
});

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param Permissões {KASFormUserCapabilities}

* @param {string} cadeia de erros em caso de erro; nulo caso contrário

Retorna:void


Issubscribed

isSubscribed(callback: function): void

Obtém se o usuário atual é assinante ou não

Parâmetros:

Nome Tipo Descrição
retorno de chamada function com parâmetros abaixo:

* @param {boolean} é Assinante true se o usuário atual for assinante

Retorna:void


likeForm

likeForm(): void

Solicitações para adicionar uma contagem semelhante a um formulário, a contagem pode diminuir se o usuário atual já tiver gostado do formulário

Retorna:void


sendRemindersToRespond

sendRemindersToRespond(): void

Envia um lembrete (um novo cartão de conversa) contra o cartão existente

Retorna:void


shareFormURL

shareFormURL(url: string): void

Compartilhar a url de resultado buscada do servidor – inicia a tela de compartilhamento nativa para a url do formulário

Parâmetros:

Nome Tipo Descrição
url string a ser compartilhado

Retorna:void


showAllReactions

showAllReactions(showComments?: boolean): void

Mostra toda a tela de reação (curtidas e comentários) no formulário

Parâmetros:

Nome Tipo Valor padrão Descrição
Default value showComments boolean verdadeiro true se os comentários também precisarem ser mostrados; false caso contrário

Retorna:void


updateActionInstanceLocalDataCacheAsync

updateActionInstanceLostanceLocalDataCacheAsync(actionProperties: KASActionProperties, callback: function): void

Atualizações/salva as Propriedades ActionInstance fornecidas para o cache de dados local Essas propriedades são armazenadas em um nível de instância de ação. Portanto, cada instância de ação pode salvar alguns dados locais no cache e ela só será acessível por essa instância específica

Uso de Exemplo

var actionPackageProperties = KASClient.KASActionPackageProperties.fromJSON(JSON.parse("{}"));
actionPackageProperties.properties = JSON.parse("{}");
actionPackageProperties.properties[prop1] = value1;
KASClient.Form.updateActionInstanceLocalDataCacheAsync(actionPackageProperties, function(success, error) {
     if(!error) {
     }
});

Observação

Essa API não funciona conforme o esperado em caso de mensagens históricas.

Parâmetros:

Nome Tipo Descrição
actionProperties KASActionProperties Propriedades ActionInstance/Form a serem atualizadas/salvas
retorno de chamada function com parâmetros abaixo:

* @param O sucesso de {boolean} indica se a atualização é bem-sucedida ou não

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


updateActionPackageLocalDataCacheAsync

updateActionPackageLoageLocalDataCacheAsync(actionPackageProperties: KASActionPackageProperties, callback: function): void

Atualizações/salva as propriedades do pacote de ação fornecidas para o cache de dados local Essas propriedades são salvas no nível do pacote de ação. Portanto, os dados são compartilhados entre todas as instâncias de ação criadas a partir desse pacote de ação.

Uso de Exemplo

var actionPackageProperties = KASClient.KASActionPackageProperties.fromJSON(JSON.parse("{}"));
actionPackageProperties.properties = JSON.parse("{}");
actionPackageProperties.properties[prop1] = value1;
KASClient.Form.updateActionPackageLocalDataCacheAsync(actionPackageProperties, function(success, error) {
     if(!error) {
     }
});

Observação

Essa API não funciona conforme o esperado em caso de mensagens históricas.

Parâmetros:

Nome Tipo Descrição
actionPackageProperties KASActionPackageProperties Propriedades do pacote de ação a serem atualizadas/salvas
retorno de chamada function com parâmetros abaixo:

* @param O sucesso de {boolean} indica se a atualização é bem-sucedida ou não

* @param {string} erro json string para o objeto KASError que contém código de erro e/ou descrição.

Retorna:void


updateFormPropertiesAsync

updateFormPropertiesAsync(propertyUpdates: KASFormPropertyUpdateInfo[], notifyUsers: string[], notificationMessage: string, callback: function, shouldSendToSubscribers?: ): booleanvoid

Postar uma solicitação para atualizar as propriedades associadas ao formulário

Uso de Exemplo

var updateProperties = [];
var currentFormProperty = new KASClient.KASFormProperty(); // type: KASFormProperty
currentFormProperty.name = "<name>";
currentFormProperty.value = "<value>";
var property1ToAdd = KASClient.KASFormPropertyUpdateFactory.addProperty(currentFormProperty); //use updateValueInProperty in case of existing form property
updateProperties.push(property1ToAdd);
var notifyUsersList = [];
// notifyUsersList.push(<"uid1">);
// notifyUsersList.push("<uid2>");
KASClient.Form.updateFormPropertiesAsync(updateProperties, notifyUsersList, notificationMessage, function (success) {
  if (success) {
  }
});

Parâmetros:

Nome Tipo Valor padrão Descrição
propertyUpdates KASFormPropertyUpdateInfo[] - uma matriz de todas as informações de atualização necessárias para serem executadas, as informações de atualização podem ser criadas usando KASFormPropertyUpdateFactory
notifyUsers string[] - enviar notificações por push para essas IDs de usuário em relação a essa atualização
notificationMessage string - mensagem de notificação por push
retorno de chamada function - com parâmetros abaixo:

* @param O sucesso de {boolean} indica se a atualização é bem-sucedida ou não
Default value shouldSendToSubscribers boolean falso Campo opcional (padrão é falso) aplicável somente em grupos públicos. Se definido como true, as atualizações de propriedade também alcançarão assinantes em um grupo público.

Retorna:void