Documentation
SDK client
Créer un lien public

Créer un lien public

La méthode secrecyClient.cloud.createPublicDataLink crée un lien public pointant vers une donnée déjà envoyée dans le cloud. Elle prend le dataId de cette donnée, un name — le libellé affiché au destinataire — et une date expireAt, obligatoire mais nullable : passez null pour un lien qui n'expire jamais. Un slug optionnel permet de choisir la partie publique de l'URL plutôt que de la laisser générer par le serveur.

share.ts
const createPublicLink = async ({
  dataId,
  name,
  expireAt,
  slug,
}: {
  dataId: string;
  name: string;
  expireAt: Date | null;
  slug?: string;
}) => {
  // First we need to check if the secrecyClient is available
  if (!secrecyClient) {
    return null;
  }
 
  try {
    const link = await secrecyClient.cloud.createPublicDataLink({
      dataId,
      name,
      // null for a link that never expires
      expireAt,
      // optional, the server generates one when omitted
      slug,
    });
 
    return link;
  } catch (error) {
    console.error(error);
    return null;
  }
};

La méthode renvoie le lien créé : { id, name, slug, expireAt, dataId, createdByUserId, createdByOrgId, createdByAppId }. L'id est ce que prennent les autres méthodes pour lire, modifier ou révoquer le lien ; le slug est ce dont le destinataire a besoin.

Expiration

Une date expireAt passée est rejetée avant tout envoi de requête : la méthode lève Unable to create public link using a past expireAt date!. La date peut être modifiée ensuite avec secrecyClient.cloud.updatePublicDataLink ; faire expirer un lien est donc l'alternative réversible à sa révocation.

La donnée doit exister avant la création du lien — voir démarrer avec les transferts pour l'étape d'envoi qui produit le dataId.