EncryptedPassportElement constructor

const EncryptedPassportElement({
  1. @JsonKey(name: 'type') required PassportType type,
  2. @JsonKey(name: 'data') String? data,
  3. @JsonKey(name: 'phone_number') String? phoneNumber,
  4. @JsonKey(name: 'email') String? email,
  5. @JsonKey(name: 'files') List<PassportFile>? files,
  6. @JsonKey(name: 'front_side') PassportFile? frontSide,
  7. @JsonKey(name: 'reverse_side') PassportFile? reverseSide,
  8. @JsonKey(name: 'selfie') PassportFile? selfie,
  9. @JsonKey(name: 'translation') List<PassportFile>? translation,
  10. @JsonKey(name: 'hash') required String hash,
})

Creates a new EncryptedPassportElement object.

Implementation

const factory EncryptedPassportElement({
  /// Type of Telegram Passport element
  @JsonKey(name: 'type') required PassportType type,

  /// Optional. Base64-encoded encrypted Telegram Passport element data
  /// provided by the user, available for “personal_details”, “passport”,
  /// “driver_license”, “identity_card”, “internal_passport” and “address”
  /// types. Can be decrypted and verified using the accompanying
  /// EncryptedCredentials.
  @JsonKey(name: 'data') String? data,

  /// Optional. User's verified phone number, available only for
  /// “phone_number” type
  @JsonKey(name: 'phone_number') String? phoneNumber,

  /// Optional. User's verified email address, available only for “email” type
  @JsonKey(name: 'email') String? email,

  /// Optional. Array of encrypted files with documents provided by the user,
  /// available for “utility_bill”, “bank_statement”, “rental_agreement”,
  /// “passport_registration” and “temporary_registration” types. Files can be
  /// decrypted and verified using the accompanying EncryptedCredentials.
  @JsonKey(name: 'files') List<PassportFile>? files,

  /// Optional. Encrypted file with the front side of the document, provided
  /// by the user. Available for “passport”, “driver_license”, “identity_card”
  /// and “internal_passport”. The file can be decrypted and verified using
  /// the accompanying EncryptedCredentials.
  @JsonKey(name: 'front_side') PassportFile? frontSide,

  /// Optional. Encrypted file with the reverse side of the document, provided
  /// by the user. Available for “driver_license” and “identity_card”. The
  /// file can be decrypted and verified using the accompanying
  /// EncryptedCredentials.
  @JsonKey(name: 'reverse_side') PassportFile? reverseSide,

  /// Optional. Encrypted file with the selfie of the user holding a document,
  /// provided by the user; available for “passport”, “driver_license”,
  /// “identity_card” and “internal_passport”. The file can be decrypted and
  /// verified using the accompanying EncryptedCredentials.
  @JsonKey(name: 'selfie') PassportFile? selfie,

  /// Optional. Array of encrypted files with translated versions of documents
  /// provided by the user. Available if requested for “passport”,
  /// “driver_license”, “identity_card”, “internal_passport”, “utility_bill”,
  /// “bank_statement”, “rental_agreement”, “passport_registration” and
  /// “temporary_registration” types. Files can be decrypted and verified
  /// using the accompanying EncryptedCredentials.
  @JsonKey(name: 'translation') List<PassportFile>? translation,

  /// Base64-encoded element hash for using in PassportElementErrorUnspecified
  @JsonKey(name: 'hash') required String hash,
}) = _EncryptedPassportElement;