kombo 1.2.9 → 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kombo/ats.rb +6 -2
- data/lib/kombo/general.rb +15 -5
- data/lib/kombo/hris.rb +0 -2
- data/lib/kombo/models/shared/amount.rb +1 -1
- data/lib/kombo/models/shared/amount_ytd.rb +36 -0
- data/lib/kombo/models/shared/amount_ytd.rbi +15 -0
- data/lib/kombo/models/shared/domestic_bank_routing.rb +1 -1
- data/lib/kombo/models/shared/domestic_bank_routing_type.rb +1 -0
- data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rb +6 -2
- data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rbi +2 -0
- data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rb +6 -2
- data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rbi +2 -0
- data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rb +6 -2
- data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rbi +2 -0
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +1 -1
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +1 -1
- data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +1 -1
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +1 -1
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +1 -1
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +1 -1
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +6 -2
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +2 -0
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +14 -2
- data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +6 -0
- data/lib/kombo/models/shared/gross_pay_ytd.rb +36 -0
- data/lib/kombo/models/shared/gross_pay_ytd.rbi +15 -0
- data/lib/kombo/models/shared/integration_tool.rb +5 -1
- data/lib/kombo/models/shared/line_item.rb +14 -2
- data/lib/kombo/models/shared/line_item.rbi +6 -0
- data/lib/kombo/models/shared/net_pay_ytd.rb +36 -0
- data/lib/kombo/models/shared/net_pay_ytd.rbi +15 -0
- data/lib/kombo/models/shared/paid_amount_ytd.rb +36 -0
- data/lib/kombo/models/shared/paid_amount_ytd.rbi +15 -0
- data/lib/kombo/models/shared/pay_code.rb +36 -0
- data/lib/kombo/models/shared/pay_code.rbi +15 -0
- data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rb +6 -2
- data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rbi +2 -0
- data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rb +6 -2
- data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rbi +2 -0
- data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rb +32 -0
- data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rbi +13 -0
- data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rb +6 -2
- data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rbi +2 -0
- data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rb +32 -0
- data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rbi +13 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rb +32 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rbi +13 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rb +44 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rbi +19 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rb +32 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rbi +13 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +14 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +6 -0
- data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rb +6 -2
- data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rbi +2 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rb +32 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rbi +13 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rb +44 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rbi +19 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rb +32 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rbi +13 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +14 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +6 -0
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rb +6 -2
- data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rbi +2 -0
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rb +32 -0
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rbi +13 -0
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
- data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
- data/lib/kombo/models/shared/work_location.rb +6 -2
- data/lib/kombo/models/shared/work_location.rbi +2 -0
- data/lib/kombo/models/shared.rb +14 -0
- data/lib/kombo/sdkconfiguration.rb +3 -3
- metadata +30 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dafcf87dbcd4030c5c4fcca87577dbb035b839508fc5cb5c4dbcf151a3743a42
|
|
4
|
+
data.tar.gz: 5039a5ded19b97282d78b1e451372f2ee66967f70b24c8262890b210610a243d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cde4aba61d6ffbbcc0b29cc15c71eb63d2ab1e1b2aac59a121a2185227aa4696dee7c1e2f3a97ed25cebb77db6d0de9db1bf6b2442f24dd14c57fbdacbf42057
|
|
7
|
+
data.tar.gz: d14566f9b669859d2d1a087702c1c42d1763015dec33f9dae16ff4411f8d3e2971045062a166351600150cc253e5efa265878a5e585e433aa44df7fec458ca85
|
data/lib/kombo/ats.rb
CHANGED
|
@@ -694,6 +694,8 @@ module Kombo
|
|
|
694
694
|
#
|
|
695
695
|
# Get attachments from an application. If the ATS stores the attachments on the candidate, it will get the attachments from the corresponding candidate instead.
|
|
696
696
|
#
|
|
697
|
+
# This endpoint calls the ATS on every request. To get the files of all candidates without a request per application, use [synced attachments](/ats/features/attachments).
|
|
698
|
+
#
|
|
697
699
|
# <Note>
|
|
698
700
|
# This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).
|
|
699
701
|
# </Note>
|
|
@@ -1505,6 +1507,8 @@ module Kombo
|
|
|
1505
1507
|
# get_candidate_attachments - Get candidate attachments
|
|
1506
1508
|
# Get attachments from a candidate, including all attachments of all of their applications.
|
|
1507
1509
|
#
|
|
1510
|
+
# This endpoint calls the ATS on every request. To get the files of all candidates without a request per candidate, use [synced attachments](/ats/features/attachments).
|
|
1511
|
+
#
|
|
1508
1512
|
# <Note>
|
|
1509
1513
|
# This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).
|
|
1510
1514
|
# </Note>
|
|
@@ -4078,9 +4082,9 @@ module Kombo
|
|
|
4078
4082
|
# get_ats_attachments - Get attachments
|
|
4079
4083
|
# Retrieve all attachments.
|
|
4080
4084
|
#
|
|
4081
|
-
#
|
|
4085
|
+
# Returns the attachments Kombo synced into your file destination.
|
|
4082
4086
|
#
|
|
4083
|
-
#
|
|
4087
|
+
# [Attachments](/ats/features/attachments) compares synced attachments with reading files on demand.
|
|
4084
4088
|
#
|
|
4085
4089
|
# Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
|
|
4086
4090
|
request = Models::Operations::GetAtsAttachmentsRequest.new(
|
data/lib/kombo/general.rb
CHANGED
|
@@ -309,6 +309,7 @@ module Kombo
|
|
|
309
309
|
# |Abacus|`abacus/api`|Abacus [REST API](https://apihub.abacus.ch/). We automatically authenticate all requests and use `https://\{\{abacusUrl\}\}/api/entity/v1/mandants/\{\{mandantId\}\}` as the base URL.|
|
|
310
310
|
# |Absence.io|`absenceio/v2`|Absence.io [API](https://docs.absence.io/). We automatically authenticate all requests and use `https://app.absence.io/api/v2` as the base URL.|
|
|
311
311
|
# |ADP Decidium|`adpdecidium/default`|[ADP Decidium API](https://developers.adp.com/apis/api-explorer/hcm-offrg-dge). We automatically authenticate all requests and use `https://api.eu.adp.com` as the base URL.|
|
|
312
|
+
# |ADP Link|`adplink/default`|[ADP Link API](https://developers.adp.com/apis/api-explorer/hcm-offrg-dge). We automatically authenticate all requests and use `https://api.eu.adp.com` as the base URL.|
|
|
312
313
|
# |ADP Workforce Now|`adpworkforcenow/default`|[ADP Workforce Now API v2](https://developers.adp.com/build/api-explorer/hcm-offrg-wfn). We automatically authenticate all requests and use the correct subdomain.|
|
|
313
314
|
# |AFAS Software|`afas/api`|AFAS' [API](https://connect.afas.nl/rest/get). We automatically authenticate all requests and use `https://\{domain\}/ProfitRestServices` as the base URL.|
|
|
314
315
|
# |AlexisHR|`alexishr/v1`|[AlexisHR's v1 API](https://docs.alexishr.com/) We automatically authenticate all requests and use `https://\{subdomain\}.alexishr.com` as base URL.|
|
|
@@ -322,6 +323,7 @@ module Kombo
|
|
|
322
323
|
# |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.|
|
|
323
324
|
# |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use your configured API base URL with `/v1` appended (default `https://api.b-ite.io/v1`).|
|
|
324
325
|
# |BoondManager|`boondmanager/api`|BoondManager [REST API](https://ui.boondmanager.com/administrator/developer/apisandbox). We automatically authenticate all requests and use `https://ui.boondmanager.com/api` as the base URL.|
|
|
326
|
+
# |Breathe HR|`breathehr/v1`|Breathe HR's [API](https://developer.breathehr.com/). We automatically authenticate all requests and use `https://api.breathehr.com/v1` as the base URL.|
|
|
325
327
|
# |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use "https://api.breezy.hr/v3/" as the base URL.|
|
|
326
328
|
# |Bullhorn for Salesforce|`bullhorn4salesforce/v66`|We use `https://\{subdomain\}.my.salesforce.com/services/data/v66.0` as the base URL. Find the official docs [here](https://kb.bullhorn.com/bh4sf/Content/BH4SF/Topics/bh4sfRestAPI.htm).|
|
|
327
329
|
# |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://\{subdomain\}.bullhornstaffing.com/rest-services/\{corpToken\}` base URL.|
|
|
@@ -329,7 +331,7 @@ module Kombo
|
|
|
329
331
|
# |Carerix|`carerix/api`|Carerix [REST API](https://docs.carerix.io/rest/introduction). We automatically authenticate all requests and use `https://api.carerix.com` as the base URL. Please note that Carerix uses XML for request and response bodies.|
|
|
330
332
|
# |Carerix|`carerixgraphql/graphql`|Carerix [GraphQL API](https://docs.carerix.io/graphql/welcome). We automatically authenticate all requests (OAuth2 client credentials) and use `https://api.carerix.io/graphql/v1` as the base URL. Send GraphQL requests as `POST /graphql` with a JSON body of `\{ "query": "...", "variables": \{ ... \} \}`.|
|
|
331
333
|
# |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\{customer_subdomain\}.talent-soft.com/api/v1` as the base URL.|
|
|
332
|
-
# |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.
|
|
334
|
+
# |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://cegid-hr-developers.talentsoft.net/docs/Talentsoft%20Recrutement/frontoffice/). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.|
|
|
333
335
|
# |Ceipal|`ceipal/v1`|We use `https://api.ceipal.com/v1` as the base URL. Find the official docs [here](https://developer.ceipal.com/ceipal-ats-version-one/ceipal-ats-v1-api-reference).|
|
|
334
336
|
# |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://\{subdomain\}.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`|
|
|
335
337
|
# |Compleet (Persy)|`compleetpersy/api`|Compleet Persy [REST API](https://persy-api.refined.site/space/PAPI/450166808/Requirements+Jobfeed+%2F+Anforderungen+f%C3%BCr+Jobfeeds). We automatically authenticate all requests and use `https://www.germanpersonnel.de/persy/api/v1` as the base URL.|
|
|
@@ -357,7 +359,7 @@ module Kombo
|
|
|
357
359
|
# |Dayforce|`dayforce/V1`|[Dayforce's API](https://developers.dayforce.com/Build/Home.aspx). We automatically authenticate all requests and use `\{\{baseUrl\}\}/Api/\{\{clientNamespace\}\}/V1` as the base URL|
|
|
358
360
|
# |Deel|`deel/api`|Deel's [API](https://developer.deel.com/reference/). We automatically authenticate all requests using the provided credentials and use `https://\{api_domain\}/rest` as the base URL.|
|
|
359
361
|
# |Digital Recruiters|`digitalrecruiters/api`|Cegid Digital Recruiters [Talent Acquisition API](https://cegid-hr-developers.talentsoft.net/docs/tutorial-basics/Talent%20Acquisition/Getting%20Started). We automatically authenticate all requests by replacing `:token` in the request URL with your configured access token and use your configured Digital Recruiters domain as the base URL.|
|
|
360
|
-
# |Docebo|`docebo/api`|Docebo [API](https://developer.docebo.com). We automatically handle authentication and use `https://\{subdomain\}.docebosaas.com` as the base URL.|
|
|
362
|
+
# |Docebo|`docebo/api`|Docebo [API](https://developer.docebo.com). We automatically handle authentication via OAuth and use `https://\{subdomain\}.docebosaas.com` as the base URL.|
|
|
361
363
|
# |Eightfold|`eightfold/api`|Eightfold's [API](https://apidocs.eightfold.ai/). We automatically authenticate all requests and use `https://apiv2.\{region\}/api/v2/core/` as the base URL.|
|
|
362
364
|
# |Employment Hero|`employmenthero/default`|EmploymentHero [API](https://developer.employmenthero.com/api-references/#icon-book-open-introduction). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.employmenthero.com/api` as the base URL.|
|
|
363
365
|
# |Emply People|`emplypeople/v2`|We use `https://api.emply.com/v2` as the base URL. Find the official docs [here](https://api.emply.com/v2/index.html).|
|
|
@@ -389,7 +391,7 @@ module Kombo
|
|
|
389
391
|
# |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.|
|
|
390
392
|
# |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in HiBob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.|
|
|
391
393
|
# |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.|
|
|
392
|
-
# |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.|
|
|
394
|
+
# |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people), including the [hiring endpoints](https://apidocs.hibob.com/docs/explore-hiring-api). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.|
|
|
393
395
|
# |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.|
|
|
394
396
|
# |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\<languageId\>1\</languageId\>`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).|
|
|
395
397
|
# |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.|
|
|
@@ -404,10 +406,11 @@ module Kombo
|
|
|
404
406
|
# |JobAdder|`jobadder/api`|We use `https://api.jobadder.com/v2` as the base URL. Find the official docs [here](https://api.jobadder.com/v2/docs).|
|
|
405
407
|
# |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|
|
|
406
408
|
# |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|
|
|
407
|
-
# |Jobvite|`jobvite/v2`|
|
|
409
|
+
# |Jobvite|`jobvite/v2`|Production connections use `https://api.jobvite.com/api/v2` as the base URL. Staging connections (`remote_environment: STAGING`) use `https://api.jvistg2.com/api/v2`. Find the official docs [here](https://help.jobvite.com/hc/en-us/articles/8870636608925-Jobvite-API).|
|
|
408
410
|
# |Jobylon|`jobylon/feed`|The [Jobylon Feed API](https://developer.jobylon.com/feed-api/). We automatically authenticate all requests and use `https://\{subdomain\}.jobylon.com/feeds/\{job_hash\}` as the base URL.|
|
|
409
411
|
# |Jobylon|`jobylon/push`|The [Jobylon Push API](https://developer.jobylon.com/push-api-and-webhooks/). We automatically authenticate all requests and use `https://\{subdomain\}.jobylon.com/p1` as the base URL.|
|
|
410
412
|
# |JOIN|`join/v2`|Join's [V2 API](https://docs.join.com/reference/getting-started). We automatically authenticate all requests and use `https://api.join.com/v2` as the base URL.|
|
|
413
|
+
# |Kallidus (Sapling)|`sapling/v1`|Kallidus Sapling's [API](https://kallidus.readme.io/v1.9/reference/overview). We automatically authenticate all requests and use `https://\{subdomain\}.saplingapp.io/api/v1/beta` (US) or `https://\{subdomain\}.kallidus-suite.com/hr/api/v1/beta` (UK) as the base URL.|
|
|
411
414
|
# |Kenjo|`kenjo/api`|Kenjo's [API](https://kenjo.readme.io/reference/generate-the-api-key). We automatically authenticate all requests using the API key. The base URL is `https://api.kenjo.io/` (or `https://sandbox-api.kenjo.io/` for sandbox environments).|
|
|
412
415
|
# |Kula|`kula/v1`|Kula's [REST API](https://developers.kula.ai/docs/getting-started/overview). We automatically authenticate all requests with the provided credentials and use `https://api.kula.ai/v1` as the base URL.|
|
|
413
416
|
# |Lattice Talent|`latticetalent/talent`|Lattice's [Talent API](https://developers.lattice.com/reference/introduction). We automatically authenticate all requests using API key credentials with `https://api.latticehq.com` as the base URL.|
|
|
@@ -419,7 +422,7 @@ module Kombo
|
|
|
419
422
|
# |Lever|`lever/v1`|[Lever's v1 API](https://hire.lever.co/developer/documentation). We automatically authenticate all requests using the partner credentials which have been configured in the Lever tool settings (this uses Kombo's partner credentials by default).|
|
|
420
423
|
# |LinkedIn Learning|`linkedinlearning/v2`|LinkedIn Learning [API v2](https://learn.microsoft.com/en-us/linkedin/learning/). We automatically handle authentication and use `https://api.linkedin.com/v2` as the base URL.|
|
|
421
424
|
# |Logic Melon|`logicmelon/json`|We use `https://api.logicmelon.co.uk` as the base URL. Find the official docs [here](https://api.logicmelon.com/JSON/Multiposter.asmx).|
|
|
422
|
-
# |Loket|`loket/api`|[Loket's REST API](https://
|
|
425
|
+
# |Loket|`loket/api`|[Loket's REST API](https://developer.loket.nl/). We automatically authenticate all requests and use `https://\{api_domain\}` as the base URL, where `api_domain` is the API domain configured during integration setup (e.g. `api.loket.nl`).|
|
|
423
426
|
# |Loxo|`loxo/v1`|[Loxo's API](https://loxo.readme.io/reference/loxo-api). We automatically authenticate all requests and use 'https://app.loxo.co/api/\{agency_slug\}' as base URL.|
|
|
424
427
|
# |Lucca|`lucca/api`|[Luccas's API](https://developers.lucca.fr/api-reference/legacy/introduction). We automatically authenticate all requests and use 'https://\{account\}.\{ilucca|ilucca-demo\}.\{region\}/' as the base URL.|
|
|
425
428
|
# |Manatal|`manatal/career-page`|Manatal's Career Page API. We use `https://api.manatal.com/open/v3/career-page/\{client_slug\}` as the base URL.|
|
|
@@ -456,6 +459,7 @@ module Kombo
|
|
|
456
459
|
# |PeopleXD|`peoplexd/b2b`|PeopleXD's [B2B API](https://documenter.getpostman.com/view/3101638/TzeTHUDu#intro). We automatically authenticate all requests and use `https://api.corehr.com/ws/\{tenant_id\}/corehr` or `https://uatapi.corehr.com/ws/\{tenant_id\}/corehr` as the base URL.|
|
|
457
460
|
# |Personio|`personio/jobboard`|API endpoints exposed on Personio's public job board pages ([currently just the XML feed](https://developer.personio.de/reference/get_xml)). We automatically use the right `https://\{company\}.jobs.personio.de` base URL.|
|
|
458
461
|
# |Personio|`personio/personnel`|Personio's [Personnel Data API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v1` as the base URL.|
|
|
462
|
+
# |Personio|`personio/personnelv2`|Personio's [V2 Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.|
|
|
459
463
|
# |Personio|`personio/personnelv2`|Personio's [V2 Personnel Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.|
|
|
460
464
|
# |Personio|`personio/recruiting`|Personio's [Recruiting API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the Recruiting access token and use `https://api.personio.de/v1/recruiting` as the base URL.|
|
|
461
465
|
# |Personio|`personio/recruitingV2`|Personio's [V2 Recruiting API](https://developer.personio.de/reference/get_v2-recruiting-applications). We automatically authenticate all requests using the Recruiting access token, send the `Beta` header and use `https://api.personio.de/v2/recruiting` as the base URL.|
|
|
@@ -472,6 +476,8 @@ module Kombo
|
|
|
472
476
|
# |Sage People|`sagepeople/salesforce-rest-api`|Sage People is built on Salesforce's [API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_what_is_rest_api.htm). We automatically authenticate all requests and use `https://\{customer_name\}.my.salesforce.com/` as the base URL.|
|
|
473
477
|
# |SAP SuccessFactors|`successfactors/lms-odata-v4`|We use `https://\{api_domain\}/learning/odatav4` as the base URL. Find the official docs [here](https://help.sap.com/docs/successfactors-learning/sap-successfactors-learning-odata-apis).|
|
|
474
478
|
# |SAP SuccessFactors|`successfactors/odata-v2`|[SuccessFactors' OData V2 API](https://help.sap.com/doc/74597e67f54d4f448252bad4c2b601c9/2211/en-US/SF_HCM_OData_API_REF_en.pdf). We automatically authenticate all requests and use `https://\{api_domain\}\{path?\}/odata/v2` as the base URL (the optional `\{path\}` is used when connecting via proxied/gateway domains).|
|
|
479
|
+
# |SAP SuccessFactors|`successfactors/odata-v4`|[SuccessFactors' OData V4 API](https://help.sap.com/doc/a7c08a422cc14e1eaaffee83610a981d/2611/en-US/SF_HCM_OData_API_DEV.pdf). We automatically authenticate all requests and use `https://\{api_domain\}\{path?\}/odatav4` as the base URL (the optional `\{path\}` is used when connecting via proxied/gateway domains).|
|
|
480
|
+
# |SAP SuccessFactors|`successfactors/rest`|[SuccessFactors' REST APIs](https://help.sap.com/doc/a7c08a422cc14e1eaaffee83610a981d/2611/en-US/SF_HCM_OData_API_DEV.pdf). We automatically authenticate all requests and use `https://\{api_domain\}\{path?\}/rest` as the base URL (the optional `\{path\}` is used when connecting via proxied/gateway domains).|
|
|
475
481
|
# |SD Worx|`sdworx/default`|SD Worx's [OData API](https://apistaging.cobra.sdworx.com/Resources). We automatically authenticate all requests using the client ID and secret and use `\{api_url\}` as the base URL.|
|
|
476
482
|
# |Silae|`silae/rest`|[Silae's REST API](https://silae-api.document360.io/docs). We automatically authenticate all requests and use 'https://payroll-api.silae.fr/payroll' as the base URL.|
|
|
477
483
|
# |Simployer|`simployer/v1`|[AlexisHR's v1 API](https://docs.alexishr.com/) We automatically authenticate all requests and use `https://\{subdomain\}.alexishr.com` as base URL.|
|
|
@@ -484,6 +490,7 @@ module Kombo
|
|
|
484
490
|
# |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.|
|
|
485
491
|
# |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.|
|
|
486
492
|
# |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.|
|
|
493
|
+
# |Stardex|`stardex/v1`|We use `https://api.stardex.ai` as the base URL. Find the official docs [here](https://docs.stardex.com/api-reference/introduction-v1).|
|
|
487
494
|
# |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.|
|
|
488
495
|
# |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.|
|
|
489
496
|
# |Talent360|`talent360/v3`|We use `https://api.talent360.io/V3` as the base URL. Find the official docs [here](https://api-doc.talent360.io/).|
|
|
@@ -502,10 +509,13 @@ module Kombo
|
|
|
502
509
|
# |UKG Pro|`ukgpro/default`|[UKG Pro's HRIS API](https://developer.ukg.com/hcm/reference/get_personnel-v1-person-details). We automatically authenticate all requests and use `https://\{hostname\}` as the base URL.|
|
|
503
510
|
# |UKG Pro|`ukgpro/recruting`|[UKG Pro's Recruiting API](https://developer.ukg.com/hcm/reference/retrieveapplications). We automatically authenticate all requests and use `https://\{hostname\}/talent/recruiting/v2/\{tenantalias\}/api` as the base URL.|
|
|
504
511
|
# |UKG Ready|`ukgready/api`|UKG Ready [API](https://secure.saashr.com/ta/docs/rest/public/). We automatically authenticate all requests using the provided credentials and use `https://\{api_domain\}` as the base URL.|
|
|
512
|
+
# |UKG Ready|`ukgready/v2`|UKG Ready [API](https://secure.saashr.com/ta/docs/rest/public/). We automatically authenticate all requests and use `https://\{api_domain\}/ta/rest/v2/companies/!\{short_name\}` as the base URL.|
|
|
513
|
+
# |VEDA HR Suite|`veda/api`|VEDA's [API](https://api.veda.net). We automatically authenticate all requests and use `https://\{domain\}/api` as the base URL.|
|
|
505
514
|
# |Visma Peple|`peple/hrm`|[Visma Payroll Reporting API](https://api.analytics1.hrm.visma.net/docs/openapi.html). We automatically authenticate all requests using the client credentials and use 'https://api.analytics1.hrm.visma.net' as the base URL.|
|
|
506
515
|
# |Visma Raet - Youforce|`youforce/v1.0`|[Youforce's basic v1.0 API](https://vr-api-integration.github.io/youforce-api-documentation/postman_collections.html). We automatically authenticate all requests and use 'https://api.youforce.com' as base URL.|
|
|
507
516
|
# |Visma YouServe|`youserve/learning`|Visma YouServe [Learning API](https://youserve-domain-api.github.io/SwaggerUI/learning.html). We automatically authenticate all requests using OAuth 2.0 with the provided credentials and use `https://api.youserve.nl/learning/v1.0` as the base URL.|
|
|
508
517
|
# |Workable|`workable/v1`|**Deprecated: Use `v3` instead.** Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\{subdomain\}.\{environment\}.com/spi/v3` as the base URL.|
|
|
518
|
+
# |Workable|`workable/v3`|We use `https://\{subdomain\}.workable.com/spi/v3` as the base URL. Find the official docs [here](https://www.workable.com/docs/api/overview).|
|
|
509
519
|
# |Workable|`workable/v3`|Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\{subdomain\}.\{environment\}.com/spi/v3` as the base URL.|
|
|
510
520
|
# |Workday|`workday/custom-report`|[Workday's Custom Reports](https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html). We automatically authenticate all requests and use `https://\{domain\}/ccx/service/customreport2/\{tenant\}/` as the base URL. Set your `method` to `GET`. The `path` should be the report path after the tenant, e.g., `/\{report_owner\}/\{report_name\}`. You can include query parameters in the `params` object (e.g., `format=json`).|
|
|
511
521
|
# |Workday|`workday/rest`|[Workday's REST API](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html). We automatically authenticate all requests and use the correct Workday REST base URL for your tenant. The base URL follows the format: https://\{domain\}/api/\{service_name\}/\{version\}/\{tenant\}. You can specify any valid REST endpoint and method. See the Workday REST API documentation for available endpoints. You must specify the `api_options` object and set `service_name` to the name of the service you want to call. You can also specify the `version` (e.g., "v1", "v2"); if omitted, it defaults to "v1".|
|
data/lib/kombo/hris.rb
CHANGED
|
@@ -2290,8 +2290,6 @@ module Kombo
|
|
|
2290
2290
|
#
|
|
2291
2291
|
# Retrieve attendance data and timesheets from HRIS tools.
|
|
2292
2292
|
#
|
|
2293
|
-
# <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning>
|
|
2294
|
-
#
|
|
2295
2293
|
# For a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance).
|
|
2296
2294
|
#
|
|
2297
2295
|
# <Note>
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Kombo
|
|
8
|
+
module Models
|
|
9
|
+
module Shared
|
|
10
|
+
# The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
|
|
11
|
+
class AmountYtd
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
|
+
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
|
+
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(currency: ::String, value: ::Float).void }
|
|
21
|
+
def initialize(currency:, value:)
|
|
22
|
+
@currency = currency
|
|
23
|
+
@value = value
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @currency == other.currency
|
|
30
|
+
return false unless @value == other.value
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::AmountYtd
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::AmountYtd
|
|
11
|
+
def currency(); end
|
|
12
|
+
def currency=(str_); end
|
|
13
|
+
def value(); end
|
|
14
|
+
def value=(str_); end
|
|
15
|
+
end
|
|
@@ -12,7 +12,7 @@ module Kombo
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
# Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45).
|
|
15
|
+
# Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code, SG bank and branch code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45).
|
|
16
16
|
field :number, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('number'), required: true } }
|
|
17
17
|
# Enum of the routing type, prefixed with the iso-3166-1-alpha-2 banks origin country. If there is uncertainty about the type, it will be set to null.
|
|
18
18
|
field :type, Crystalline::Nilable.new(Models::Shared::DomesticBankRoutingType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::DomesticBankRoutingType, false) } }
|
|
@@ -28,9 +28,11 @@ module Kombo
|
|
|
28
28
|
field :type, Crystalline::Nilable.new(Models::Shared::GetHrisGroupsPositiveResponseType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true, 'decoder': ::Kombo::Utils.enum_from_string(Models::Shared::GetHrisGroupsPositiveResponseType, false) } }
|
|
29
29
|
# The Kombo ID of the group’s parent group in the organizational structure. The ID can be used to retrieve the group from the `get groups` endpoint.
|
|
30
30
|
field :parent_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('parent_id'), required: true } }
|
|
31
|
+
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
|
|
32
|
+
field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
|
|
31
33
|
|
|
32
|
-
sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, name: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), type: T.nilable(Models::Shared::GetHrisGroupsPositiveResponseType), parent_id: T.nilable(::String)).void }
|
|
33
|
-
def initialize(id:, remote_id:, changed_at:, name: nil, remote_deleted_at: nil, type: nil, parent_id: nil)
|
|
34
|
+
sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, name: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), type: T.nilable(Models::Shared::GetHrisGroupsPositiveResponseType), parent_id: T.nilable(::String), custom_fields: T.nilable(T::Hash[Symbol, ::Object])).void }
|
|
35
|
+
def initialize(id:, remote_id:, changed_at:, name: nil, remote_deleted_at: nil, type: nil, parent_id: nil, custom_fields: nil)
|
|
34
36
|
@id = id
|
|
35
37
|
@remote_id = remote_id
|
|
36
38
|
@changed_at = changed_at
|
|
@@ -38,6 +40,7 @@ module Kombo
|
|
|
38
40
|
@remote_deleted_at = remote_deleted_at
|
|
39
41
|
@type = type
|
|
40
42
|
@parent_id = parent_id
|
|
43
|
+
@custom_fields = custom_fields
|
|
41
44
|
end
|
|
42
45
|
|
|
43
46
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -50,6 +53,7 @@ module Kombo
|
|
|
50
53
|
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
51
54
|
return false unless @type == other.type
|
|
52
55
|
return false unless @parent_id == other.parent_id
|
|
56
|
+
return false unless @custom_fields == other.custom_fields
|
|
53
57
|
true
|
|
54
58
|
end
|
|
55
59
|
end
|
|
@@ -24,16 +24,19 @@ module Kombo
|
|
|
24
24
|
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
|
|
25
25
|
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
26
26
|
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
27
|
+
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
|
|
28
|
+
field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
|
|
27
29
|
# The legal entity’s address.
|
|
28
30
|
field :address, Crystalline::Nilable.new(Models::Shared::GetHrisLegalEntitiesPositiveResponseAddress), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('address') } }
|
|
29
31
|
|
|
30
|
-
sig { params(id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), name: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), address: T.nilable(Models::Shared::GetHrisLegalEntitiesPositiveResponseAddress)).void }
|
|
31
|
-
def initialize(id:, changed_at:, remote_id: nil, name: nil, remote_deleted_at: nil, address: nil)
|
|
32
|
+
sig { params(id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), name: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), address: T.nilable(Models::Shared::GetHrisLegalEntitiesPositiveResponseAddress)).void }
|
|
33
|
+
def initialize(id:, changed_at:, remote_id: nil, name: nil, remote_deleted_at: nil, custom_fields: nil, address: nil)
|
|
32
34
|
@id = id
|
|
33
35
|
@changed_at = changed_at
|
|
34
36
|
@remote_id = remote_id
|
|
35
37
|
@name = name
|
|
36
38
|
@remote_deleted_at = remote_deleted_at
|
|
39
|
+
@custom_fields = custom_fields
|
|
37
40
|
@address = address
|
|
38
41
|
end
|
|
39
42
|
|
|
@@ -45,6 +48,7 @@ module Kombo
|
|
|
45
48
|
return false unless @remote_id == other.remote_id
|
|
46
49
|
return false unless @name == other.name
|
|
47
50
|
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
51
|
+
return false unless @custom_fields == other.custom_fields
|
|
48
52
|
return false unless @address == other.address
|
|
49
53
|
true
|
|
50
54
|
end
|
|
@@ -18,6 +18,8 @@ class Kombo::Models::Shared::GetHrisLegalEntitiesPositiveResponseResult
|
|
|
18
18
|
def name=(str_); end
|
|
19
19
|
def remote_deleted_at(); end
|
|
20
20
|
def remote_deleted_at=(str_); end
|
|
21
|
+
def custom_fields(); end
|
|
22
|
+
def custom_fields=(str_); end
|
|
21
23
|
def address(); end
|
|
22
24
|
def address=(str_); end
|
|
23
25
|
end
|
|
@@ -26,17 +26,20 @@ module Kombo
|
|
|
26
26
|
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
|
|
27
27
|
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
28
28
|
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
29
|
+
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
|
|
30
|
+
field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
|
|
29
31
|
# The work location’s address
|
|
30
32
|
field :address, Crystalline::Nilable.new(Models::Shared::GetHrisLocationsPositiveResponseAddress), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('address') } }
|
|
31
33
|
|
|
32
|
-
sig { params(id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), name: T.nilable(::String), type: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), address: T.nilable(Models::Shared::GetHrisLocationsPositiveResponseAddress)).void }
|
|
33
|
-
def initialize(id:, changed_at:, remote_id: nil, name: nil, type: nil, remote_deleted_at: nil, address: nil)
|
|
34
|
+
sig { params(id: ::String, changed_at: ::DateTime, remote_id: T.nilable(::String), name: T.nilable(::String), type: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), address: T.nilable(Models::Shared::GetHrisLocationsPositiveResponseAddress)).void }
|
|
35
|
+
def initialize(id:, changed_at:, remote_id: nil, name: nil, type: nil, remote_deleted_at: nil, custom_fields: nil, address: nil)
|
|
34
36
|
@id = id
|
|
35
37
|
@changed_at = changed_at
|
|
36
38
|
@remote_id = remote_id
|
|
37
39
|
@name = name
|
|
38
40
|
@type = type
|
|
39
41
|
@remote_deleted_at = remote_deleted_at
|
|
42
|
+
@custom_fields = custom_fields
|
|
40
43
|
@address = address
|
|
41
44
|
end
|
|
42
45
|
|
|
@@ -49,6 +52,7 @@ module Kombo
|
|
|
49
52
|
return false unless @name == other.name
|
|
50
53
|
return false unless @type == other.type
|
|
51
54
|
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
55
|
+
return false unless @custom_fields == other.custom_fields
|
|
52
56
|
return false unless @address == other.address
|
|
53
57
|
true
|
|
54
58
|
end
|
|
@@ -20,6 +20,8 @@ class Kombo::Models::Shared::GetHrisLocationsPositiveResponseResult
|
|
|
20
20
|
def type=(str_); end
|
|
21
21
|
def remote_deleted_at(); end
|
|
22
22
|
def remote_deleted_at=(str_); end
|
|
23
|
+
def custom_fields(); end
|
|
24
|
+
def custom_fields=(str_); end
|
|
23
25
|
def address(); end
|
|
24
26
|
def address=(str_); end
|
|
25
27
|
end
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -14,7 +14,7 @@ module Kombo
|
|
|
14
14
|
|
|
15
15
|
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
16
|
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
-
# The monetary value.
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
18
|
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(currency: ::String, value: ::Float).void }
|
|
@@ -25,20 +25,23 @@ module Kombo
|
|
|
25
25
|
field :employee, Models::Shared::Employee, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('employee'), required: true } }
|
|
26
26
|
# The individual earnings, deductions, and contributions that make up the payslip.
|
|
27
27
|
field :line_items, Crystalline::Array.new(Models::Shared::LineItem), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('line_items'), required: true } }
|
|
28
|
+
# A key-value store of fields not covered by the schema. [Read more](/custom-fields)
|
|
29
|
+
field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
|
|
28
30
|
# The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
|
|
29
31
|
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
30
32
|
field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
|
|
31
33
|
# The pay run the payslip was paid out through.
|
|
32
34
|
field :pay_run, Crystalline::Nilable.new(Models::Shared::PayRun), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('pay_run'), required: true } }
|
|
33
35
|
|
|
34
|
-
sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, totals: Models::Shared::GetHrisPayslipsPositiveResponseTotals, employee: Models::Shared::Employee, line_items: T::Array[Models::Shared::LineItem], remote_deleted_at: T.nilable(::DateTime), pay_run: T.nilable(Models::Shared::PayRun)).void }
|
|
35
|
-
def initialize(id:, remote_id:, changed_at:, totals:, employee:, line_items:, remote_deleted_at: nil, pay_run: nil)
|
|
36
|
+
sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, totals: Models::Shared::GetHrisPayslipsPositiveResponseTotals, employee: Models::Shared::Employee, line_items: T::Array[Models::Shared::LineItem], custom_fields: T.nilable(T::Hash[Symbol, ::Object]), remote_deleted_at: T.nilable(::DateTime), pay_run: T.nilable(Models::Shared::PayRun)).void }
|
|
37
|
+
def initialize(id:, remote_id:, changed_at:, totals:, employee:, line_items:, custom_fields: nil, remote_deleted_at: nil, pay_run: nil)
|
|
36
38
|
@id = id
|
|
37
39
|
@remote_id = remote_id
|
|
38
40
|
@changed_at = changed_at
|
|
39
41
|
@totals = totals
|
|
40
42
|
@employee = employee
|
|
41
43
|
@line_items = line_items
|
|
44
|
+
@custom_fields = custom_fields
|
|
42
45
|
@remote_deleted_at = remote_deleted_at
|
|
43
46
|
@pay_run = pay_run
|
|
44
47
|
end
|
|
@@ -52,6 +55,7 @@ module Kombo
|
|
|
52
55
|
return false unless @totals == other.totals
|
|
53
56
|
return false unless @employee == other.employee
|
|
54
57
|
return false unless @line_items == other.line_items
|
|
58
|
+
return false unless @custom_fields == other.custom_fields
|
|
55
59
|
return false unless @remote_deleted_at == other.remote_deleted_at
|
|
56
60
|
return false unless @pay_run == other.pay_run
|
|
57
61
|
true
|
|
@@ -20,6 +20,8 @@ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseResult
|
|
|
20
20
|
def employee=(str_); end
|
|
21
21
|
def line_items(); end
|
|
22
22
|
def line_items=(str_); end
|
|
23
|
+
def custom_fields(); end
|
|
24
|
+
def custom_fields=(str_); end
|
|
23
25
|
def remote_deleted_at(); end
|
|
24
26
|
def remote_deleted_at=(str_); end
|
|
25
27
|
def pay_run(); end
|
|
@@ -18,12 +18,21 @@ module Kombo
|
|
|
18
18
|
field :net_pay, Crystalline::Nilable.new(Models::Shared::GetHrisPayslipsPositiveResponseNetPay), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('net_pay') } }
|
|
19
19
|
# The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions.
|
|
20
20
|
field :paid_amount, Crystalline::Nilable.new(Models::Shared::GetHrisPayslipsPositiveResponsePaidAmount), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('paid_amount') } }
|
|
21
|
+
# The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
|
|
22
|
+
field :gross_pay_ytd, Crystalline::Nilable.new(Models::Shared::GrossPayYtd), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('gross_pay_ytd') } }
|
|
23
|
+
# The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
|
|
24
|
+
field :net_pay_ytd, Crystalline::Nilable.new(Models::Shared::NetPayYtd), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('net_pay_ytd') } }
|
|
25
|
+
# The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
|
|
26
|
+
field :paid_amount_ytd, Crystalline::Nilable.new(Models::Shared::PaidAmountYtd), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('paid_amount_ytd') } }
|
|
21
27
|
|
|
22
|
-
sig { params(gross_pay: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponseGrossPay), net_pay: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponseNetPay), paid_amount: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponsePaidAmount)).void }
|
|
23
|
-
def initialize(gross_pay: nil, net_pay: nil, paid_amount: nil)
|
|
28
|
+
sig { params(gross_pay: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponseGrossPay), net_pay: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponseNetPay), paid_amount: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponsePaidAmount), gross_pay_ytd: T.nilable(Models::Shared::GrossPayYtd), net_pay_ytd: T.nilable(Models::Shared::NetPayYtd), paid_amount_ytd: T.nilable(Models::Shared::PaidAmountYtd)).void }
|
|
29
|
+
def initialize(gross_pay: nil, net_pay: nil, paid_amount: nil, gross_pay_ytd: nil, net_pay_ytd: nil, paid_amount_ytd: nil)
|
|
24
30
|
@gross_pay = gross_pay
|
|
25
31
|
@net_pay = net_pay
|
|
26
32
|
@paid_amount = paid_amount
|
|
33
|
+
@gross_pay_ytd = gross_pay_ytd
|
|
34
|
+
@net_pay_ytd = net_pay_ytd
|
|
35
|
+
@paid_amount_ytd = paid_amount_ytd
|
|
27
36
|
end
|
|
28
37
|
|
|
29
38
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -32,6 +41,9 @@ module Kombo
|
|
|
32
41
|
return false unless @gross_pay == other.gross_pay
|
|
33
42
|
return false unless @net_pay == other.net_pay
|
|
34
43
|
return false unless @paid_amount == other.paid_amount
|
|
44
|
+
return false unless @gross_pay_ytd == other.gross_pay_ytd
|
|
45
|
+
return false unless @net_pay_ytd == other.net_pay_ytd
|
|
46
|
+
return false unless @paid_amount_ytd == other.paid_amount_ytd
|
|
35
47
|
true
|
|
36
48
|
end
|
|
37
49
|
end
|
|
@@ -14,4 +14,10 @@ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseTotals
|
|
|
14
14
|
def net_pay=(str_); end
|
|
15
15
|
def paid_amount(); end
|
|
16
16
|
def paid_amount=(str_); end
|
|
17
|
+
def gross_pay_ytd(); end
|
|
18
|
+
def gross_pay_ytd=(str_); end
|
|
19
|
+
def net_pay_ytd(); end
|
|
20
|
+
def net_pay_ytd=(str_); end
|
|
21
|
+
def paid_amount_ytd(); end
|
|
22
|
+
def paid_amount_ytd=(str_); end
|
|
17
23
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Kombo
|
|
8
|
+
module Models
|
|
9
|
+
module Shared
|
|
10
|
+
# The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.
|
|
11
|
+
class GrossPayYtd
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
|
|
16
|
+
field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
|
|
17
|
+
# The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
|
|
18
|
+
field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
|
|
19
|
+
|
|
20
|
+
sig { params(currency: ::String, value: ::Float).void }
|
|
21
|
+
def initialize(currency:, value:)
|
|
22
|
+
@currency = currency
|
|
23
|
+
@value = value
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @currency == other.currency
|
|
30
|
+
return false unless @value == other.value
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Kombo::Models::Shared::GrossPayYtd
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Kombo::Models::Shared::GrossPayYtd
|
|
11
|
+
def currency(); end
|
|
12
|
+
def currency=(str_); end
|
|
13
|
+
def value(); end
|
|
14
|
+
def value=(str_); end
|
|
15
|
+
end
|