Get Public Card

Public digital business cards can be shared and accessed with customers, business partners, and friends.

Public business cards on Becard form the core functionality. We need to distinguish between public and secured digital business cards. The initial step is always the same, but subsequent actions may vary, as there could be a need for PIN validation. This is indicated in the response after the initial GET Prefetch step.

We protect digital cards, particularly against search engine indexing and external attacks, through dual validation, irrespective of whether they are public or secured digital business cards. In the first step, we search and retrieve the basic data of the desired card.

Occasionally, we receive a 'Secret' and a 'SecretHash,' which contains the signature key for further querying in the second step through the POST request. Upon successful query authentication, contact information and social media channels are provided.

Step 1: Prefetch ground card data and get secret tokens.

As IDENTIFICATION_ID you are able to choose between UUID, USERNAME, PRODUCT- or a QRCODE SERIAL NUMBER to find and prefetch a public digital business card.

GET /v1/public/card/{IDENTIFICATION_ID}/prefetch

Path Parameters

Name
Type
Description

IDENTIFICATION_ID*

string

Headers

Name
Type
Description

Content-Type*

String

application/json

{
    "status": 200,
    "uuid": "As43ydsm1D0VRgN",
    "username": "pablo-martinez",
    "name": "Pablo Matinez",
    "isBusiness": false,
    "organisation": "Zara Moda",
    "position": "Director de marketing",
    "department": null,
    "description": {
        "en": "El creador de la moda."
    },
    "redirection": null,
    "focus": "contact",
    "color": "#a80000",
    "avatar": {
        "uuid": "Ws5A0Z5qH4rjQo2",
        "src": "https://cdn.becard.me/live/avatar/card-1679525723296-As43ydsm1D0VRgN.jpg",
        "mim_type": "image/jpeg",
        "extension": "jpg",
        "size": "6.04 KB"
    },
    "template": "card",
    "settings": {
        "show_login_button": true,
        "show_becard_logo": true,
        "logo_src": "https://cdn.becard.me/live/logo/card-1679525962953-As43ydsm1D0VRgN.png",
        "icon_src": null,
        "header_src": "https://cdn.becard.me/live/cover/card-1679526250056-As43ydsm1D0VRgN.jpg",
        "favicon_src": null,
        "background_src": null,
        "enable_backgrounds": false,
        "show_avatar": true,
        "save_avatar": true,
        "enable_contact_book": false,
        "show_vcf_link": true,
        "enable_qrCode": true,
        "enable_pushNotifications": false,
        "push_notifications": "vbrLeT5riv*****",
        "newsletter": {
            "email": true,
            "name": true,
            "phone": false
        },
        "affiliate": false
    },
    "secure_domain": null,
    "lang": "en",
    "secret": "JDJ5JDEwJERMMDQySmphbVlBZDk*****",
    "secretHash": "ZXhwaXJlcz0xNjk3NzU4M***"
}

Step 1.1: Prefetch if PIN required

If a digital business card requires a PIN, the signature key must be requested. After successful PIN validation, a signature is generated, which is appended as a QUERY parameter to the ENDPOINT in step 1. Therefore, the query is repeated once more with an additional signature.

Please note: The signature is only valid for 10 minutes.

POST /v1/public/card/{UUID}/validate

Path Parameters

Name
Type
Description

UUID*

String

Headers

Name
Type
Description

Accept*

String

application/json

Content-Type*

String

application/json

Request Body

Name
Type
Description

pin*

String

PIN OF CARD

{
    "signature": "expires=1701811422&track=disable&signature=b9d78a09a6204eb14ba37df51e5c13411313a3521a8390c4d1703daaa096d4bc"
}

Step 2: Use your Secret Hash-Tokens to get contact details.

To get query parameter signature and expires you need to decrypt the base64 encoded secretHash of the prefetched card. This tokens valid maximum 5 minutes.

POST /v1/public/card/{UUID}

Path Parameters

Name
Type
Description

UUID*

string

UUID of the prefetched card

Query Parameters

Name
Type
Description

expires*

int

signature*

string

Headers

Name
Type
Description

Content-Type*

String

application/json

Accept*

String

application/json

Request Body

Name
Type
Description

hash*

string

Secret of the prefetched card

{
    "uuid": "As43ydsm1D0VRgN",
    "addresses": [
        {
            "uuid": "Arx77je1LOQZ17u",
            "pos": null,
            "zipcode": "28036",
            "city": "Madrid",
            "address_line1": "Av. Concha Espina 1",
            "address_line2": null,
            "space_address": false,
            "space_default": null,
            "country": {
                "iso2": "ES",
                "name": "Spain",
                "phone_prefix": "+34"
            }
        }
    ],
    "contacts": [
        {
            "type": "phone",
            "name": null,
            "value": "+34-960-130-004"
        },
        {
            "type": "email",
            "name": null,
            "value": "info@youremail.es"
        },
        {
            "type": "website",
            "name": null,
            "value": "https://example.es"
        },
        {
            "type": "mobile",
            "name": null,
            "value": "+43-960-130-005"
        }
    ],
    "social_media": [
        {
            "uuid": "KpwkiHNIDydInXm",
            "pos": null,
            "name": "Facebook",
            "url": null,
            "url_space": null,
            "color": {
                "primary": "#1877F2",
                "secondary": "#FFFFFF"
            },
            "class_icon": null,
            "description": null,
            "settings": null,
            "assets": null,
            "link": "https://facebook.com/zara",
            "username": "zara",
            "target": "https://facebook.com/",
            "template": {
               ..
            }
        },
        ..
    ],
    "hasFiles": 2,
    "videoFrame": {
        "link": "https://www.youtube.com/watch?v=gKCmezkfWbE",
        "autoload": false,
        "video_presence": "button_frame",
        "btn_position": "middle",
        "source": "youtube",
        "source_link": "https://www.youtube.com/embed/gKCmezkfWbE",
        "source_type": "text/html",
        "cover": "https://i.ytimg.com/vi/gKCmezkfWbE/maxresdefault.jpg"
    }
}

Last updated