Membuat dan memperbarui perusahaan (v3)

Resource Perusahaan di Cloud Talent Solution API mewakili satu perusahaan. Pekerjaan apa pun yang dimiliki perusahaan tersebut mengacu pada postingan lowongan yang dibuat untuk posisi yang terbuka di perusahaan tersebut. Resource ini berisi informasi seperti nama dan alamat perusahaan, serta kolom internal yang mengaitkan resource di layanan Cloud Talent Solution ke database internal Anda.

Buat 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 detail tentang cara membuat perusahaan.

Java

Untuk mengetahui informasi selengkapnya 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 selengkapnya 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 selengkapnya 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. Bidang ini memungkinkan Anda untuk memetakan ID internal ke perusahaan di sistem Google. Jika perusahaan tidak memiliki ID internal yang terpisah, tetapkan kolom ini ke nilai yang sama dengan displayName.

Kolom yang biasa digunakan

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

  • size: Nilai bucket yang mewakili 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 Equal Employment Opportunity yang akan dikaitkan dengan semua lowongan untuk perusahaan ini.

  • keywordSearchableJobCustomAttributes: Menentukan customAttributes mana pada lowongan perusahaan ini yang harus diindeks dan ditelusuri dengan penelusuran kata kunci umum.

Memperbarui perusahaan

Untuk mengupdate 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 serta 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 lainnya akan diabaikan. Jika updateMask tidak ditetapkan, semua kolom akan diperbarui.

Java

Untuk mengetahui informasi selengkapnya 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 selengkapnya 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 selengkapnya 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
}

Update Perusahaan dengan updateMask

Java

Untuk mengetahui informasi selengkapnya 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 selengkapnya 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 selengkapnya 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 tugas rahasia, sebaiknya buat perusahaan terpisah yang meniru kolom perusahaan, tetapi obfuscate displayName, externalId, dan kolom identitas lainnya.

Jika perusahaan akhir harus anonim (misalnya, kasus penggunaan Agensi Kepegawaian), sebaiknya tetapkan externalId dan displayName ke nilai acak yang unik.