SDK de Captura de Documentos Flutter

v1.0.0

Introdução

Os SDKs de Captura de Documentos permitem a realização de capturas pelo usuário dentro de sua aplicação. Essas capturas passam por validações que identificam o tipo de documento e que avaliam a qualidade da imagem capturada, instruindo o usuário através de feedbacks visuais.

Todas as informações coletadas são dados relacionados apenas ao dispositivo do usuário.

É necessário que o usuário conceda permissão de acesso à câmera do dispositivo para capturar e enviar seu documento.

Instalação

Em seu projeto, rode o seguinte comando (dentre as duas opções):

flutter pub add documentoscopy_flutter_sdk
documentoscopy_flutter_sdk:
git:
    url: https://github.com/ClearSale/DocumentosCopyFlutterPlugin.git,
    ref: master

Android

Requisitos

  • 32MB de espaço em disco
  • Versão do sistema operacional Android: v5.0 (API v21)
  • compileSdkVersão: 34
  • targetSdkVersion: 31
  • com.google.android.material:material: 1.5.0
  • androidx.compose.material:material: 1.5.4

Adicione um arquivo clearsale.gradle.env na raiz do seu projeto flutter. Esse arquivo deve conter as seguintes propriedades:

CS_DOCUMENTOSCOPY_TEC_ARTIFACTS_FEED_URL=ARTIFACTS_FEED_URL // valor fornecido pela clear sale  
CS_DOCUMENTOSCOPY_TEC_ARTIFACTS_FEED_NAME=ARTIFACTS_FEED_NAME // valor fornecido pela clear sale  
CS_DOCUMENTOSCOPY_TEC_USER=USERNAME // valor fornecido pela clear sale  
CS_DOCUMENTOSCOPY_TEC_PASS=ACCESSTOKEN // valor fornecido pela clear sale  
CS_DOCUMENTOSCOPY_VERSION=LAST_VERSION // valor fornecido pela clear sale

Observação: as versões para o ambiente de homologação vêm acompanhadas de um -hml no final.

iOS

Requisitos

  • Versão do sistema operacional iOS: 12.0 ou superior.
  • Versão do projeto Swift 4.2+: funciona com Xcode superior ao 14.
  • Espaço em disco: 18.5mb

No arquivo Podfile de seu projeto adicione o seguinte código:

platform :ios, '12.0'

use_frameworks!

target 'NOME_DO_SEU_PROJETO' do
  pod 'CSDocumentoscopySDK', :git => 'URL DO REPOSITÓRIO ENVIADO PELA CLEARSALE', :tag => 'VERSÃO IOS AQUI'
end

Observação: as versões para o ambiente de homologação vêm acompanhadas de um -hml no final.

Instruções de uso

Importe o plugin no seu projeto e use o método openCSDocumentosCopy que irá chamar a SDK nativa do dispositivo.

O resultado da função open é um future que pode retornar os seguintes valores:

class CSDocumentosCopyResult {
  final String documentType;
  final String sessionId;
}

Caso o future seja rejeitado, ela retorna o erro que causou a rejeição (CSDocumentoscopySDKError no Android, CSDocumentoscopyError no iOS ou UserCancel).

Exemplo de uso

// Platform messages are asynchronous, so we initialize in an async method.
Future<void> callCSDocumentosCopySDK(
    String clientId,
    String clientSecretId,
    String identifierId,
    String cpf,
    Color primaryColor,
    Color secondaryColor,
    Color tertiaryColor,
    Color titleColor,
    Color paragraphColor) async {
  // Platform messages may fail, so we use a try/catch PlatformException.
  // We also handle the message potentially returning null.
  String result;
  primaryColor.toHexString();
  try {
    var sdkResponse =
    await _documentoscopyFlutterSdkPlugin.openCSDocumentosCopy(
        clientId,
        clientSecretId,
        identifierId,
        cpf,
        primaryColor,
        secondaryColor,
        tertiaryColor,
        titleColor,
        paragraphColor);

    result = jsonEncode(sdkResponse);
  } on PlatformException catch (e) {
    result = "Error: $e";
  } catch (e) {
    result = "Error: $e";
  }

  // If the widget was removed from the tree while the asynchronous platform
  // message was in flight, we want to discard the reply rather than calling
  // setState to update our non-existent appearance.
  if (!mounted) return;

  setState(() {
    _result = result;
  });
}

Executando o aplicativo de exemplo (sample)

  1. Conecte um dispositivo físico (Android ou iOS - o nosso SDK não roda em emuladores, apenas em dispositivos físicos) à sua máquina de desenvolvimento
  2. Clone esse repositório e rode flutter pub get
  3. Coloque suas credenciais no arquivo clearsale.gradle.env na raiz do projeto de exemplo e adicione também as credenciais no arquivo example/ios/Podfile
  4. Inicie o app
  5. Ao pressionar o botão Open CSDocumentosCopy o SDK iniciará
  6. Após completar o fluxo o aplicativo retorna o documentType e sessionId

Detalhes de privacidade

Uso de dados

Todas as informações coletadas pelo SDK da ClearSale são com exclusiva finalidade de prevenção à fraude e proteção ao próprio usuário, aderente à política de segurança e privacidade das plataformas Google e Apple e à LGPD. Por isso, estas informações devem constar na política de privacidade do aplicativo.

Tipo de dados coletados

O SDK da ClearSale coleta as seguintes informações do dispositivo:

  • Características físicas do dispositivo/ hardware (Como tela, modelo, nome do dispositivo)
  • Características de software (Como versão, idioma, build, controle parental)
  • Informações da câmera
  • Licença de Uso

Ao realizar o download e utilizar nosso SDK você estará concordando com a seguinte licença:

Todos os direitos são reservados, sendo concedida a permissão para usar o software da maneira como está, não sendo permitido qualquer modificação ou cópia para qualquer fim. O Software é licenciado com suas atuais configurações “tal como está” e sem garantia de qualquer espécie, nem expressa e nem implícita, incluindo mas não se limitando, garantias de comercialização, adequação para fins particulares e não violação de direitos patenteados. Em nenhuma hipótese os titulares dos Direitos Autorais podem ser responsabilizados por danos, perdas, causas de ação, quer seja por contrato ou ato ilícito, ou outra ação tortuosa advinda do uso do Software ou outras ações relacionadas com este Software sem prévia autorização escrita do detentor dos direitos autorais.

Copyright © 2024 ClearSale