NAVNAVBAR

Introduction

188bet安卓APP温室integrates with many candidate testing platforms, including code testing, video interviewing, personality testing, and more. We’ve created the Assessment Partner API to allow our customers to seemlessly integrate our Partners’ assessments into their Greenhouse interview workflow. This document outlines the end-user experience with the integration and the technical details of how to implement it.

Working with Greenhouse to implement the integration

To begin the integration process, please send the following information to us at partners@greenhouse.io:

  1. URL for yourlist_testsAPI电话
  2. URL for yoursend_testAPI电话
  3. URL for yourtest_statusAPI电话
  4. A sample API key

这Partnerships team will configure endpoint URLs for creating assessment stages and provide next steps on receiving access to a Sandbox account to test the integration. If you are building an integration for use by mutual customers, we will need documentation on the integration for the Greenhouse Help Center.

工作流程

评估合作伙伴将为客户提供组织级API密钥。该组织将向其温室客户经理提供此API密钥,后者将其输入我们的系统。188bet安卓APP

Selecting the Test

温室进入该188bet安卓APP组织的API密钥后,将可以使用一个新的合作伙伴面试阶段。用户可以将此阶段添加到任何可以访问新评估合作伙伴阶段的工作的招聘计划。188bet安卓APP然后,温室将对列表测试端点to determine what tests the organization has configured.

Add Stage Image

Sending the Test

When a candidate reaches this Interview Stage, the user will click the “Send Test” button to send the test to the candidate via the发送测试端点。188bet安卓APP温室will send the Test ID and candidate email to the Assessment Partner, who will email the test to the candidate. The Assessment Partner will then send Greenhouse the ID for this unique test instance.

Add Stage Image

Receiving the Test Results

188bet安卓APP温室will periodically poll the测试状态端点检索候选人的测试状态和结果。候选人完成测试后,Greenhouse将通知适当的用户测试已完成。188bet安卓APP用户将能够查看候选人的分数,导航到合作伙伴站点以查看更多详细信息,并在Greenhouse内做出预先或拒绝决定。188bet安卓APP用户还将能够通过得分并提高或拒绝批量候选人来过滤候选人。

另外,Greenhouse的评188bet安卓APP估API现在包括通过The Completed Note的测试通知温室的能力PATCH - Mark Test as Completed端点to avoid long polling!

Authentication

Greenhouse发送给评188bet安卓APP估合作伙伴API的每个请求都将通过HTTPS利用HTTP基本身份验证。因此,我们要求每个API端点使用HTTPS。

When an organization decides to utilize a Assessment Partner’s integration, they will provide their Greenhouse Account Manager with their API key for that Assessment Partner.

188bet安卓APP温室will then make all requests for the organization using that API key as the username in Basic Authentication. Greenhouse will append a : (colon) to the API token and then Base64 encode the resulting string.

Upon receiving a request, the Assessment Partner should inspect the API key to determine whether the request should be permitted and which data should be returned.

Example Situation

一般考虑

Unless otherwise specified, API methods generally conform to the following:

Assessment API Change Log

这timestamps below are Eastern Time.

Date Description
2019年8月21日下午2:00:00 Added Change Log and General Consideration sections to the Assessment API documentation
2019年8月21日下午2:00:00 AddedPATCH - Mark Test as Completed端点

List Tests

188bet安卓APP温室will first need to retrieve the list of tests from the Assessment Partner using thelist_testsAPI端点。我们将向用户展示可用测试的列表,他们将为给定的候选人选择适当的测试。

获取https://www.testing-partner.com/api/list_tests

卷曲'https://www.testing-partner.com/api/list_tests'-H“授权:基本MGQWMZFKODIYN2VHZME2MWRJMZC1YTZJMMUWNJDLMJQ6”

Request

188bet安卓APP温室will make a GET request to thelist_tests评估合作伙伴指定的端点。

Response

API Response

[[{“合作伙伴_test_id”"12345",,,,"partner_test_name"“我的第一个测试”},,,,{“合作伙伴_test_id”"54321",,,,"partner_test_name""My Second Test"}这是给予的

这Assessment Partner’s response should include a JSON payload containing a list of test objects for the organization. Each test object should contain the keyspartner_test_idandpartner_test_name。

属性名称 Type Required Description
partner_test_id 细绳 是的 确定组织可用的测试。
partner_test_name 细绳 是的 测试的描述性标题。我们将使用此值UI作为测试标签。

Send Test

When a Greenhouse user sends a test to a candidate, Greenhouse will send a request to the Assessment Partner’ssend_testAPI端点。这Assessment Partner will then email the specified candidate the specified test.

Request

卷曲-X POST'https://www.testing-partner.com/api/send_test'-H“授权:基本MGQWMZFKODIYN2VHZME2MWRJMZC1YTZJMMUWNJDLMJQ6”
{“合作伙伴_test_id”"12345",,,,"candidate"{"first_name"“哈利”,,,,"last_name"“波特”,,,,"resume_url"“ https://hogwarts.com/resume”,,,,“电话号码”"123-456-7890",,,,"email"“ hpotter@hogwarts.edu”,,,,“188bet安卓APP greenhouse_profile_url”“ https://app188bet安卓APP.greenhouse.io/people/17681532?application_id = 26234709”},,,,"url""https://app.greenhouse.io/integrations/testing_partners/take_home_tests/12345"}

188bet安卓APP温室will initiate the process by sending a POST request to thesend_test评估合作伙伴指定的端点。这body of the POST request will contain a JSON payload.

属性名称 Type Required Description
partner_test_id 细绳 是的 确定组织可用的测试。最初作为对List Tests request
first_name 细绳 是的 这first name of the candidate.
last_name 细绳 是的 这last name of the candidate.
简历_url 细绳 No 候选人简历的URL。该网址将在请求后30天到期。
电话号码 细绳 No 候选人的电话号码。
电子邮件 细绳 是的 候选人的电子邮件地址。测试应发送到此地址。
188bet安卓APPGreenhouse_profile_url 细绳 是的 URL to the candidate’s Greenhouse application. Allows the partner to link back to Greenhouse.
url 细绳 是的 URL to which to send thePATCH Completed Testrequest, if using

Response

这API Response

{"partner_interview_id""98765"}

这response to thesend_testrequest should contain a JSON payload in its body. This payload should be a single object that contains a single key:partner_interview_id

属性名称 Type Required Description
partner_interview_id 细绳 是的 Identifies a candidate’s test.

PATCH - Mark Test as Completed

当候选人完成一个测试,把这request to the URL sent in the initial Send Test request to signal Greenhouse that the test has been completed. Upon this, Greenhouse will send a request to your Test Status endpoint.

PATCH https://app.greenhouse.io/integrations/testing_partners/take_home_tests/12345

Request

卷曲-x补丁'https://app.greenhouse.io/integrations/testing_partners/take_home_tests/12345'-H“授权:基本MGQWMZFKODIYN2VHZME2MWRJMZC1YTZJMMUWNJDLMJQ6”

此请求无需参数。

Response

这response will return only the HTTP status code.

向温室发送更新188bet安卓APP

If you have implemented the polling option:

After a successfulsend_testrequest, Greenhouse will check whether the test instance has been completed by polling thetest_status端点hourly. We will discontinue polling thetest_status端点after we receive apartner_statusofcomplete,,,,or after 8 weeks has passed since the test was sent.

如果您已经实现了补丁完成的测试选项:

After a successfulsend_testrequest, you can alert Greenhouse to updates of the test’s status by sending aPATCH Completed Testrequest to the URL found in theurlfield of thesend_test要求。这将触发测试状态温室的要求。188bet安卓APP

测试状态

Tells Greenhouse the current status of a take home test.

GET https://www.testing-partner.com/api/test_status?partner_interview_id=12345

Request

卷曲'https://www.testing-partner.com/api/test_status?partner_interview_id=12345'-H“授权:基本MGQWMZFKODIYN2VHZME2MWRJMZC1YTZJMMUWNJDLMJQ6”

188bet安卓APP温室will send aGETrequest to thetest_status评估合作伙伴提供的终点。这GETrequest will contain a single query string parameter:partner_interview_id

参数名称 Type Required Description
partner_interview_id 细绳 是的 Identifies a test instance for a candidate. Initially provided as a response to the发送测试请求

Response

API Response

{"partner_status"“完全的”,,,,"partner_profile_url""http://example.com/tests/12345",,,,"partner_score"81,,,,“元数据”{"Started At"“ 2014年3月26日上午10:15”,,,,"Completed At"“ 2014年3月26日上午10:15”,,,,“笔记”“这位候选人做得非常好!”}}

test_statusrequest should contain a JSON object in its body with up to four keys:partner_status,,,,partner_profile_url,,,,partner_score,,,,and元数据

属性名称 Type Required Description
partner_status 细绳 是的 Describes the current state of the test instance. If the test has been completed and results are available, this value should be“complete”.我们将继续进行调查,直到状态“完整”,或者自从发送测试以来8周之前。
partner_profile_url 细绳 仅当状态为complete URL to the candidate’s page on the Test Partner’s website.
partner_score Number No 数值得分反映了候选人在测试中的表现。
元数据 Object No A non-nested object containing keys and values that will be displayed in our test results. All of the values must be Javascript primitives.

Response Error

When Greenhouse receives a malformed response for any of Assessment Partner’s API endpoints, we would like to report the errors to the Assessment Partner. As such, each Assessment Partner should provide an API endpoint to ingest this information.

发布https://www.testing-partner.com/api/request_errors

Request

卷曲-X POST'https://www.testing-partner.com/api/request_errors'-H“授权:基本MGQWMZFKODIYN2VHZME2MWRJMZC1YTZJMMUWNJDLMJQ6”
{"api_call""test_status",,,,“错误”[["partner_status is 'complete' but partner_profile url is missing"这是给予的,,,,“合作伙伴_test_id”"12345",,,,"partner_test_name""Personality Test",,,,"partner_interview_id"“ 299506”,,,,“ cantifate_email”“ hpotter@hogwarts.edu”}

收到畸形的响应后,Greenhouse将为评估合作伙伴提供失败响应的详细信息188bet安卓APP。每当无效的响应到达时,温室都会向188bet安卓APPresponse_errorAPI端点。

该请求的主体将包含与Greenhouse失败时一样多的信息。188bet安卓APP

For example, if alist_tests请求失败,温室只能提供API调188bet安卓APP用(在这种情况下为“ list_tests”)和各种错误(缺少键,意外数据类型等)。但是,如果一个test_status请求失败,我们可以提供更多信息(panter_test_id,partner_interview_id等),这些信息可能对调试目的有用。评估合作伙伴总是可以期望收到API_CALLanderrorsin the JSON body.

属性名称 Value Required Description
API_CALL 细绳 是的 生成畸形响应的API调用名称。
errors Array 是的 一系列字符串,描述了阻止响应验证的错误。
partner_test_id 细绳 No 确定组织可用的测试。最初作为对List Tests request
partner_test_name 细绳 No A human-readable string that identifies the test. Initially provided as a response to theList Tests request
partner_interview_id 细绳 No Identifies a candidate’s test.
cantifate_email 细绳 No 候选人的电子邮件地址。测试应发送到此地址。

Response

API Response

{"status"200}

对成功的反应response_errors请求应包含200个响应代码。

Errors

成功的请求应生成具有200级状态代码的响应。不成功的请求应与以下答复之一产生响应:

Status Code Description
401 提供的API密钥未成功的身份验证。
404 这requested resource could not be found.