Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ProofSpace provides the following integration points:

Called by ProofSpace:

  1. Action Interaction Webhook

  2. Credential Check Webhook

...

Webhook calls are performed as HTTPS Post requests, where input and output are json encoded values.

Authentication Schemas

We support two authentication schema:

  1. Request Signature
    Each call should have an additional X-Body-Signature header with the value of the third-party’s sha3-256 signature in base64 encoding. ProofSpace and third-parties should exchange public keys before integration.

  2. Bearer Token
    Each call should have an Authorization header with the value Bearer {token}, where the token is a base64 representation of the JsonWebToken as defined in RFC 7519.

...

Repository https://github.com/zakaio/docs-and-examples contains examples.

Description of calls

Interaction Webhook

An interaction webhook can be called while the user performs an interaction.

...

Note: if third-party systems want to deny or postpone the issuing of a credential back to a user, then it should return credentials with empty fields and the revoked flag set to true.

Credential Check Webhook

Can be configured to perform validation of credentials behind ProofSpace (such as checking that the hash is present in the blockchain or checking the root authority of the certificate).

...

  • ok: boolean; // true if check was successful, false otherwise.

  • errorMessage?: string // optional error message if check was unsuccessful

  • extra: // optional extra information which contains

    • schemaId?: string; // optional schemaId of returned fields. If present - info should contain fields from this schema, otherwise info contains fields in any form.

    • info: { name: string, value: string }[]; //values

    • format: string; // optional format description for values, encoded in info. should be ‘plain’ or ‘json’.

Credential Issue Webhook

Credential issued webhook is called by the third-party to ProofSpace server via URL:

...

  • ok: boolean // if credential setting was successful

  • error?: // optional block which contains message

    • message: string;

Retrieving Service Public Key webhook

This functionality by the third-party to ProofSpace server via URL:

...

<!-- Footnotes themselves at the bottom. -->

Notes

[^1]:

Code Block
 A “service” is an instance of the ProofSpace Dashboard. ProofSpace charges a subscription fee per service and all interactions for a service will be created and monitored in the Dashboard for that service.