Come un agente usa Anonify

Segui questi passi in quest’ordine. Questa è l’API agent su https://app.anonify.nl. Anche una persona può leggere questa pagina.

  1. 1. Chiedi se esiste già un account

    Chiedi alla persona se ha già un account Anonify.

    Se sì, non chiamare signup. Salta il passo del nuovo account e usa il passo dell’account esistente.

  2. 2. Nuovo account

    Se non ha un account, POST https://app.anonify.nl/api/v1/auth/signup con il JSON sotto. Ometti password. Non aggiungere un campo password.

    username contiene solo lettere e numeri. Il server lo salva in minuscolo. Non si può cambiare.

    La risposta include token, user e userKey. userKey è la chiave API. Inizia con ank_.

    L’account riceve un’azienda chiamata My company e un workspace chiamato My workspace.

    La prima volta che la persona apre l’app, l’app chiede di impostare una password.

    Se signup dice che l’email esiste già, fermati. Il messaggio del server è "Username or Email already exists!". Non registrarti di nuovo. Chiedi una chiave e usa il passo dell’account esistente.

    POST https://app.anonify.nl/api/v1/auth/signup
    Content-Type: application/json
    
    {
      "username": "lettersandnumbers",
      "email": "person@example.com",
      "isManager": true,
      "firstName": "",
      "lastName": ""
    }
  3. 3. Account esistente

    Non chiamare signup.

    La persona accede su https://app.anonify.nl/login e crea una chiave su https://app.anonify.nl/profile, poi incolla quella chiave a te.

    La chiave inizia con ank_. Una chiave è attiva. Una chiave nuova sostituisce quella vecchia.

    Un 401 significa che la chiave è errata o revocata. Chiedi una chiave nuova. Non registrarti di nuovo.

  4. 4. Invia la chiave

    Invia la chiave in ogni richiesta sotto come Authorization: Bearer ank_...

    Usa userKey da signup, oppure la chiave incollata dalla persona. Non inviare il token di signup in questo header.

    Authorization: Bearer ank_...
  5. 5. Leggi i workspace

    GET https://app.anonify.nl/api/v1/agent-actions/workspaces. La risposta sono i workspace a cui questa chiave può accedere.

    Un workspace è quello predefinito. Se la risposta contiene un workspace, ometti workspaceId nel caricamento.

    Se la risposta contiene più di un workspace, il caricamento deve includere quell’id di workspace come workspaceId. Chiedi alla persona quale id usare.

    Non puoi creare un workspace.

    GET https://app.anonify.nl/api/v1/agent-actions/workspaces
    Authorization: Bearer ank_...
  6. 6. Carica il file

    POST https://app.anonify.nl/api/v1/agent-actions/uploads come multipart form data.

    Invia il campo file. Sono accettati PDF, PNG e JPEG.

    Invia workspaceId solo se questa chiave può accedere a più di un workspace.

    La risposta è taskId e status.

    Dopo questa risposta, dai alla persona il link dell’editor nell’ultimo passo. Non aspettare la fine dell’elaborazione.

    POST https://app.anonify.nl/api/v1/agent-actions/uploads
    Authorization: Bearer ank_...
    Content-Type: multipart/form-data
    
    file: <PDF, PNG, or JPEG>
    workspaceId: <only when this key can access more than one workspace>
  7. 7. Leggi il job

    GET https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/job. Sostituisci {taskId} con il taskId della risposta di caricamento.

    La risposta include status, pageCount e gli elementi rilevati.

    Ogni elemento ha id, page, text e redact. Un elemento a volte ha anche tag.

    GET https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/job
    Authorization: Bearer ank_...
  8. 8. Accetta o rifiuta gli elementi

    POST https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/redactions con gli array JSON accept e reject di id degli elementi.

    Invia entrambi gli array. Serve almeno un id, in uno dei due array. L’altro array può essere vuoto.

    Questo aggiorna quegli elementi e genera il file.

    POST https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/redactions
    Authorization: Bearer ank_...
    Content-Type: application/json
    
    {
      "accept": ["<item id>"],
      "reject": []
    }
  9. 9. Scarica il PDF

    GET https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/file.

    Quando la generazione riesce, la risposta è il PDF.

    Prima di allora, la risposta è JSON con status. Non è un file vuoto. Non salvare quel JSON come PDF.

    GET https://app.anonify.nl/api/v1/agent-actions/tasks/{taskId}/file
    Authorization: Bearer ank_...
  10. 10. Leggi il limite di pagine

    GET https://app.anonify.nl/api/v1/agent-actions/limits. La risposta include pagesLeft.

    Non avviare un checkout. Non pagare.

    GET https://app.anonify.nl/api/v1/agent-actions/limits
    Authorization: Bearer ank_...
  11. 11. Dai l’editor alla persona

    Dopo il caricamento, dai alla persona https://app.anonify.nl/edit/{taskId}. Sostituisci {taskId} con il taskId della risposta di caricamento.

    Per accedere in quel browser, aggiungi un hash con token e user della risposta di signup. user è il JSON base64url dell’oggetto user.

    Costruisci l’hash con URLSearchParams. I nomi dei parametri sono token e user. base64url significa JSON UTF-8, poi base64, poi sostituisci + con -, / con _, e togli il padding =.

    L’editor resta chiuso e mostra la barra di avanzamento del caricamento mentre il documento viene elaborato. Poi si carica da solo.

    Hai token e user solo da signup. Per un account esistente, dai https://app.anonify.nl/edit/{taskId} senza hash. La persona accede con il proprio login.

    Non chiamare le route React /media o /tasks.

    https://app.anonify.nl/edit/{taskId}#token=<signup token>&user=<base64url JSON of user>

Non fare questo

  • Non elencare i documenti di un workspace.
  • Non pagare e non avviare un checkout.
  • Non invitare nessuno.
  • Non eliminare nulla.
  • Non rinominare l’azienda.
  • Non creare un workspace.
  • Non chiamare le route React /media o /tasks.
  • Non chiamare signup se la persona ha già un account, se signup dice che l’email esiste già, o se una richiesta restituisce 401.
Chat with us on WhatsApp