Ein Portal von:
SOMEDIA

Exporting vacancies data into job platform

Job platform supports an automatic import of jobs for its subscription customers (normally, with a Slot-product subscription). The import is implemented via regular polling of a customer-provided HTTP or HTTPS URL, containing the jobs' data in a special XML format. At the moment, all the data sources are polled once an hour, starting at 06:00, and ending at 20:00. From 20:01 to 05:59 no polling is done.

The job data XML must contain all the on-line jobs of a company, or a set of companies. This means, that all the jobs listed in the XML for company A will be published at Jobplatform: they'll appear on the company A's page (http://www.suedostschweizjobs.ch/arbeitgeber/[Company A ID]), company A's minisite, if it exists (http://www.suedostschweizjobs.ch/minisite/[Company A minisite ID]), will be found by the full text search, and, of course, available via the direct link (http://www.suedostschweizjobs.ch/stellenangebot/[Vacancy ID]).

As soon as vacancy disappears from the exported XML, it's deactivated at jobplatform, and is no longer navigable in the platform's front-end. However, it still persists in the system, and can be found between all the other old/inactive vacancies in the company A manager's interface (http://www.suedostschweizjobs.ch/manager/[Company A ID]/vacancy/list). There's an important special case: if the XML contains only an empty root element, the import procedure will deactivate all the currently on-line vacancies of all the companies, jobs of which are supposed to be in the XML. Thus, for an automatically generated XML, in case of error, please return an empty response by the data source URL. Or any plain text/HTML error message will also be fine. Important is, that it's not a valid XML with no vacancies.

The exported XML file must have the following structure. Below we'll describe each of the present elements.

<?xml version="1.0" encoding="UTF-8"?>
<list version="1">
    <vacancy>
        <id>454353094523</id>
        <ref_code>REF-123456</ref_code>
        <language>en</language>

        <company>
            <id>XIAG-AG</id>

            <description>
                Internet Solutions Zürich (Head Office). Developement and Service Center
                in Novosibirsk Akademgorodok, Russia.
            </description>
        </company>

        <title>Programmer</title>

        <workplace>
            <country>CH</country>
            <zip>8057</zip>
            <city>Zürich</city>
            <confidential>false</confidential>
        </workplace>

        <description>
            <![CDATA[
                Challenging well-paid job in a successful international software development company,
                which will boost your professional and personal growth. Development of Internet software
                solutions with PHP (Linux, Apache, Postgres).
            ]]>
        </description>

        <sell_description>
            <![CDATA[
                Challenging well-paid job in a successful international software development company,
                which will boost your professional and personal growth. Development of Internet software
                solutions with PHP (Linux, Apache, Postgres).
            ]]>
        </sell_description>

        <requirements>
            <![CDATA[
                <ul>
                    <li>Minimum 2 years of industry experience with PHP</li>
                    <li>Object-oriented programming, and relational data modeling skills</li>
                    <li>Test-driven development experience is a plus</li>
                    <li>Written English</li>
                </ul>
            ]]>
        </requirements>

        <offer>
            <![CDATA[<b>Benefits:</b> good retirement contributions, good work environment.]]>
        </offer>

        <keywords>
            programming, web, php, Zend Framework, JavaScript
        </keywords>

        <contact>
            You are welcome to send your resume in English, stating the job your are applying for to
            the following contact:

            John Smith
            jobs@xiag.ch
            Telephone: +7 (383) 335 65 66

            Your data will be treated strictly confidential!
        </contact>

        <regions>
            <region>2</region>
            <region>3</region>
        </regions>

        <types>
            <type>2</type>
            <type>3</type>
        </types>

        <rates>
            <min_percent>60</min_percent>
            <max_percent>80</max_percent>
        </rates>

        <categories>
            <category>2</category>
            <category>3</category>
        </categories>

        <application_url>http://www.xiag.ch/jobs/php_developer/apply</application_url>

        <video>
            <provider>Youtube</provider>
            <id>oHg5SJYRHA0</id>
        </video>

        <presentation>
            <iframe_url>http://www.xiag.ch/jobs/php_developer/</iframe_url>

            <pdf>ZGttZmtkbmZrZGRmIAoKCgoKCnNkCgoK…</pdf>
        </presentation>


    </vacancy>

    <vacancy>
        ...
    </vacancy>

    ...
</list>

Go here to validate your XML.

/list/@version
Constant and required. Must be “1”.
/list/vacancy/id
Required. Consistently and uniquely identifies a vacancy within a company. Maximum length: 200 characters.
/list/vacancy/ref_code
Optional. Reference number for the job. Is shown on the vacancy details page. Maximum length: 200 characters.
/list/vacancy/language
Optional. Language of the job description: “en” for English or “de” for German. The default value is “de”.
/list/vacancy/company/id
Consistently and uniquely identifies a company. Required only for a multi-company XML; otherwise can be omitted. Maximum length: 200 characters. The company must already exist in Jobplatform system. The import procedure doesn't create new companies.
/list/vacancy/company/description
Optional. Vacancy-specific company description.
/list/vacancy/title
Required. The job title. Maximum length: 200 characters.
/list/vacancy/workplace/*
zip and city is required. Other elements can be omitted. confidential type is boolean. An instance of a datatype that is defined as ·boolean· can have the following legal literals {true, false, 1, 0}. If confidential is omitted then set to false
/list/vacancy/description
Optional. Can contain HTML; allowed tags are: <b> <i> <ul> <ol> <li> <a> <img> <br> <p>.
/list/vacancy/sell_description
Optional. Can contain HTML; allowed tags are: <b> <i> <ul> <ol> <li> <a> <img> <br> <p>.
Maximum length: 300 characters.
/list/vacancy/requirements
Optional. Can contain HTML; allowed tags are: <b> <i> <ul> <ol> <li> <a> <img> <br> <p>.
/list/vacancy/offer
What the company has to offer — employment benefits. Optional. Can contain HTML; allowed tags are: <b> <i> <ul> <ol> <li> <a> <img> <br> <p>.
/list/vacancy/keywords
Comma-separated keywords used for full text search indexing.
/list/vacancy/contact
Required. No HTML allowed. Line breaks are preserved.
/list/vacancy/regions/region
Optional. Can be multiple lines. Must contain integer is if regions. List of ids is available via addresses:
http://www.suedostschweizjobs.ch/api/regions?csv (csv format: channelName;id)
http://www.suedostschweizjobs.ch/api/regions (json format)
Wrong region id's will be omitted.
/list/vacancy/types/type
Required at least one but not more than two. Can be multiple lines. Must contain integer id if type. List of ids is available via addresses:
http://www.suedostschweizjobs.ch/api/types?csv (csv format: channelName;id)
http://www.suedostschweizjobs.ch/api/types (json format)
Wrong region id's will be omitted.
Important note: combinations of types for each vacancy is stricted:
If one of Praktikum, Lehrstell, Saisonstelle selected, other types is not allowed.
If one of Führungsposition, Fachverantwortung or Mitarbeiter is selected, then second can be only one of Vollzeit, Teilzeit or Temporär
/list/vacancy/rates/min_percent
Optional. Minimum work rate for a vacancy. Valid values are 10 to 100. Defaults to 100. Only applicable for Festanstellung/Vollzeit type.
/list/vacancy/rates/max_percent
Optional. Maximum work rate for a vacancy. Valid values are 10 to 100. Defaults to 100. Only applicable for Festanstellung/Vollzeit type.
/list/vacancy/categories/category
Required at least one but not more than three. Can be multiple lines. Must contain integer is if category. List of ids is available via addresses:
http://www.suedostschweizjobs.ch/api/categories?csv (csv format: channelName;id)
http://www.suedostschweizjobs.ch/api/categories (json format)
Wrong category id's will be omitted.
/list/vacancy/application_url
Optional. Web page containing this job's application form. Maximum length: 1024 characters.
/list/vacancy/video
Optional.
/list/vacancy/video/provider
Possible values: Youtube, Vimeo, Livejob
/list/vacancy/video/id
For example, in case of http://vimeo.com/16369165 the ID is “16369165”.
/list/vacancy/presentation/iframe_url
Optional. When present, the content from this URL will be displayed on the vacancy details page (http://jobplatform.ch/vacancy/[Vacancy ID]) in an <iframe>. Maximum length: 1024 characters. Please note, that in this case the description and requirements should be present anyway. Even though they're never displayed in the front-end, they are used for the full text search indexing.
/list/vacancy/presentation/pdf
Optional. The base64-encoded PDF document bytes. When present, the graphical PDF preview will be displayed on the vacancy details page (http://www.suedostschweizjobs.ch/vacancy/[Vacancy ID]). Please note, that in this case the description and requirements should be present anyway. Even though they're never displayed in the front-end, they are used for the full text search indexing.