Skip to content

Assessment webhooks #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
.idea/*
node_modules/*
__pycache__
docs/diagrams/.*
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ Since it's a static site, you can also just open `/docs/index.html` directly in
The diagrams are generated using the following tool [diagrams](https://app.diagrams.net).

1. Go to that specific URL.
2. Select open existing diagram.
2. Open existing diagram.
3. Open `docs/diagrams/webhooks-flow.drawio` file.
4. Make all the needed changes.
- Note that the document has 2 pages -- one with the entire flow and one with individual sections.
5. Save the changes and put the resulting file on the repository to overwrite `docs/diagrams/webhooks-flow.drawio` file.

To update each image:
Expand Down
219 changes: 0 additions & 219 deletions docs/diagrams/full-e2e-webhooks-flow.drawio

This file was deleted.

435 changes: 353 additions & 82 deletions docs/diagrams/webhooks-flow.drawio

Large diffs are not rendered by default.

Binary file removed docs/images/client-events.png
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/images/client-events.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/full-e2e-prescreen-flow.png
Binary file not shown.
3 changes: 1 addition & 2 deletions docs/images/full-e2e-prescreen-flow.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 58 additions & 8 deletions docs/webhooks/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ <h2>Table of Contents</h2>
<li>Events for CodeSignal Assessments</li>
<ul>
<li>
<a href="#clientworkflow">Organization user workflow</a>
<a href="#customerworkflow">Customer workflow</a>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm customer sounds a bit weird, I feel like this change wasn't really necessary 🤔

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you elaborate on this? I feel like "organization user" might've been confusing since it's not clear what "organization" we're talking about (as in, CodeSignal or customer), while "customer" does not leave any space for ambiguity.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I guess that makes sense, though I think we use organization user a lot. Maybe it's just my interpretation since we say customer to refer to the whole company internally sometimes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's just my interpretation since we say customer to refer to the whole company internally sometimes.

Ah, yeah, that's what I was going for here 😅

<ul>
<li><a href="#assessmentCreated">assessmentCreated</a></li>
<li><a href="#assessmentUpdated">assessmentUpdated</a></li>
<li><a href="#companyTestSessionCreated">companyTestSessionCreated</a></li>
</ul>
</li>
Expand Down Expand Up @@ -79,7 +81,7 @@ <h2>Table of Contents</h2>
</ul>
</li>
</ul>
<li>Events for CodeSignal Live Interview</li>
<li>Events for CodeSignal Interviews</li>
<ul>
<li><a href="#liveinterviewworkflow">Live Interview webhooks process flow</a></li>
<li><a href="#liveInterviewFinished">liveInterviewFinished</a></li>
Expand Down Expand Up @@ -327,10 +329,10 @@ <h3 id="payloads">Webhook payloads</h3>
</div>
</div>
<div class="section">
<h2>Events for CodeSignal Pre-Screen</h2>
<h2>Events for CodeSignal Assessments</h2>
<div class="subsection">
<p>
Here is an overview of the end to end workflow of events for CodeSignal Pre-Screen.
Here is an overview of the end to end workflow of events for CodeSignal Assessments.
</p>
<br />
<img
Expand All @@ -340,14 +342,62 @@ <h2>Events for CodeSignal Pre-Screen</h2>
/>
</div>
<div class="subsection">
<h3 id="clientworkflow">Organization user workflow</h3>
<h3 id="customerworkflow">Customer workflow</h3>
<br />
<img
alt="Diagram of webhooks triggered on client flow"
alt="Diagram of webhooks triggered on customer flow"
width="80%"
src="../images/client-events.svg"
/>
</div>
<div class="subsection">
<h3 id="assessmentCreated">assessmentCreated</h3>
<p>Fired when a new assessment is created.</p>
<div>Request format:</div>
<pre><code>{
event: 'assessmentCreated',
triggeredOn: number,
payload: {
assessmentId: string,
assessmentTitle: string,
assessmentStatus: 'active' | 'archived' | 'deleted'
}
};</code></pre>
<div>Sample request:</div>
<pre><code>{
event: 'assessmentCreated',
triggeredOn: 1553720789347,
payload: {
assessmentId: 'lehu382hdleh29',
assessmentTitle: 'General Coding Assessment',
assessmentStatus: 'active'
}
};</code></pre>
</div>
<div class="subsection">
<h3 id="assessmentUpdated">assessmentUpdated</h3>
<p>Fired when an assessment is updated.</p>
<div>Request format:</div>
<pre><code>{
event: 'assessmentUpdated',
triggeredOn: number,
payload: {
assessmentId: string,
assessmentTitle: string,
assessmentStatus: 'active' | 'archived' | 'deleted'
}
};</code></pre>
<div>Sample request:</div>
<pre><code>{
event: 'assessmentUpdated',
triggeredOn: 1553720789347,
payload: {
assessmentId: 'lehu382hdleh29',
assessmentTitle: 'General Coding Assessment',
assessmentStatus: 'archived'
}
};</code></pre>
</div>
<div class="subsection">
<h3 id="companyTestSessionCreated">companyTestSessionCreated</h3>
<p>Fired when a test session is created.</p>
Expand Down Expand Up @@ -380,7 +430,7 @@ <h3 id="companyTestSessionCreated">companyTestSessionCreated</h3>
<h3 id="candidateworkflow">Candidate workflow</h3>
<br />
<img
alt="Diagram of webhooks triggered by the CodeSignal Pre-Screen product"
alt="Diagram of webhooks triggered by the CodeSignal Assessments product"
width="100%"
src="../images/candidate-events.svg"
/>
Expand Down Expand Up @@ -755,7 +805,7 @@ <h4 id="preScreenResultVerified">preScreenResultVerified</h4>
}
};</code></pre>
</div>
<h2>Events for CodeSignal Live Interview</h2>
<h2>Events for CodeSignal Live Interviews</h2>
<div class="subsection">
<h3 id="liveinterviewworkflow">Live Interview webhooks process flow</h3>
<img
Expand Down