Skip to content

Transform

POST /transform

Le point d'entrée unique pour la protection, la déprotection, la recherche et toute autre opération définie par votre configuration. Le comportement est sélectionné par le processingContext référencé dans chaque requête. Il n'existe pas de point de terminaison /protect ni /unprotect.

En-têtes :

Authorization: Bearer <token>
Content-Type: application/json

Corps de la requête

json
{
  "loggingContext": {
    "attributes": [
      { "name": "string", "value": "string" }
    ]
  },
  "rightsContexts": [
    {
      "guid": "string",
      "evidences": [
        { "name": "string", "value": "string" }
      ]
    }
  ],
  "processingContexts": [
    {
      "guid": "string",
      "evidences": [
        { "name": "string", "value": "string" }
      ]
    }
  ],
  "requests": [
    {
      "guid": "string",
      "rightsContext": "string",
      "processingContext": "string",
      "instances": [
        {
          "className": "string",
          "propertyName": "string",
          "value": "string"
        }
      ]
    }
  ]
}
ChampRequisDescription
loggingContext.attributesNonPaires nom-valeur facultatives ajoutées au journal d'audit pour cet appel.
rightsContexts[]OuiRights Contexts référencés par requests[].rightsContext. Chacun porte une preuve utilisée pour évaluer l'accès.
rightsContexts[].guidOuiUn GUID que vous choisissez ; référencé depuis requests[]. Peut être fixé par intégration ou généré à chaque appel.
rightsContexts[].evidences[]OuiPaires clé-valeur dont les noms sont définis dans la configuration de votre portail.
processingContexts[]OuiProcessing Contexts référencés par requests[].processingContext. La preuve qu'ils portent sélectionne la Transformer Sequence à exécuter, par exemple Protect ou Unprotect.
requests[]OuiUne ou plusieurs requêtes ; chacune transforme une ou plusieurs instances.
requests[].guidOuiIdentifiant de requête que vous choisissez. Apparaît dans la réponse et dans les journaux d'audit. Utile pour corréler les appels à plusieurs requêtes.
requests[].rightsContextOuiGUID correspondant à l'un des rightsContexts[].guid.
requests[].processingContextOuiGUID correspondant à l'un des processingContexts[].guid.
requests[].instances[]OuiValeurs à transformer. Chaque (className, propertyName) doit correspondre à une Data Instance configurée dans le portail.

WARNING

Les clés et valeurs de preuve sont comparées sans tenir compte de la casse : ainsi Role et role, ou Protect et protect, correspondent au même contexte. Tout le reste doit correspondre exactement : les espaces et la ponctuation comptent, donc une valeur avec un espacement différent ne correspondra pas. Pour la lisibilité, utilisez la même casse que dans le portail.

TIP

Regroupez plusieurs instances[], et plusieurs requests[], dans un seul appel plutôt que d'appeler une fois par champ. Des appels moins nombreux et plus volumineux réduisent les allers-retours et permettent au moteur d'optimiser entre les instances.

Corps de la réponse

json
{
  "responses": [
    {
      "request": "string",
      "instances": [
        {
          "className": "string",
          "propertyName": "string",
          "value": "string"
        },
        {
          "className": "string",
          "propertyName": "string",
          "error": {
            "code": "string",
            "message": "string"
          }
        }
      ]
    }
  ]
}

Chaque entrée de responses[] porte un champ request qui reprend le requests[].guid correspondant, ce qui vous permet de corréler les éléments de réponse avec la requête qui les a produits. Chaque entrée d'instance contient soit une value (la valeur transformée), soit un objet error décrivant pourquoi cette instance précise n'a pas pu être traitée.

Une réponse en succès partiel est possible. La plupart des instances peuvent réussir tandis que quelques-unes signalent une error. Inspectez toujours les deux champs lorsque vous parcourez la réponse. Consultez Erreurs pour des conseils de gestion.

Opérateurs de recherche

Lorsqu'une requête se résout en un Processing Context de recherche, le moteur renvoie un token de recherche que vous comparez à la colonne protégée stockée. Les opérateurs de requête pris en charge dépendent du schéma de protection de la Data Instance :

OpérateurDisponibilité
Égal à, Différent deValeur exacte sur les schémas déterministes ; au sein d'une plage sur les schémas probabilistes
Est vide, N'est pas videComme Égal à
Est supérieur à, Est inférieur àSchémas préservant le format
Est (supérieur/inférieur) ou égal à, Est compris entre, N'est pas compris entreSchémas préservant le format et déterministes
Commence parCorrespond aux 4 premiers caractères de la chaîne de recherche

Logging Context

Ajoutez un tableau loggingContext.attributes[] facultatif pour rattacher des métadonnées contextuelles à l'entrée du journal d'audit de l'appel.

json
"loggingContext": {
  "attributes": [
    { "name": "trace_id", "value": "5ad2c0a1-9c4e-4d52-bd71-6f8b7f81b8e9" },
    { "name": "tenant",   "value": "acme-corp" }
  ]
}

Les valeurs utiles incluent un identifiant de requête ou de trace, le tenant de l'application appelante, l'identifiant de l'utilisateur en amont, ou tout champ personnalisé dont dépendent vos rapports d'audit.