Creare e aggiornare le aziende (v3)

Una risorsa Azienda nell'API Cloud Talent Solution rappresenta una singola azienda. Qualsiasi lavoro appartenente a quell'azienda fa riferimento a un annuncio di lavoro creato per una posizione aperta in quell'azienda. Contiene informazioni come il nome e l'indirizzo dell'azienda, nonché campi interni che collegano la risorsa nel servizio Cloud Talent Solution ai tuoi database interni.

Creare un'azienda

Per creare una società, invia una richiesta POST all'endpoint companies, specificando almeno i due campi obbligatori. Per informazioni dettagliate su come creare un'azienda, consulta la pagina Guida rapida: crea aziende e offerte di lavoro.

Java

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


/** Create a company. */
public static Company createCompany(Company companyToBeCreated) throws IOException {
  try {
    CreateCompanyRequest createCompanyRequest =
        new CreateCompanyRequest().setCompany(companyToBeCreated);
    Company companyCreated =
        talentSolutionClient
            .projects()
            .companies()
            .create(DEFAULT_PROJECT_ID, createCompanyRequest)
            .execute();
    System.out.println("Company created: " + companyCreated);
    return companyCreated;
  } catch (IOException e) {
    System.out.println("Got exception while creating company");
    throw e;
  }
}

Python

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.

def create_company(client_service, company_to_be_created):
    try:
        request = {"company": company_to_be_created}
        company_created = (
            client_service.projects()
            .companies()
            .create(parent=parent, body=request)
            .execute()
        )
        print("Company created: %s" % company_created)
        return company_created
    except Error as e:
        print("Got exception while creating company")
        raise e

Go

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


// createCompany creates a company as given.
func createCompany(w io.Writer, projectID string, companyToCreate *talent.Company) (*talent.Company, error) {
	ctx := context.Background()

	client, err := google.DefaultClient(ctx, talent.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %w", err)
	}
	// Create the jobs service client.
	service, err := talent.New(client)
	if err != nil {
		return nil, fmt.Errorf("talent.New: %w", err)
	}

	parent := "projects/" + projectID
	req := &talent.CreateCompanyRequest{
		Company: companyToCreate,
	}
	company, err := service.Projects.Companies.Create(parent, req).Do()
	if err != nil {
		return nil, fmt.Errorf("failed to create company %q: %w", companyToCreate.DisplayName, err)
	}

	return company, nil
}

Campi obbligatori

I seguenti campi sono obbligatori nelle richieste di creazione/aggiornamento:

  • displayName: il nome del datore di lavoro visualizzato con la posizione, ad esempio "Google LLC".

  • externalId: Il tuo ID interno per questa azienda. Questo campo ti consente di mappare gli identificatori interni all'azienda nel sistema di Google. Se l'azienda non ha un identificativo interno distinto, imposta questo campo sul valore displayName.

Campi di uso comune

  • headquartersAddress: l'indirizzo della sede principale dell'azienda, che può essere diversa dalla sede di lavoro. Cloud Talent Solution accetta una sola sede centrale per società. Il servizio tenta di geolocalizzare l'indirizzo e, se possibile, compila una località più specifica in derivedInfo.headquartersLocation (che è solo di output).

  • size: un valore del bucket che rappresenta le dimensioni dell'azienda in termini di numero di dipendenti, da MINI a GIANT. Consulta la documentazione di riferimento di size per gli enum e le relative definizioni.

  • eeoText: una stringa contenente il testo del disclaimer legale relativo alle pari opportunità lavorative da associare a tutti i lavori per questa azienda.

  • keywordSearchableJobCustomAttributes: specifica quale customAttributes per le offerte di lavoro di questa azienda deve essere indicizzato e disponibile per la ricerca tramite parole chiave generali.

Aggiornare una società

Per aggiornare un'azienda, invia una richiesta PATCH al seguente endpoint:

 PATCH https://jobs.googleapis.com/v3/COMPANY_NAME 

dove COMPANY_NAME è il valore del campo name per l'azienda. name è l'identificatore univoco dell'azienda che viene fornito al momento della creazione e anche dalle richieste company.get e list.

Il corpo della richiesta deve contenere l'intera risorsa, inclusi i campi non aggiornati. Questi campi possono essere impostati in updateMask. Se i campi sono impostati in updateMask, vengono aggiornati solo questi campi e gli aggiornamenti di altri campi vengono ignorati. Se updateMask non è impostato, vengono aggiornati tutti i campi.

Java

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


/** Updates a company. */
public static Company updateCompany(String companyName, Company companyToBeUpdated)
    throws IOException {
  try {
    UpdateCompanyRequest updateCompanyRequest =
        new UpdateCompanyRequest().setCompany(companyToBeUpdated);

    Company companyUpdated =
        talentSolutionClient
            .projects()
            .companies()
            .patch(companyName, updateCompanyRequest)
            .execute();

    System.out.println("Company updated: " + companyUpdated);
    return companyUpdated;
  } catch (IOException e) {
    System.out.println("Got exception while updating company");
    throw e;
  }
}

Python

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.

def update_company(client_service, company_name, company_to_be_updated):
    try:
        request = {"company": company_to_be_updated}
        company_updated = (
            client_service.projects()
            .companies()
            .patch(name=company_name, body=request)
            .execute()
        )
        print("Company updated: %s" % company_updated)
        return company_updated
    except Error as e:
        print("Got exception while updating company")
        raise e

Go

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


// updateCompany update a company with all fields.
func updateCompany(w io.Writer, name string, companyToUpdate *talent.Company) (*talent.Company, error) {
	ctx := context.Background()

	client, err := google.DefaultClient(ctx, talent.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %w", err)
	}
	// Create the jobs service client.
	service, err := talent.New(client)
	if err != nil {
		return nil, fmt.Errorf("talent.New: %w", err)
	}

	updateCompanyRequest := &talent.UpdateCompanyRequest{
		Company: companyToUpdate,
	}
	company, err := service.Projects.Companies.Patch(name, updateCompanyRequest).Do()
	if err != nil {
		return nil, fmt.Errorf("failed to update company %q: %w", name, err)
	}

	return company, nil
}

Aggiornare la società con updateMask

Java

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


/** Updates a company. */
public static Company updateCompanyWithFieldMask(
    String companyName, String fieldMask, Company companyToBeUpdated) throws IOException {
  try {
    // String foo = String.format("?updateCompanyFields=%s",fieldMask);
    UpdateCompanyRequest updateCompanyRequest =
        new UpdateCompanyRequest().setUpdateMask(fieldMask).setCompany(companyToBeUpdated);

    Company companyUpdated =
        talentSolutionClient
            .projects()
            .companies()
            .patch(companyName, updateCompanyRequest)
            .execute();

    System.out.println("Company updated: " + companyUpdated);
    return companyUpdated;
  } catch (IOException e) {
    System.out.println("Got exception while updating company");
    throw e;
  }
}

Python

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.

def update_company_with_field_mask(
    client_service, company_name, company_to_be_updated, field_mask
):
    try:
        request = {"company": company_to_be_updated, "update_mask": field_mask}
        company_updated = (
            client_service.projects()
            .companies()
            .patch(name=company_name, body=request)
            .execute()
        )
        print("Company updated: %s" % company_updated)
        return company_updated
    except Error as e:
        print("Got exception while updating company with field mask")
        raise e

Go

Per saperne di più sull'installazione e sulla creazione di un client Cloud Talent Solution, consulta Librerie client di Cloud Talent Solution.


// updateCompanyWithMask updates a company with specific fields.
// mask is a comma separated list of top-level fields of talent.Company.
func updateCompanyWithMask(w io.Writer, name string, mask string, companyToUpdate *talent.Company) (*talent.Company, error) {
	ctx := context.Background()

	client, err := google.DefaultClient(ctx, talent.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %w", err)
	}
	// Create the jobs service client.
	service, err := talent.New(client)
	if err != nil {
		return nil, fmt.Errorf("talent.New: %w", err)
	}

	req := &talent.UpdateCompanyRequest{
		Company:    companyToUpdate,
		UpdateMask: mask,
	}
	company, err := service.Projects.Companies.Patch(name, req).Do()
	if err != nil {
		return nil, fmt.Errorf("failed to update company %q with mask %q: %w", name, mask, err)
	}

	return company, nil
}

Best practice

Società riservate

Se vuoi pubblicare un'offerta di lavoro confidenziale, ti consigliamo di creare un'azienda separata che simuli i campi dell'azienda, ma offuschi displayName, externalId e tutti gli altri campi di identificazione.

Nei casi in cui il datore di lavoro finale debba essere anonimo (ad esempio, il caso d'uso dell'agenzia di reclutamento), consigliamo di impostare externalId e displayName su valori casuali, ma univoci.