# Email Certification

## EMAIL CERTIFICATION

```
emailCertification(domain, title, uuid, data, signerPubKey)
```

Call this function with the correct arguments in the correct order where:\
\
**domain:** \
is a String and represent the domain name of the host used to send the message and it should be 64 bytes (characters) max. This will be used as followed: uuid+domain = the message ID

{% hint style="info" %}
Example when sent from sign-web.app\
\&#xNAN;*@certify.sign-web.app*
{% endhint %}

**title:** \
is a string and represents the reference of the file, this is limited to 64 bytes (characters) max. \
\
**uuid:** \
is a String and represents a unique identifiant for your certification, this has to be generated by a uuid library, SIGN webapp is using the [uuid library](https://github.com/uuidjs/uuid#readme), if the uuid is already used by another record on the dApp's storage you will receive the "This uuid already exist" error, this is to avoid collision.\
\
**data:** \
is a String and represents the data of your certification grouped in a JSON structure, this is organised as you want to ease the gathering of data to a single call:

{% hint style="info" %}
Example in sign-web.app\
\&#xNAN;*{*\
&#x20;  *messageid: index+"@certify.sign-web.app",* \
&#x20;  *timestamp: timestamp,* \
&#x20;  *reference: reference* \
*}*
{% endhint %}

**signerPubKey:** \
is a String that represents the public key of an account signing the invocation calling this method.

{% hint style="info" %}
To get the public key using waves signer in your webapp you simply need to get it with:\
\&#xNAN;*document.signer.\_userData.publicKey*
{% endhint %}
