Help & Support Center
Search:  
Contents
:
IndexPrintBookmark

Home > Guides > Administrator Guide > Integration > API

API

Need Help on this Topic? Email Support


The Cyber Recruiter API is implemented as a web service to be hosted (typically, but not required) on the existing Cyber Recruiter web server.  The web service exposes three .asmx objects used to access the SQL tables for Cyber Recruiter to develop programs outside of the core Cyber Recruiter and Careers tools.  Note: Using this tool directly access the SQL tables.  Writing data to the tables will NOT be tracked in the standard history screens (Requisition History and Applicant History) and could make troubleshooting more difficult.     

Setup

If your system is hosted with Visibility Software, the following steps are already done but you will need the location of the website to access the following asmx files and the ConString unique to your system.  This authorization token is provided by Visibility Software and should rarely, if ever, change.  Simply include this value for the Auth parameter in every method which is called.  Once the web service is installed, it may be referenced by any programming interface which has the ability to consume web services.

IMPORTANT:  The last parameter in ALL methods available through the API is called Auth.  

  1. Download the API files to the Cyber Recruiter web server
    1. Version 9.x - www.VSPublic.com/CRUpdates/CR-API.zip
    2. Version 10.x  -   https://visibility.awsapps.com/workdocs/index.html#/share/document/cd088b93d5f774cdeae38e0116aea7781fa9ba815d60bb7bf4d1c67eaaba3af0.  Passcode 9992
  2.  Create a website application in IIS pointed to this location.  It does not need to be public.
  3. Obtain the "auth" key for your database.  This will be the value for the ConString in the webconfig file for Cyber Recruiter. 
  4. Start to program.

 

CRCodes.asmx Methods

Purpose: Maintains Cyber Recruiter’s existing code tables

GetTables:  Pulls all of the enumerated tables that are available to manipulate in Cyber Recruiter.  Returns a string array of length 70

AddCode: Used to insert a new code into Cyber Recruiter.  Takes 3 parameters, all required.  Returns a status string.

Code: 

The code to be entered.  Must be unique for that table.  Maximum length is 50 characters.

Description:

The longer description for that code.  Maximum length is 50 characters.

Table: 

The table the code is to be added to, enumerated, and can be found from the GetTables method.

 

DeleteCode:  Used to delete an existing code from a code tables.  Takes 2 parameters, both required.  Returns a status string.

           

Code:

The code to be deleted.

Table:

The table the code is to be deleted from, enumerated, and can be found from the GetTables method.

 


EditCode:  Used to edit an existing code in a code table.  Takes 3 parameters, all required.  Returns a status string.

 

Code:

The code to be edited.  Must already exist in the target table.

Description:

The longer description of the code.   This is the only field you’re actually updating in the EditCode method.  Maximum length is 50 characters.

Table:

The table the code exists in, enumerated, and can be found from the GetTables method.

 

CRApplicants.asmx Methods

Purpose: To read, insert, or update applicants

The following methods are all simple retrieval methods that pull the available values for particular applicant fields.  None require a parameter and all return a string array.

GetStatuses

Used as the 2nd parameter in the AddApplicant method.

GetNoteTypes

Used as the 2nd parameter in the AddApplicantNote method.

GetSecurityClearanceAgencies

Used as the 2nd parameter in the AddApplicantSecurityClearance method.

GetSecurityClearanceTypes

Used as the 3rd parameter in the AddApplicantSecurityClearance method.

GetSchools

Used as the 2nd parameter in the AddApplicantEducation method.

GetMajors

Used as the 4th parameter in the AddApplicantEducation method.

GetDegrees

Used as the 3rd parameter in the AddApplicantEducation method.

GetSkills

Used as the 2nd parameter in the AddApplicantSkill method.

GetReferralSources

Used as the 29nd parameter in the AddApplicant method.

GetEthnicOrigins

Used as the 22nd parameter in the AddApplicant method.

GetStates

Used as the 10nd parameter in the AddApplicant method.

GetCountries

Used as the 12nd parameter in the AddApplicant method.

AddApplicant:  Used to insert a new applicant into Cyber Recruiter.  Only first name and last name are required.  Returns, as a string, the applicant number automatically assigned to the new applicant.  Adds the new record to Cyber Recruiter as well as an applicant history record recording the insert.  The last parameter in the signature takes a valid requisition code from Cyber Recruiter but is NOT required.  If that parameter exists, then this new applicant will also be attached to that requisition and a history record added to that req.

AddApplicantEducation:  Adds an education record to an existing applicant.  The first two parameters, Applnum and School are required.

AddApplicantPreviousEmployment: Adds a previous employment record to an existing applicant.  The first two parameters, Applnum and Employer are required.

AddApplicantSkill:  Adds a new skill to an existing applicant.  The first two parameters, Applnum and SkillCode are required.

AddApplicantSecurityClearnace:  Adds a security clearance record to an existing applicant.  The 1st and 3rd parameters, Applnum and ClearanceType are required.

AddApplicantMilitaryHistory:  Adds a military history record to an existing applicant.  The first two parameters, Applnum and Branch are required.

AddApplicantNote:  Adds a note to an existing applicant.  The 1st, 3rd, and 6th parameters, Applnum, NoteType, and Note are required.

AddApplicantHistory:  Adds a history record to an existing applicant.  The 1st, 4th, and 5th parameters, Applnum, HistDate, and HistItem are required.  HistItem is a string field that takes any text you want to appear in the history record.

GetApplicantByApplnum:  Retrieve’s a complete applicant record in the format found below.  Takes one parameter, Applnum, which is required.  Returns one applicant.

GetApplicantsByStatus:  Takes one parameter, a list of statuses, which is required.  The list of available statuses can be found by calling the GetStatuses method.  If providing more than one status to the GetApplicantsByStatus method, each status must be separated by a comma.  This method will return as many applicants as are attached to the list of statuses provided.  Returned XML format can be found in below in the section titled 'Applicant XML Schema'.

GetApplicantsByReq:  Takes on parameter, a requisition code, which is required.  This method will return as many applicants as are attached to the requisition provided.  Returned XML format can be found in below in the section titled 'Applicant XML Schema'.

CRRequisitions.asmx Methods

Purpose: To read, insert, or update requisitions

The following methods are all simple retrieval methods that pull the available values for particular requisition fields.  None require a parameter and all return a string array.

GetRecruiters

Used as the 17th parameter in the AddRequisition method.

GetHiringManagers

Used as the 18th parameter in the AddRequisition method.

GetEvaluators

Used as the 2nd parameter in the AddRequisitionApprover method.

GetStatuses

Used as the 4th parameter in the AddRequisition method.

GetApplicationTemplates

Used as the 30th parameter in the AddRequisition method.

GetReqReasons

Used as the 22nd parameter in the AddRequisition method.

GetFunctionalTitles

Used as the 23rd parameter in the AddRequisition method.

GetFTPT

Used as the 11th parameter in the AddRequisition method.

GetReqTypes

Used as the 10th parameter in the AddRequisition method.

GetReqSalaryGrades

Used as the 21st parameter in the AddRequisition method.

GetReqEEO

Used as the 8th parameter in the AddRequisition method.

GetCostItems

Used as the 2nd parameter in the AddRequisitionCost method.

GetNoteTypes

Used as the 2nd parameter in the AddRequisitioNote method.

GetReqOrg1

Used as the 12th parameter in the AddRequisition method.

GetReqOrg2

Used as the 13th parameter in the AddRequisition method.

GetReqOrg3

Used as the 14th parameter in the AddRequisition method.

GetReqOrg4

Used as the 15th parameter in the AddRequisition method.

GetReqOrg5

Used as the 16th parameter in the AddRequisition method.

AddRequisition:  Used to insert a new requisition into Cyber Recruiter.  Code, Description, and Status are required.  The Code must be a unique code.  If a requisition already exists with the code provided a duplicate message will be returned.  This method adds the new record to Cyber Recruiter as well as a requisition history record recording the insert. 

AddRequisitionApprover:  Adds an approver to an existing requisition.  The list of valid approvers can be found as the cumulative results of the GetRecruiters, GetHiringManagers, and GetEvaluators methods.  The 1st and 2nd parameters, Req and Approver, are required.  The last parameter, a Boolean, is used to indicate whether you want the API to send out the next req approval email as the last step of the AddRequisitionApprover method.

AddRequisitionNote: Adds a note to an existing requisition.  The 1st, 2nd, and 6th parameters, Req, NoteType, and Note are required.

AddRequisitionCost:  Adds a cost item to an existing requisition.  The 1st and 2nd parameters, Req and Cost Item, are required.

AddRequisitionHistory:  Adds a history record to an existing requisition.  All three parameters, Req, HistDate, and HistItem are required.  HistItem is a string field that takes any text you want to appear in the history record.

GetAllRequisitions:  Retrieves all requisitions in the system in the format found below.  Takes no parameters.

GetRequisitionsByStatus:  Takes one parameter, a list of statuses, which is required.  The list of available statuses can be found by calling the GetStatuses method.  If providing more than one status to the GetRequisitionsByStatus method, each status must be separated by a comma.  This method will return as many requisitions as are attached to the list of statuses provided.  Returned XML format can be found in below in the section titled 'Requisition XML Schema'.

Applicant XML Schema

Unless noted, the value in the field will be the raw data from the SQL table.  This could be data typed in or could be the code associated with a drop-down value.

    Notes
<Applicants>    
      <Applicant applnum=”1234”>    
        <PrimaryInformation>    
          <ApplicationDate></ApplicationDate>    
      <FirstName></FirstName>    
      <MiddleName></MiddleName>    
      <LastName></LastName>    
      <NickName></NickName>    
      <Status></Status>   "Overall Status" found on the Status/History page
      <StatusDescr></StatusDescr>    
      <HomeStreet1></HomeStreet1>    
      <HomeStreet2></HomeStreet2>    
      <HomeCity></HomeCity>    
      <HomeState></HomeState>    
      <HomeStateDescr></HomeStateDescr>    
      <HomeZip></HomeZip>    
      <HomeCountry></HomeCountry>    
      <HomePhone></HomePhone>    
      <WorkPhone></WorkPhone>    
      <WorkExt></WorkExt>    
      <CellPhone></CellPhone>    
      <Email></Email>   "Home Email" found on the Demographics page
      <WorkEmail></WorkEmail>    
      <PrimaryEmail></PrimaryEmail>   "W" or "H" - Home or Work
      <PrimaryPhone></PrimaryPhone>   "W" or "H" or "C" - Home or Work or Cell
      <SSN></SSN>    
      <Ethnic></Ethnic>    
      <EthnicDescr></EthnicDescr>    
      <Hispanic></Hispanic>    
      <Gender></Gender>    
      <MaritalStatus></MaritalStatus>    
      <BirthDate></BirthDate>    
      <Disabled></Disabled>    
      <OtherVet></OtherVet>    
      <VietnamVet></VietnamVet>    
      <NewlySeparatedVet></NewlySeparatedVet>    
      <ServiceMedalVet></ServiceMedalVet>    
      <DisabledVet></DisabledVet>    
      <ReferralSource></ReferralSource>    
      <ReferralSourceDescr></ReferralSourceDescr>    
      <SSLogin></SSLogin>   Only relevant if using the Custom Login option.
      <PIN></PIN>    
      <AgreementSigned></AgreementSigned>    
      <AgreeDate></AgreeDate>    
      <AgreeSignature></AgreeSignature>    
      <BirthCity></BirthCity>    
      <FavoriteColor></FavoriteColor>    
       <PetName></PetName>    
      <Misc1 caption="Misc1Caption"></Misc1>    
      <Misc2 caption="Misc2Caption"></Misc2>    
      <Misc3 caption="Misc3Caption"></Misc3>    
      <Misc4 caption="Misc4Caption"></Misc4>    
      <Misc5 caption="Misc5Caption"></Misc5>    
      <Misc6 caption="Misc6Caption"></Misc6>    
      <Misc7 caption="Misc7Caption"></Misc7>    
      <Misc8 caption="Misc8Caption"></Misc8>    
      <Misc9 caption="Misc9Caption"></Misc9>    
      <Misc10 caption="Misc10Caption"></Misc10>    
      <Misc11 caption="Misc11Caption"></Misc11>    
      <Misc12 caption="Misc12Caption"></Misc12>    
       <Misc13 caption="Misc13Caption"></Misc13>    
       <Misc14 caption="Misc14Caption"></Misc14>    
       <Misc15 caption="Misc15Caption"></Misc15>    
       <Misc16 caption="Misc16Caption"></Misc16>    
       <Misc17 caption="Misc17Caption"></Misc17>    
       <Misc18 caption="Misc18Caption"></Misc18>    
       <Misc19 caption="Misc19Caption"></Misc19>    
       <Misc20 caption="Misc20Caption"></Misc20>    
      <Resume></Resume>   Text version of the resume
      <CoverLetter></CoverLetter>    
    </PrimaryInformation>    
     <EducationHistory>    
      <Education>    
            <School></School>    
        <SchoolDescr></SchoolDescr>    
        <Degree></Degree>    
        <DegreeDescr></DegreeDescr>    
        <Major></Major>    
        <MajorDescr></MajorDescr>    
        <GPA></GPA>    
        <Graduated></Graduated>    
        <GradYear></GradYear>    
        <YearsAttended></YearsAttended>    
        <Note></Note>    
        <Address1></Address1>    
        <Address2></Address2>    
       </Education>    
    </EducationHistory>    
     <PreviousEmploymentHistory>    
      <PreviousEmployment>    
        <Employer></Employer>    
        <JobTitle></JobTitle>    
        <FromDate></FromDate>    
        <ToDate></ToDate>    
        <BeginSalary></BeginSalary>    
        <EndSalary></EndSalary>    
        <Per></Per>    
        <Supervisor></Supervisor>    
        <BusinessType></BusinessType>    
        <Note></Note>    
        <Address1></Address1>    
        <Address2></Address2>    
        <Phone></Phone>    
        <CanContact></CanContact>    
        <LeaveReason></LeaveReason>    
        <Responsibilities></Responsibilities>    
      </PreviousEmployment>    
    </PreviousEmploymentHistory>    
    <Skills>    
      <Skill>    
        <SkillCode></SkillCode>    
        <SkillDescr></SkillDescr>    
        <Years></Years>    
        <Note></Note>    
      </Skill>    
    </Skills>    
    <MilitaryHistory>    
      <Military>    
        <Branch></Branch>    
        <Rank></Rank>    
        <DateEntered></DateEntered>    
        <DateDischarged></DateDischarged>    
        <SerialNo></SerialNo>    
        <Reserves></Reserves>    
        <Specialty></Specialty>    
        <Note></Note>    
       </Military>    
    </MilitaryHistory>    
    <SecurityClearances>    
      <SecurityClearance>    
        <ClearanceType></ClearanceType>    
        <ClearanceTypeDescr></ClearanceTypeDescr>    
         <Agency></Agency>    
        <AgencyDescr></AgencyDescr>    
        <DateExpires></DateExpires>    
        <InvestigationType></InvestigationType>    
        <InvestigationDate></InvestigationDate>    
        <Active></Active>    
        <Note></Note>    
      </SecurityClearance>    
    </SecurityClearances>    
    <Notes>    
      <Note>    
        <Author></Author>    
       

 

 Requisition XML Schema

 

 <Requisitions> 
       <Requisition code=”ABCD”>  
         <PrimaryInformation> 
          

<ReqTitle></ReqTitle> 

<OpenDate></OpenDate>
<PostDate></PostDate>
<CloseDate></CloseDate>
<Openings></Openings>
<CreateDate></CreateDate>
<CreateTime></CreateTime>
<DateNeeded></DateNeeded>
<Status></Status>
<StatusDescr></StatusDescr>
<StatusDate></StatusDate>
<OrgLevel1></OrgLevel1>
<OrgLevel1Descr></OrgLevel1Descr>
<OrgLevel2></OrgLevel2>
<OrgLevel2Descr></OrgLevel2Descr>
<OrgLevel3></OrgLevel3>
<OrgLevel3Descr></OrgLevel3Descr>
<OrgLevel4></OrgLevel4>
<OrgLevel4Descr></OrgLevel4Descr>
<OrgLevel5></OrgLevel5>
<OrgLevel5Descr></OrgLevel5Descr>
<EmployeeReplacing></EmployeeReplacing>
<Direct></Direct>
<AutoPost></AutoPost>
<ApplicationTemplate></ApplicationTemplate>
<SalaryGrade></SalaryGrade>
<SalaryGradeDescr></SalaryGradeDescr>
<FromSalary></FromSalary>
<ToSalary></ToSalary>
<FunctionalTitle></FunctionalTitle>
<FunctionalTitleDescr></FunctionalTitleDescr>
<Recruiter></Recruiter>
<RecruiterName></RecruiterName>
<Supervisor></Supervisor>
<SupervisorName></SupervisorName>
<EEO></EEO>
<Exempt></Exempt>
<ReqReason></ReqReason>
<ReqReasonDescr></ReqReasonDescr>
<ReqType></ReqType>
<ReqTypeDescr></ReqTypeDescr>
<FTPT></FTPT>
<FeaturedJob></FeaturedJob>
<FTPTDescr></FTPTDescr>
<PostInternally></PostInternally>
<PostExternally></PostExternally>
<RemovePosting></RemovePosting>
<Misc1 caption="RMisc1Caption"></Misc1>
<Misc2 caption="RMisc1Caption"></Misc2>
<Misc3 caption="RMisc1Caption"></Misc3>
<Misc4 caption="RMisc1Caption"></Misc4>
<Misc5 caption="RMisc1Caption"></Misc5>
<Misc6 caption="RMisc1Caption"></Misc6>
<Misc7 caption="RMisc1Caption"></Misc7>
<Misc8 caption="RMisc1Caption"></Misc8>
<Misc9 caption="RMisc1Caption"></Misc9>
<Misc10 caption="RMisc1Caption"></Misc10>
<Misc11 caption="RMisc1Caption"></Misc11>
<Misc12 caption="RMisc1Caption"></Misc12>
<Misc13 caption="RMisc1Caption"></Misc13>
<Misc14 caption="RMisc1Caption"></Misc14>
<Misc15 caption="RMisc1Caption"></Misc15>
<Misc16 caption="RMisc1Caption"></Misc16>
<Misc17 caption="RMisc1Caption"></Misc17>
<Misc18 caption="RMisc1Caption"></Misc18>
<Misc19 caption="RMisc1Caption"></Misc19>
<Misc20 caption="RMisc1Caption"></Misc20>
<JobDescription></JobDescription>
<Requirements></Requirements>
<PublicJobDescription></PublicJobDescription>
<OtherDescription></OtherDescription>

     </PrimaryInformation>
     <Approvers>
       <Approver>
             <UserID></UserID>
<UserName></UserName>
<ApprovalOrder></ApprovalOrder>
<Approved></Approved>
<ApprovalDate></ApprovalDate>
<Note></Note> 
       </Approver>
     </Approvers> 
     <Notes>
       <Note>
        <Author></Author>
<AuthorName></AuthorName>
<NoteDate></NoteDate>
<FollowupDate></FollowupDate>
<NoteType></NoteType>
<NoteTypeDescr></NoteTypeDescr>
<NoteText></NoteText>
       </Note>
     </Notes>
     <Costs>
       <Cost>
        <CostItem></CostItem>
<CostItemDescr></CostItemDescr>
<CostDate></CostDate>
<Amount></Amount>
<Note></Note>
       </Cost>
     </Costs>
   </Requisition>
   <Requisition>
     Repeat for each requisition returned
   </Requisition>
 </Requisitions>