OneSpan Sign Developer: Criando um campo de botão de opção

Ao criar transações, convém capturar informações do destinatário durante a cerimônia de assinatura. Com o OneSpan Sign, você pode fazer isso colocando campos, como campos de texto e caixas de seleção, em seus documentos.
Neste blog, abordaremos o campo do botão de opção, como criá-lo nos métodos SDK e REST e considerações importantes ao criar um botão de opção. Sem mais delongas, vamos começar.
Campo do botão de opção
Um dos tipos de campo mais comuns no OneSpan Sign são os botões de opção. Eles podem ser agrupados associando cada um a um Nome de Grupo comum. Dentro de um grupo, você pode exigir que o assinante faça uma seleção e pré-seleciona um botão de opção como opção padrão.
Após a cerimônia, o botão de opção selecionado será replicado por um "X" no documento após ser processado pelo OneSpan Sign.
Exemplo de SDK
Aqui estão alguns trechos do SDK que mostram como criar um campo de botão de opção:
Versão Java:
Campo radio1 = FieldBuilder.radioButton ("group1") .withId (novo FieldId ("signer1_group1_radio1")) .withName (("signer1_group1_radio1") .withSize (15,15) .emPágina (0) .atPosition (100,100) .withValue (true) // selecionado por padrão .withValidation (FieldValidatorBuilder.basic (). required ()) // adiciona um validador necessário .Construir();
Versão .Net:
Campo radio1 = FieldBuilder.RadioButton ("group1") .WithId (("signer1_group1_radio1") .WithName (("signer1_group1_radio1") .WithSize (15,15) .OnPage (0) .AtPosition (100,100) .WithValue (true) // selecionado por padrão .WithValidation (FieldValidatorBuilder.Basic (). Required ()) // adiciona um validador necessário .Construir();
Como discutimos acima, vários botões de opção podem compartilhar o mesmo nome de grupo e esse grupo pode ser vinculado apenas a um único signatário. O ID do campo é sugerido após uma convenção de nomenclatura significativa.
Por padrão, os assinantes não são obrigados a fazer uma seleção. Se você deseja forçar seu assinante a fazê-lo, inclua um Validador de Campo Necessário no campo para que ele inclua um campo "obrigatório" no seu campo JSON. Com vários campos em um grupo, essa linha precisa ser adicionada apenas a um deles, mas recomendamos adicioná-la a todos os campos.
Para pré-selecionar um dos vários combos, você pode definir seu valor de campo como true / "true" / "x" / "X", comparando com false / "false" / "" para iniciar a seleção. Como estamos usando um SDK, é recomendável usar uma configuração verdadeira booleana para impedir a entrada de erros. Se você definir valores verdadeiros por engano para vários botões em um grupo, o OneSpan Sign reconhecerá o último campo adicionado como o padrão selecionado.
Exemplo REST
Um exemplo JSON que cria um campo de botão de opção, que é equivalente ao código SDK acima, é mostrado abaixo:
{ "id": "signer1_group1_radio1", "name": "signer1_group1_radio1", "type": "INPUT", "subtipo": "RÁDIO", "página": 0, "altura": 15, "largura": 15, "esquerda": 100, "Os 100 melhores, "value": "X", "validação":{ "obrigatório": verdadeiro, "enum": [ "grupo 1" ] } }
Como você pode ver, para fornecer informações adicionais a um campo, o atributo necessário e o nome do seu grupo de rádio são colocados no atributo "validação".
Fato interessante
Se você estiver usando o REST para desenvolver seu aplicativo e desejar recuperar os metadados dos botões de opção no seu pacote JSON (GET / api / packages / {packageId}), será necessário incluir o seguinte parâmetro de cabeçalho para aproveitar os campos de formulário estendidos:
Aceitar: application / json; esl-api-version = 11.18 (qualquer versão após 10.6)
Embora se você usar a chamada da API (GET / api / packages / {packageId} / approvals / {aprovaçãoId}) para recuperar seus metadados de aprovação, não será necessário carregar esse parâmetro de cabeçalho. Em resumo, é recomendável realizar isso para manter o mesmo cabeçalho de solicitação que o SDK. (No SDK, este parâmetro é adicionado por padrão)
Você pode consultar Nota da versão 10.6.1 Para maiores informações.
Com métodos de extração
Atualmente, o tipo de botão de opção ainda não é suportado na Extração de Documentos. Portanto, escolheremos Extração de posição para localizar todos os nossos campos, juntamente com o Recurso de injeção de campo para preencher as informações do assinante e criar nosso exemplo de demonstração.
Os nomes dos campos do formulário são mostrados na imagem à esquerda abaixo. Você pode encontrar a captura de tela do documento assinado à direita.
O exemplo é baseado no Java SDK e este é o código principal ao qual você pode se referir ao usar também o recurso de extração de posição e injeção de campo:
DocumentPackage documentPackage = PackageBuilder.newPackageNamed ("Pacote de teste com campos de botão de opção") .withSigner (SignerBuilder.newSignerWithEmail (signerInfo.get ("email"))). withCustomId ("signer1") .withFirstName (signerInfo.get ("firstname")). withLastName (signerInfo.get ("lastname"))) .withDocument (DocumentBuilder.newDocumentWithName ("Contrato de exemplo") .fromFile ("seu caminho de arquivo") .enableExtraction () .withSignature (SignatureBuilder.signatureFor (signerInfo.get ("email"))) .withPositionExtracted (). withName ("signer1_fullname1") .withField (FieldBuilder.signatureDate (). withPositionExtracted () .withName ("signer1_fullname1_date")) .withField (radio1) .withField (radio2) .withField (radio3)) .withInjectedField (FieldBuilder.textField (). withName ("signer1_name") .withValue (signerInfo.get ("firstname") + "" + signerInfo.get ("lastname"))) .withInjectedField (FieldBuilder.textField (). withName ("signer1_email") .withValue (signerInfo.get ("email")))) .withInjectedField (FieldBuilder.textField (). withName ("signer1_phone") .withValue (signerInfo.get ("phone")))) .withInjectedField (FieldBuilder.textField (). withName ("signer1_address") .withValue (signerInfo.get ("address")))) .Construir(); PackageId packageId = eslClient.createPackageOneStep (documentPackage);
Você pode encontrar o código completo e o documento que eu estava usando no exemplo aqui .
Através do blog de hoje, estamos nos familiarizando com o uso comum do campo Botão de opção. Ao aplicar a extração de posição no botão de opção, podemos efetivamente criar uma transação com ele.
Se você tiver alguma dúvida sobre este blog ou qualquer outra coisa relacionada à integração do OneSpan Sign ao seu aplicativo, visite o Fóruns da comunidade de desenvolvedores . Seu feedback é importante para nós!