Membuat dan memperbarui perusahaan (v3)

Resource Perusahaan di Cloud Talent Solution API mewakili satu perusahaan. Setiap lowongan yang dimiliki perusahaan tersebut mengacu pada postingan lowongan yang dibuat untuk posisi yang terbuka di perusahaan tersebut. File 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 yang diperlukan. Lihat halaman Panduan memulai: Membuat perusahaan dan lowongan untuk mengetahui detail tentang 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 diperlukan dalam permintaan pembuatan/pembaruan:

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

  • externalId: ID internal Anda untuk perusahaan ini. Kolom ini memungkinkan Anda 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 lowongan. 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 mewakili ukuran perusahaan dalam hal jumlah karyawan, dari MINI hingga GIANT. Lihat referensi size untuk enum dan definisinya.

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

  • keywordSearchableJobCustomAttributes: Menentukan customAttributes mana pada lowongan perusahaan ini yang harus diindeks dan dapat ditelusuri oleh 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 waktu pembuatan dan juga oleh permintaan company.get dan list.

Isi permintaan harus berisi seluruh resource, termasuk kolom yang tidak diperbarui. Kolom ini dapat ditetapkan di updateMask. Jika kolom ditetapkan di updateMask, hanya kolom tersebut yang akan diperbarui, dan pembaruan pada kolom lain akan diabaikan. Jika updateMask tidak ditetapkan, 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
}

Memperbarui 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 rahasia, sebaiknya buat perusahaan terpisah yang meniru kolom perusahaan, tetapi mengaburkan displayName, externalId, dan kolom identitas lainnya.

Jika pemberi kerja akhir harus anonim (misalnya, kasus penggunaan Agensi Penempatan Tenaga Kerja), sebaiknya tetapkan externalId dan displayName ke nilai acak, tetapi unik.