#Dimona REST webservice ## HTTPS:///dimona/v1 Dimona REST webservice. [**Contact the developer**](mailto:tbdimona@smals.be) **Version** v1 [**Terms of Service**]() [**Smals 2.0**](http://www.smals.be/licenses/LICENSE-2.0.html) # APIs ## /api/doc ### GET <a id="getApiDoc">Returns the API documentation in HTML format</a> #### Request ##### Parameters #### Response **Content-Type: ** text/html | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 200 | successful operation | | ## /declarations ### POST <a id="add">Create a new Dimona Declaration</a> #### Request **Content-Type: ** application/json ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>body</th> <td>body</td> <td>yes</td> <td>Declaration data</td> <td> -</td> <td> <a href="#/definitions/declaration">declaration</a> </td> </tr> </table> #### Response **Content-Type: ** application/json;charset=UTF-8 | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 201 | Declaration recieved, you can find the declaration id in the &#x27;Location&#x27; header of the response. | - | | 400 | Bad Request parameter. Can be a StatusMessage or an array of properties that aren&#x27;t correct. | <a href="#/definitions/StatusMessage">StatusMessage</a>| | 403 | Forbidden, you can&#x27;t send a declaration for this employer. | <a href="#/definitions/StatusMessage">StatusMessage</a>| | 500 | Internal Server Error. | <a href="#/definitions/StatusMessage">StatusMessage</a>| ## /declarations/{dimonaNbr} ### GET <a id="getDimona">Retrieve a Dimona Declaration</a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>dimonaNbr</th> <td>path</td> <td>yes</td> <td>The declaration number</td> <td> -</td> <td>integer (int64)</td> </tr> </table> #### Response **Content-Type: ** application/json;charset=UTF-8 | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 200 | Dimona declaration found. | <a href="#/definitions/declaration">declaration</a>| | 403 | Forbidden to consult this dimona declaration. | <a href="#/definitions/StatusMessage">StatusMessage</a>| | 404 | Dimona declaration not found for this number or your declaration is not yet processed. | <a href="#/definitions/StatusMessage">StatusMessage</a>| | 500 | Internal Server Error. | <a href="#/definitions/StatusMessage">StatusMessage</a>| # Definitions ## <a name="/definitions/Address">Address</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>street</td> <td> string </td> <td>required</td> <td>Street name</td> <td>00517</td> </tr> <tr> <td>houseNumber</td> <td> string </td> <td>required</td> <td>House number</td> <td>00518</td> </tr> <tr> <td>postBox</td> <td> string </td> <td>optional</td> <td>Post box</td> <td>00519</td> </tr> <tr> <td>zipCode</td> <td> string </td> <td>required</td> <td>Belgian zip code, the value must refer to one of the codes listed in Annex 23</td> <td>00520</td> </tr> <tr> <td>city</td> <td> string </td> <td>required</td> <td>City name</td> <td>00522</td> </tr> <tr> <td>country</td> <td> string </td> <td>required</td> <td>Country. See Annex 5 - Country Code List</td> <td>00523</td> </tr> </table> ## <a name="/definitions/Anomaly">Anomaly</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>errorId</td> <td> string </td> <td>optional</td> <td>Identifier of the anomaly - See Annex 30 of the Glossary (https://www.socialsecurity.be/lambda/portail/glossaires/dimona.nsf/web/glossary_home_nl)</td> <td></td> </tr> <tr> <td>labelFr</td> <td> string </td> <td>optional</td> <td>Label of the anomaly in French</td> <td></td> </tr> <tr> <td>labelNl</td> <td> string </td> <td>optional</td> <td>Label of the anomaly in Dutch</td> <td></td> </tr> </table> ## <a name="/definitions/ConstructionControlCards">ConstructionControlCards</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>firstMonthC32ANumber</td> <td> string </td> <td>required</td> <td>Control card number C3.2A assigned to the worker for the beginning of the Dimona period</td> <td>00663</td> </tr> <tr> <td>nextMonthC32ANumber</td> <td> string </td> <td>required</td> <td>Control card number C3.2A assigned to the worker for the month following the month of the beginning of his Dimona period</td> <td>00664</td> </tr> </table> ## <a name="/definitions/DeclarationStatus">DeclarationStatus</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>dimonaDeclarationId</td> <td> string </td> <td>optional</td> <td>Identification number of the Dimona declaration</td> <td></td> </tr> <tr> <td>result</td> <td> string </td> <td>optional</td> <td>Result of the processing of the declaration. (A - accepted, W - accepted with warning, B - refused and S - Waiting because an identification request sent to SIGeDIS)</td> <td></td> </tr> <tr> <td>dimonaPeriodId</td> <td> string </td> <td>optional</td> <td>Identification number of the Dimona period</td> <td></td> </tr> <tr> <td>anomaliesCollection</td> <td> array[<a href="#/definitions/Anomaly">Anomaly</a>] </td> <td>optional</td> <td>list of anomalies</td> <td></td> </tr> <tr> <td>informationsCollection</td> <td> array[<a href="#/definitions/Information">Information</a>] </td> <td>optional</td> <td>List of additional information</td> <td></td> </tr> </table> ## <a name="/definitions/Detail">Detail</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>kind</td> <td> object </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>message</td> <td> object </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>ref</td> <td> object </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>value</td> <td> object </td> <td>optional</td> <td>-</td> <td></td> </tr> </table> ## <a name="/definitions/Dimona Cancel">Dimona Cancel</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>references</td> <td> <a href="#/definitions/References">References</a> </td> <td>optional</td> <td>Block to specity references</td> <td></td> </tr> <tr> <td>dimonaNumber</td> <td> string </td> <td>required</td> <td>Number that uniquely identifies a Dimona period. This number is automatically assigned to the Dimona IN declaration that generates the period</td> <td>00913</td> </tr> </table> ## <a name="/definitions/Dimona IN">Dimona IN</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>references</td> <td> <a href="#/definitions/References">References</a> </td> <td>optional</td> <td>Block to specity references</td> <td></td> </tr> <tr> <td>startingDate</td> <td> string </td> <td>required</td> <td>Start date of the Dimona period in YYYY-MM-DD format</td> <td>00910</td> </tr> <tr> <td>startingHour</td> <td> string </td> <td>optional</td> <td>Starting time of the Dimona period in HH:MI format</td> <td>00777</td> </tr> <tr> <td>endingDate</td> <td> string </td> <td>optional</td> <td>End date of the Dimona period in YYYY-MM-DD format</td> <td>00911</td> </tr> <tr> <td>endingHour</td> <td> string </td> <td>optional</td> <td>Finishing time of the Dimona period in HH:MI format</td> <td>00778</td> </tr> <tr> <td>plannedDaysNumber</td> <td> integer (int32) </td> <td>optional</td> <td>Number of work days planned by the employer over the declared Dimona period</td> <td>01017</td> </tr> <tr> <td>plannedHoursNumber</td> <td> integer (int32) </td> <td>optional</td> <td>Number of hours of work planned by the employer over the declared Dimona period</td> <td>01135</td> </tr> <tr> <td>dimonaFeatures</td> <td> <a href="#/definitions/DimonaFeatures">DimonaFeatures</a> </td> <td>required</td> <td>Block to declare the characteristics of the Dimona period</td> <td></td> </tr> <tr> <td>constructionControlCards</td> <td> <a href="#/definitions/ConstructionControlCards">ConstructionControlCards</a> </td> <td>optional</td> <td>Block for declaring C3.2A-construction control card data</td> <td></td> </tr> <tr> <td>studentPlaceOfWork</td> <td> <a href="#/definitions/StudentPlaceOfWork">StudentPlaceOfWork</a> </td> <td>optional</td> <td>Block for declaring information about the workplace of a student. Mandatory if it is not the company's head office</td> <td></td> </tr> <tr> <td>smallStatutesInformation</td> <td> <a href="#/definitions/SmallStatutesInformation">SmallStatutesInformation</a> </td> <td>optional</td> <td>Block for the data necessary for the calculation of risk premiums for small status (internship and professional training).</td> <td></td> </tr> </table> ## <a name="/definitions/Dimona Out">Dimona Out</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>references</td> <td> <a href="#/definitions/References">References</a> </td> <td>optional</td> <td>Block to specity references</td> <td></td> </tr> <tr> <td>dimonaNumber</td> <td> string </td> <td>required</td> <td>Number that uniquely identifies a Dimona period. This number is automatically assigned to the Dimona IN declaration that generates the period</td> <td>00913</td> </tr> <tr> <td>endingDate</td> <td> string </td> <td>required</td> <td>End date of the Dimona period in YYYY-MM-DD format</td> <td>00911</td> </tr> </table> ## <a name="/definitions/Dimona Update">Dimona Update</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>references</td> <td> <a href="#/definitions/References">References</a> </td> <td>optional</td> <td>Block to specity references</td> <td></td> </tr> <tr> <td>dimonaNumber</td> <td> string </td> <td>required</td> <td>Number that uniquely identifies a Dimona period. This number is automatically assigned to the Dimona IN declaration that generates the period</td> <td>00913</td> </tr> <tr> <td>startingDate</td> <td> string </td> <td>optional</td> <td>Start date of the Dimona period in YYYY-MM-DD format</td> <td>00910</td> </tr> <tr> <td>startingHour</td> <td> string </td> <td>optional</td> <td>Starting time of the Dimona period in HH:MI format</td> <td>00777</td> </tr> <tr> <td>endingDate</td> <td> string </td> <td>optional</td> <td>End date of the Dimona period in YYYY-MM-DD format</td> <td>00911</td> </tr> <tr> <td>endingHour</td> <td> string </td> <td>optional</td> <td>Finishing time of the Dimona period in HH:MI format</td> <td>00778</td> </tr> <tr> <td>plannedDaysNumber</td> <td> integer (int32) </td> <td>optional</td> <td>Number of work days planned by the employer over the declared Dimona period</td> <td>01017</td> </tr> <tr> <td>plannedHoursNumber</td> <td> integer (int32) </td> <td>optional</td> <td>Number of hours of work planned by the employer over the declared Dimona period</td> <td>01135</td> </tr> </table> ## <a name="/definitions/DimonaFeatures">DimonaFeatures</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>jointCommissionNumber</td> <td> string </td> <td>optional</td> <td>Joint commision number. Watch the adminitration instructions at: https://www.socialsecurity.be/employer/instructions/dmfa/nl/latest/instructions/obligations/obligations_nsso/dimona/principaldata.html#heading-2</td> <td>00046</td> </tr> <tr> <td>workerType</td> <td> string </td> <td>required</td> <td>The worker type. Watch the adminitration instructions at: https://www.socialsecurity.be/employer/instructions/dmfa/nl/latest/instructions/obligations/obligations_nsso/dimona/principaldata.html#heading-2</td> <td>00655</td> </tr> <tr> <td>subEntityNumber</td> <td> string </td> <td>optional</td> <td>For employers ORPSS you need to define sometimes the sub entity number of the employer.</td> <td>00652</td> </tr> <tr> <td>usingEmployer</td> <td> <a href="#/definitions/UsingEmployer">UsingEmployer</a> </td> <td>optional</td> <td>Block for identification data of the employing company where the person concerned is employed as a temporary worker</td> <td></td> </tr> </table> ## <a name="/definitions/Employer">Employer</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>nssoRegistrationNumber</td> <td> string </td> <td>optional</td> <td>NSSO Registration number form National Social Security Office</td> <td>00011</td> </tr> <tr> <td>provisionalNssoRegistrationNumber</td> <td> string </td> <td>optional</td> <td>-</td> <td>00948</td> </tr> <tr> <td>companyId</td> <td> string </td> <td>optional</td> <td>Unique number from Crossroad Bank for Entreprises</td> <td>00014</td> </tr> </table> ## <a name="/definitions/Information">Information</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>informationType</td> <td> string </td> <td>required</td> <td>Type of additional information</td> <td></td> </tr> <tr> <td>informationDetail</td> <td> string </td> <td>required</td> <td>Value of additional information</td> <td></td> </tr> </table> ## <a name="/definitions/References">References</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>declarationReference</td> <td> string </td> <td>optional</td> <td>To specify a declaration reference</td> <td></td> </tr> <tr> <td>employerReference</td> <td> string </td> <td>optional</td> <td>To specify an employer reference</td> <td></td> </tr> <tr> <td>workerReference</td> <td> string </td> <td>optional</td> <td>To specify a worker reference</td> <td></td> </tr> </table> ## <a name="/definitions/SmallStatutesInformation">SmallStatutesInformation</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>employmentNature</td> <td> string </td> <td>required</td> <td>The nature of the worker can be EMPLOYEE or WORKER</td> <td>01231</td> </tr> <tr> <td>activityWithRisk</td> <td> integer (int32) </td> <td>optional</td> <td>Activity versus risk. See Annex 6 - Activity versus risk List</td> <td>00041</td> </tr> <tr> <td>workerStatus</td> <td> string </td> <td>required</td> <td>Code that specifies the risk coverage regime and compensation of the worker. This code can be F1 or F2. See Annex 21 - Worker status</td> <td>00053</td> </tr> </table> ## <a name="/definitions/StatusMessage">StatusMessage</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>id</td> <td> string (uuid) </td> <td>required</td> <td>-</td> <td></td> </tr> <tr> <td>code</td> <td> string </td> <td>required</td> <td>-</td> <td></td> </tr> <tr> <td>message</td> <td> string </td> <td>required</td> <td>-</td> <td></td> </tr> <tr> <td>contact</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>environment</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>stackTrace</td> <td> array[array] </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>details</td> <td> array[<a href="#/definitions/Detail">Detail</a>] </td> <td>optional</td> <td>-</td> <td></td> </tr> </table> ## <a name="/definitions/StudentPlaceOfWork">StudentPlaceOfWork</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>denomination</td> <td> string </td> <td>required</td> <td>Name of the company or agency of the student's workplace</td> <td>00776</td> </tr> <tr> <td>address</td> <td> <a href="#/definitions/Address">Address</a> </td> <td>required</td> <td>Block for completely specifying an address</td> <td></td> </tr> </table> ## <a name="/definitions/UsingEmployer">UsingEmployer</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>jointCommissionNumber</td> <td> string </td> <td>required</td> <td>The joint commision number. Watch the adminitration instructions at: https://www.socialsecurity.be/employer/instructions/dmfa/nl/latest/instructions/obligations/obligations_nsso/dimona/principaldata.html#heading-2</td> <td>00046</td> </tr> <tr> <td>usingEmployerName</td> <td> string </td> <td>optional</td> <td>The name of the company where an interim works</td> <td>00153</td> </tr> <tr> <td>usingCompanyId</td> <td> string </td> <td>optional</td> <td>The companyId of the company where an interim works</td> <td>00131</td> </tr> <tr> <td>address</td> <td> <a href="#/definitions/Address">Address</a> </td> <td>optional</td> <td>Block for completely specifying an address</td> <td></td> </tr> </table> ## <a name="/definitions/Worker">Worker</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>ssin</td> <td> string </td> <td>optional</td> <td>Social Security Identification Number</td> <td>00024</td> </tr> <tr> <td>lastName</td> <td> string </td> <td>optional</td> <td>The last name of the worker</td> <td>00048</td> </tr> <tr> <td>firstName</td> <td> string </td> <td>optional</td> <td>The first name of the worker</td> <td>00026</td> </tr> <tr> <td>middleName</td> <td> string </td> <td>optional</td> <td>The middle name of the worker</td> <td></td> </tr> <tr> <td>initial</td> <td> string </td> <td>optional</td> <td>The initials of the worker</td> <td>00027</td> </tr> <tr> <td>birthDate</td> <td> string </td> <td>optional</td> <td>The birthday of the worker</td> <td>00028</td> </tr> <tr> <td>birthPlace</td> <td> string </td> <td>optional</td> <td>The place of birth of the worker</td> <td>00168</td> </tr> <tr> <td>birthPlaceCountry</td> <td> string </td> <td>optional</td> <td>The country of birth of the worker. See Annex 5 - Country Code List</td> <td>00169</td> </tr> <tr> <td>nationality</td> <td> string </td> <td>optional</td> <td>The nationality of the worker. See Annex 5 - Country Code List</td> <td>00119</td> </tr> <tr> <td>gender</td> <td> string </td> <td>optional</td> <td>The gender of the worker can be MALE or FEMALE</td> <td>00029</td> </tr> <tr> <td>address</td> <td> <a href="#/definitions/Address">Address</a> </td> <td>optional</td> <td>Block for completely specifying an address</td> <td></td> </tr> </table> ## <a name="/definitions/declaration">declaration</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>glossarium code</th> </tr> <tr> <td>employer</td> <td> <a href="#/definitions/Employer">Employer</a> </td> <td>optional</td> <td>Block for declaring employer identification data. Required for a Dimona IN. When retrieving a declaration this is filled up by the service.</td> <td></td> </tr> <tr> <td>worker</td> <td> <a href="#/definitions/Worker">Worker</a> </td> <td>optional</td> <td>Block for declaring worker identification data. Required for a Dimona IN. When retrieving a declaration this is filled up by the service.</td> <td></td> </tr> <tr> <td>dimonaIn</td> <td> <a href="#/definitions/Dimona IN">Dimona IN</a> </td> <td>optional</td> <td>Block containing the information necessary for a Dimona declaration of entry into service</td> <td></td> </tr> <tr> <td>dimonaOut</td> <td> <a href="#/definitions/Dimona Out">Dimona Out</a> </td> <td>optional</td> <td>Block containing the information needed for a Dimona declaration of end of the employer-worker relationship</td> <td></td> </tr> <tr> <td>dimonaUpdate</td> <td> <a href="#/definitions/Dimona Update">Dimona Update</a> </td> <td>optional</td> <td>Block containing the information necessary for a Dimona declaration of modification of an employer-worker relationship</td> <td></td> </tr> <tr> <td>dimonaCancel</td> <td> <a href="#/definitions/Dimona Cancel">Dimona Cancel</a> </td> <td>optional</td> <td>Block containing the information necessary for a declaration Dimona cancellation of the relationship between an employer and a worker</td> <td></td> </tr> <tr> <td>declarationStatus</td> <td> <a href="#/definitions/DeclarationStatus">DeclarationStatus</a> </td> <td>optional</td> <td>Block containing the data relating to the declaration processing. When retrieving a declaration this is filled up by the service.</td> <td></td> </tr> </table>