API per la gestione collettiva degli utenti

L'API Bulk User Management ti consente di utilizzare i contenuti di un file JSON per creare o modificare più utenti in un'unica operazione.

Non esiste un limite al numero di record che possono essere caricati, ma è consigliabile eseguire le richieste in batch più piccoli.

Questa procedura può essere eseguita anche nel portale CCAI Platform seguendo le istruzioni riportate in Gestione utenti collettiva.

Viene fornita l'applicazione di riferimento dello strumento di sincronizzazione utenti collettiva che esegue la sincronizzazione degli utenti tra una directory come i gruppi Google Workspace o Microsoft Entra ID e CCaaS. Questa applicazione di riferimento utilizza l'API Bulk User Management.

Ruoli e autorizzazioni

  • Utilizza l'API Apps creando un api_user.

  • L'api_user non ha ruoli e autorizzazioni, quindi tutti gli api_users possono eseguire bulk_user management.

  • Non puoi impostare autorizzazioni granulari quando utilizzi api_user, quindi l'api_user avrà accesso a tutti i campi utente.

Aggiungere una credenziale API

  1. Nel portale CCAI Platform, vai a Impostazioni > Impostazioni sviluppatore > Gestione credenziali API.

  2. Fai clic su + Aggiungi credenziale API. Verrà visualizzato un messaggio Aggiungi credenziale API.

  3. Inserisci un nome per la credenziale.

  4. Fai clic su Crea.

Utilizzare l'API Bulk User Management

L'utilizzo dell'API Bulk User Management richiede due chiamate API. Una carica il file JSON e crea il job, l'altra lo elabora. Puoi anche utilizzare chiamate API facoltative per assicurarti che il job venga elaborato correttamente.

  1. (Facoltativo) Recupera il modello JSON. Viene recuperato l'ultimo modello, che include eventuali ruoli o team aggiuntivi creati dopo il recupero del modello precedente. Google consiglia di eseguire questo passaggio.

  2. (Facoltativo) Recupera i dati di configurazione dell'utente. Viene recuperato un elenco di tutti gli utenti (o di un singolo utente, se specifichi un indirizzo email) da duplicare.

  3. Carica il file JSON. Puoi aggiungere o aggiornare uno o più utenti nel file. Assicurati di annotare l'ID job.

  4. Richiedi l'elaborazione del file JSON. Viene avviato il job collettivo.

  5. (Facoltativo) Esegui un controllo dello stato. Fornisci l'ID job per visualizzare lo stato di elaborazione.

  6. (Facoltativo) Recupera un elenco di job aggiornato. Viene recuperato l'elenco di tutti i job di gestione utenti collettiva.

  7. (Facoltativo) Recupera i log degli errori dello schema. Specifica l'ID job per recuperare i log degli errori dello schema.

  8. (Facoltativo) Recupera gli errori. Recupera gli errori.

Caricare il file JSON

Utilizzo

Caricare il file JSON

URL

apps/api/v1/bulk/users/upload

Metodo

POST / PUT

Richiesta

content-type: multipart/form-data

{
  "id" : {job_id} #optional. Required in case of PUT method.
  "file": {json file}
}

Risposta

Intestazione:

Link: http://ujet.co/apps/api/v1/bulk/users_jobs/12345

Corpo

{
  "id": 12345, # job_id
  "status": "created"
  "link": "http://ujet.co/apps/api/v1/bulk/users_jobs/12345"
}

Recuperare il modello JSON

Utilizzo

Modello

URL

apps/api/v1/bulk/users/template

Metodo

GET

Richiesta

(Vuoto)

Risposta

[
{
"email":"user1@yourcompany.co",
"new_email":user1@yourcompany.cx",
"agent_number":"A-001",
"first_name":"John",
"last_name":"aa",
"status":"Active",
"location":"Mexico",
"max_chat_limit":2,
"max_chat_limit_enabled":0,
"roles": [
{"name":"Admin","value": 0 },
{"name":"Manager","value": 1 },
{"name":"Agent","value": 0 },
{"name":Developer","value": 1 }
]
},
 ...
]

Disattivare un utente

Per disattivare un utente, modifica il valore status in Inactive, ad esempio, "status":"Inactive".

Richiedere l'elaborazione del file JSON corrente

Utilizzo

Richiedere l'elaborazione del file JSON corrente

URL

/v1/bulk/users/proceed

Metodo

POST

Richiesta

{
   "id": 12345  # job_id
}

Risposta

Intestazione:

Link: http://ujet.co/apps/api/v1/bulk/users_jobs/12345

Corpo

1{"id": 12345 # job_id3 "status": "valid_scheme",4 "link": "http://ujet.co/apps/api/v1/bulk/users_jobs/12345"5}

Eseguire un controllo dello stato

Utilizzo

Eseguire un controllo dello stato

URL

apps/api/v1/bulk/users/jobs/#{job_id}

Metodo

GET

Richiesta

Variabile di percorso - job_id

Risposta

{
    "id": 12345,
    "created_at": "2022-01-07T06:40:34.000Z",
    "process_requested_at": "2022-01-07T06:45:34.000Z",
    "filename": "100row.json",
    "total_rows": 100,
    "affected_rows": 52,
    "failed_rows": 0,
    "status": "in_progress",
    "uploaded_user_name": null,
    "proceed_user_name": null,
    "uploaded_api_user_name": "api_user_name_1",
    "proceed_api_user_name": "api_user_name_2",
    "scheme_errors": []
    "update_errors": []
}

Recuperare l'elenco dei job aggiornato

Utilizzo

Recuperare l'elenco dei job aggiornato

URL

apps/api/v1/bulk/users/jobs

Metodo

GET

Richiesta

{
  "page": 1,
  "per_page": 20
}

Risposta

Intestazione

Link: <next link>
Total: 12345
Per-Page: 201

Corpo

[
    {
        "id": 12345,
        "created_at": "2022-01-07T06:21:10.000Z",
        "process_requested_at": "2022-01-07T06:22:25.000Z",
        "filename": "100row.json",
        "total_rows": 100,
        "affected_rows": 52,
        "failed_rows": 0,
        "status": "in_progress",
        "uploaded_user_name": null,
        "proceed_user_name": null,
        "uploaded_api_user_name": "api_user_name_1",
        "proceed_api_user_name": "api_user_name_2",
        "scheme_errors": [],
        "update_errors": []
    },
    ...
]

Nota

L'output è ordinato in ordine inverso di job_id, in modo che i dati più recenti vengano visualizzati per primi.

Recuperare i log degli errori dello schema

Utilizzo

Recuperare i log degli errori dello schema

URL

/v1/bulk/users/errors/scheme/#{job_id}

Metodo

GET

Richiesta

Variabile di percorso - job_id

Risposta

content-type: application/json

[
  {
    "message": "Must be a valid email",
    "column": 1,
    "row": null
  },
  {
    "message": "Non-empty string",
    "column": 10,
    "row": 10
  }
]

Recuperare gli errori

Utilizzo

Recuperare i log degli errori di aggiornamento

URL

/v1/bulk/users/errors/update/#{job_id}

Metodo

GET

Richiesta

Variabile di percorso - job_id

Risposta

content-type: application/json

1[2 {3 "message": "Must be a valid email",4 "column": 1,5 "row": null,6 "error_type": "warning"7 },8 {9 "message": "Non-empty string",10 "column": 10,11 "row": 10,12 "error_type": "error"13 } 14]