Membuat dan memperbarui perusahaan (v3)

Resource Perusahaan di Cloud Talent Solution API mewakili satu perusahaan. Setiap lowongan kerja milik perusahaan tersebut merujuk pada postingan lowongan yang dibuat untuk posisi yang tersedia di perusahaan tersebut. Objek ini berisi informasi seperti nama dan alamat perusahaan, serta kolom internal yang mengaitkan resource di layanan Cloud Talent Solution kembali ke database internal Anda.

Membuat perusahaan

Untuk membuat Perusahaan, kirim permintaan POST ke endpoint companies, dengan menentukan setidaknya dua kolom wajib diisi. Lihat halaman Panduan memulai: Membuat perusahaan dan lowongan untuk mengetahui detail cara membuat perusahaan.

Java

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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
}

Kolom wajib diisi

Kolom berikut wajib diisi dalam permintaan pembuatan/pembaruan:

  • displayName: Nama perusahaan yang ditampilkan dengan lowongan, misalnya, "Google LLC".

  • externalId: ID internal Anda untuk perusahaan ini. Dengan kolom ini, Anda dapat memetakan ID internal ke perusahaan di sistem Google. Jika perusahaan tidak memiliki ID internal terpisah, tetapkan kolom ini ke nilai yang sama dengan displayName.

Kolom yang biasa digunakan

  • headquartersAddress: Alamat jalan kantor pusat utama perusahaan, yang mungkin berbeda dengan lokasi pekerjaan. Cloud Talent Solution hanya menerima satu lokasi kantor pusat per perusahaan. Layanan ini mencoba melakukan geolokasi alamat, dan mengisi lokasi yang lebih spesifik jika memungkinkan di derivedInfo.headquartersLocation (yang hanya berupa output).

  • size: Nilai bucket yang merepresentasikan ukuran perusahaan dalam hal jumlah karyawan, dari MINI hingga GIANT. Lihat referensi size untuk mengetahui enum dan definisinya.

  • eeoText: String yang berisi teks pernyataan penyangkalan hukum Peluang Kerja yang Setara yang akan dikaitkan dengan semua lowongan kerja untuk perusahaan ini.

  • keywordSearchableJobCustomAttributes: Menentukan customAttributes mana di pekerjaan perusahaan ini yang harus diindeks dan dapat ditelusuri dengan penelusuran kata kunci umum.

Memperbarui perusahaan

Untuk memperbarui perusahaan, kirim permintaan PATCH ke endpoint berikut:

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

Dengan COMPANY_NAME adalah nilai kolom name untuk perusahaan. name adalah ID unik perusahaan yang ditampilkan pada saat pembuatan dan juga oleh permintaan company.get dan list.

Isi permintaan harus berisi seluruh resource, termasuk kolom yang tidak diupdate. Kolom ini dapat ditetapkan di updateMask. Jika kolom ditetapkan di updateMask, hanya kolom tersebut yang diperbarui, dan pembaruan pada kolom lain diabaikan. Jika updateMask tidak disetel, semua kolom akan diperbarui.

Java

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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
}

Perbarui Perusahaan dengan updateMask

Java

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien 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
}

Praktik terbaik

Perusahaan rahasia

Jika Anda ingin memposting lowongan kerja rahasia, sebaiknya buat perusahaan terpisah yang meniru kolom perusahaan, tetapi meng-obfuscate displayName, externalId, dan kolom identifikasi lainnya.

Dalam kasus ketika pemberi kerja akhir harus anonim (misalnya, kasus penggunaan Agensi Staf), sebaiknya tetapkan externalId dan displayName ke nilai acak tetapi unik.