LogoLogo
  • Welcome to Blerify's docs
  • Blerify Overview
    • User Centric Identity
      • Introduction
      • ID Wallet
      • Digital Credentials
      • Point of Verification (POV)
        • How Does a POV Work in Blerify?
      • Verification Process
    • Quantum-Resistant Cryptography
  • Developers
    • API Documentation
      • Access Token Generation
      • Issuing Verifiable Credentials with the Blerify API
      • Issuing ISO mDL with the Blerify API
    • Point of Verification
      • POVs Creation
      • POV Result
      • POVs Creation via API
    • Versions & Releases
      • Web Portal
        • Web Portal Release 1.5
        • Web Portal Release 1.6
        • Web Portal Release 1.7
      • Blerify APP
        • APP Versión 3.19.0 (386)
        • APP Versión: 3.27.0
        • APP Versión: 3.36.1
  • PRODUCTS
    • Vouchers
      • Orchestration
      • Issuer
      • Redeemption
    • Digital Credentials
      • Issue
        • Licenses
          • ISO/IEC 18013-5 Standard
          • Blerify and ISO/IEC 18013-5
          • Blerify Architecture
        • Verifiable Credentials W3C-VC
        • Benefits, discounts, promotions
      • Verify
        • Web Log In
        • In-Person Access
        • Check Out Experience
        • From Another App
    • Post Quantum Certificates
      • Request
      • Revocation
      • Verify
    • Wallet SDK
  • Resources In-Depth
    • DID Method
      • DID Method did:lac1
      • DID Controller
    • Decentralized Root of Trust
      • Blerify’s Smart-Contract-Based Root of Trust
Powered by GitBook
LogoLogo

Blerify.com

  • Blerify.com
On this page
Export as PDF
  1. Developers
  2. Point of Verification

POV Result

PreviousPOVs CreationNextPOVs Creation via API

Last updated 4 months ago

1. QR Code Scanning and Credential Selection

  • Once the QR code is published on a website and scanned by the user using the Blerify Wallet App, the app will search for a credential that meets the requirements defined in the POV.

    • If a matching credential is found:

      • The user will be allowed to select the credential and send its data to the website.

    • If no matching credential is found:

      • The user will not be able to proceed, and the process will stop.

2. Page Update and Credential Data Handling

  • After the user sends the credential data, the webpage displaying the QR code will be updated with the received information.

  • The website can perform various actions based on the credential data, such as:

    • Logging in the user.

    • Registering the user.

    • Validating the user’s access.

    • Using the credential ID to call a procedure and retrieve additional details about the credential, such as the DID (Decentralized Identifier) and any associated benefits (e.g., discounts for e-commerce).

3. Receiving Credential Data via POST

  • The credential data is sent to the website via a POST request when the page is redirected.

  • The following parameters are included in the POST request:

    • POST['subject']: Contains the name of the person (credential subject).

    • POST['id']: Contains the ID of the credential received.

4. Retrieving Credential Details and Benefits

  • Using the credential ID received in the POST request, you can call the following public API endpoint to retrieve detailed information about the credential and its benefits:

    Endpoint:

    https://api.blerify.com/api/v1/wallet/credentials/{$id}/verify

    Replace {$id} with the actual credential ID.

5. Example API Response

The API response will include detailed information about the credential, its issuer, verification status, and any associated benefits. Below is an example of the response structure:

jsonCopy

{
  "verificationRegistry": {
    "registered": true,
    "onHold": false,
    "expired": true,
    "revoked": false,
    "revokedAt": null
  },
  "issuer": {
    "blockchainId": 0,
    "previousBlock": 0,
    "legalName": "",
    "category": 8,
    "legalStatus": 2,
    "country": "AR",
    "contactName": "",
    "contactEmail": "",
    "companyCreatedAt": "",
    "companyRegisteredAt": null,
    "companyAddress": null,
    "companyPhone": null,
    "websiteUrl": null,
    "lei": "",
    "registeredAt": null,
    "chainOfTrustAddress": "",
    "expires": false,
    "expireAt": "",
    "dids": [
      "did:lac1:1iT4zWg7gpM5AKbhCXadsaf343rer5KZCWRRAZmkHcowK6uS"
    ],
    "timeline": [
      {
        "blockNumber": 0,
        "events": [
          {
            "name": "Change of Trust contract changed",
            "cotAddress": "0x350555f0e1a493fdfsde57567b51db8a3f6d",
            "status": false,
            "prevBlock": 1
          },
          {
            "name": "Member Changed",
            "did": "did:lac1:1iT4zWg7gpM5AKrewwL6xSC9KD3vgy8kTHkoD5KZCWRRAZmkHcowK6uS",
            "iat": 1734129647,
            "exp": 0,
            "expires": false,
            "rawData": "ewogICJkaWQiIDogrewrebGVnYWxOYW1lIiA6ICJFZGlmaWNpbyBOZXdlbiIsCiAgImNvbnRhY3ROYW1lIiA6ICJQYWJsbyIsCiAgImNvbnRhY3RFbWFpbCIgOiAiZGVtb3Vuby5ibGVyaWZ5K25ld2VuQGdtYWlsLmNvbSIsCiAgImNhdGVnb3J5IiA6IDgsCiAgImNvdW50cnlDb2RlIiA6ICJBUiIsCiAgImxlZ2FsU3RhdHVzIiA6IDIsCiAgImNyZWF0aW9uRGF0ZSIgOiAxNzM0MTE4ODQzLAogICJjb21wYW55Q3JlYXRlZEF0IiA6IDE3MzQxMTg4NDMsCiAgImxlaSIgOiAiIgp9",
            "currentTimestap": 1734129647,
            "prevBlock": 0
          }
        ]
      }
    ]
  },
  "issuerImage": "",
  "rootOfTrust": {
    "valid": true,
    "id": "did:web:lacchain.id:3DArjNYv1q235YgLrfdsgfdmNncxu7qdXVnXvPx22e3UsX2RgNhHyhvZEw1Gb5C",
    "gId": 1,
    "iat": "1970-01-01T00:00:00",
    "exp": "1970-01-01T00:00:00",
    "isValid": true,
    "trustedBy": null,
    "child": {
      "valid": true,
      "id": "did:lac1:1iT4zWg7gpM5AKbhCXa1d6V1fdfddf3vgy8kTHkoD5KZCWRRAZmkHcowK6uS",
      "gId": 161,
      "iat": "2024-12-13T22:40:49",
      "exp": "2025-12-08T22:40:49",
      "isValid": true,
      "trustedBy": "0x7fc60a3389b42c54360fd6810ed047e8b6d7859"
    }
  },
  "subjectDID": "did:lac1:1iT4aCuLD2km6MtCWZ4w4M534ewfucG55xGurAJJuEd5Tdce1XXvhBFZDnSj9b6W513JFy",
  "credential": "{\n  \"@context\" : [ \"https://www.w3.org/2018/credentials/v1\", \"https://vc.blerify.com/membership/other/MembershipCredential\" ],\n  \"type\" : [ \"VerifiableCredential\", \"MembershipCredential\" ],\n  \"id\" : \"19184f44-3f7d-4935-ab8e-ffa89cb04574\",\n  \"issuer\" : \"did:lac1:1iT4zWg7gpM5AKbhCXa1d6V1ZXnjrwL6xSC9KD3vgy8kTHkoD5KZCWRRAZmkHcowK6uS\",\n  \"issuanceDate\" : \"2025-01-23T20:19:17.204Z\",\n  \"name\" : \"MembershipTest\",\n  \"description\" : \"MembershipTest\",\n  \"credentialSubject\" : {\n    \"type\" : [ \"MembershipCredential\" ],\n    \"id\" : \"did:lac1:1iT4aCuLD2km6MtCWZ4w4MYRT3ucG55xGurAJJuEd5Tdce1XXvhBFZDnSj9b6W513JFy\",\n    \"title\" : \"MembershipTest 23 ene\",\n    \"subjectName\" : \"Martin Carrera\",\n    \"kind\" : \"MembershipTest\"\n  },\n  \"proof\" : [ {\n    \"type\" : \"DataIntegrityProof\",\n    \"cryptosuite\" : \"ecdsa-rdfc-2019\",\n    \"created\" : \"2025-01-23T20:20:10.749806592\",\n    \"verificationMethod\" : \"did:lac1:1iT4zWg7gpM5AKbhCXa1d6V1ZXnjrwL6xSC9KD3vgy8kTHkoD5KZCWRRAZmkHcowK6uS#CaMSshUJANwAS3YcovUvFq8ctadLR3xRQ7s7b3WHDfaf\",\n    \"proofPurpose\" : \"assertionMethod\",\n    \"proofValue\" : \"0x8e6ccc0e5495eb0c991ecda7c6334328c3f7ec142efdbec70e9527ed94ae44d17059e6ea130c5f1632fdcb31761c39baed802759027ad52e40b0e83989f1b6101c\",\n    \"domain\" : \"1PbJk8mnGMtBsnkLT2muesuSMrpKksZJNAZ7jC6G23NpG9LuxPTdSpf8UwmxKyxTXbQ7fKQgFNyTgntT9YWQF8Rotf\"\n  } ]\n}",
  "signatureVerification": true,
  "template": {
    "id": "",
    "name": "",
    "description": "",
    "projectId": "",
    "organizationId": ""
  },
  "pdf": "",
  "thumbnail": "",
  "signers": null,
  "issuance": {
    "protocol": "WALLET",
    "issuedAt": "2025-01-23T20:20:12",
    "transactionHash": "",
    "blockNumber": 36488538
  },
  "revocation": null,
  "benefits": [
    {
      "id": "",
      "type": "",
      "shopName": "",
      "productTitle": "",
      "productDescription": "",
      "discountType": "",
      "discountValue": 0,
      "receivedUnits": 0,
      "paidUnits": 0,
      "recurrenceType": null,
      "recurrence": 0,
      "currency": null,
      "availability": [
        "AR"
      ],
      "settings": {
        "images": {
          "productBigImage": "",
          "shopImage": "",
          "productSmallImage": ""
        }
      },
      "category": "",
      "projectId": "",
      "linkedTemplate": false,
      "organizationName": "",
      "organizationLogo": "",
      "expireAt": null
    },
    {
      "id": "",
      "type": "",
      "shopName": "",
      "productTitle": "",
      "productDescription": "",
      "discountType": "",
      "discountValue": 0.0,
      "receivedUnits": 0,
      "paidUnits": 0,
      "recurrenceType": null,
      "recurrence": 0,
      "currency": null,
      "availability": [
        "AR",
        "PE",
        "MX",
        "BR",
        "US",
        "ES"
      ],
      "settings": {
        "images": {
          "productBigImage": "",
          "shopImage": "",
          "productSmallImage": ""
        }
      },
      "category": "",
      "projectId": "",
      "linkedTemplate": false,
      "organizationName": "",
      "organizationLogo": "
      "expireAt" : null
  } ]
}

ContinueNew chat