Unternehmen erstellen und aktualisieren (v3)

Eine Unternehmensressource stellt in der Cloud Talent Solution API ein einzelnes Unternehmen dar. Jeder Job, der zu diesem Unternehmen gehört, bezieht sich auf eine Jobanzeige, die für eine offene Position in diesem Unternehmen erstellt wurde. Sie enthält Informationen wie den Namen und die Adresse des Unternehmens sowie interne Felder, die die Ressource des Cloud Talent Solution-Dienstes mit Ihren internen Datenbanken verbinden.

Unternehmen erstellen

Senden Sie zum Erstellen einer Firma eine POST-Anforderung an den Endpunkt companies und geben Sie mindestens die beiden erforderlichen Felder an. Informationen zum Erstellen eines Unternehmens finden Sie auf der Seite Schnellstart: Unternehmen und Jobs erstellen.

Java

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


/** 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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.

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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


// 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
}

Pflichtfelder

Die folgenden Felder müssen in Erstellungs-/Aktualisierungsanfragen angegeben werden:

  • displayName: Der Name des Arbeitgebers, der mit dem Job angezeigt wird, z. B. "Google LLC".

  • externalId: Ihre interne ID für dieses Unternehmen. In diesem Feld können Sie dem Unternehmen im Google-System Ihre interne Kennzeichnung zuordnen. Wenn das Unternehmen keine separate interne Kennung hat, setzen Sie dieses Feld auf den gleichen Wert wie displayName.

Häufig verwendete Felder

  • headquartersAddressDie Adresse der Hauptniederlassung des Unternehmens, die sich vom Jobstandort unterscheiden kann. Cloud Talent Solution akzeptiert pro Unternehmen nur einen einzigen Standort für die Hauptniederlassung. Der Dienst versucht, die Adresse zu lokalisieren, und füllt nach Möglichkeit einen genaueren Speicherort in derivedInfo.headquartersLocation auf (der nur ausgegeben wird).

  • size: Ein Bucket-Wert, der die Größe des Unternehmens in Bezug auf die Anzahl der Mitarbeiter von MINI bis GIANT darstellt. Die Aufzählungen und ihre Definitionen finden Sie in der Referenz size.

  • eeoText: Eine Zeichenfolge, die den gesetzlichen Haftungsausschlusstext für Chancengleichheit enthält, der allen Jobs für dieses Unternehmen zugeordnet werden soll.

  • keywordSearchableJobCustomAttributes: Gibt an, welche customAttributes in den Jobs dieses Unternehmens durch die allgemeine Stichwortsuche indiziert und durchsuchbar sein sollen.

Unternehmen aktualisieren

Senden Sie zum Aktualisieren eines Unternehmens eine PATCH-Anfrage an folgenden Endpunkt:

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

Dabei ist COMPANY_NAME der Wert des Felds name für das Unternehmen. name ist die eindeutige Kennung des Unternehmens, die zum Zeitpunkt der Erstellung sowie von company.get - und list -Anforderungen zurückgegeben wird.

Der Text der Anfrage muss die gesamte Ressource enthalten, einschließlich Felder, die nicht aktualisiert werden. Diese Felder können in updateMask gesetzt werden. Wenn Felder in updateMask festgelegt sind, werden nur diese Felder aktualisiert und Aktualisierungen anderer Felder werden ignoriert. Wenn updateMask nicht festgelegt ist, werden alle Felder aktualisiert.

Java

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


/** 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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.

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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


// 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
}

Unternehmen mit updateMask aktualisieren

Java

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


/** 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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.

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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


// 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 Practices

Als vertraulich behandelte Unternehmen

In Fällen, in denen Sie einen vertraulichen Job veröffentlichen möchten, empfehlen wir, ein separates Unternehmen zu erstellen, das die Felder des Unternehmens nachahmt, jedoch die Felder displayName, externalId und andere identifizierende Felder verschleiert.

In Fällen, in denen der Endarbeitgeber anonym sein sollte (z. B. im Anwendungsfall der Personalagentur), empfehlen wir, die Werte externalId und displayName auf zufällige, aber eindeutige Werte festzulegen.