SOFOS 360
API
Modules of SOFOS 360 > API

SOFOS offers the ability to retrieve information on substances and/or articles from another application. For this purpose, two REST endpoints are provided through which data can be requested.

The API uses 'Basic authentication', requiring username and password from SOFOS in the header. Users can also specify search parameters as a JSON string in the request body. It is important to fill out at least one parameter. The API allows you to search for list information of substances and articles using all the parameters you've provided. Any empty or omitted parameters will not be included in the search.

If one substance or article is discovered using the supplied search parameters, the result will be returned as a JSON string in the response body. If multiple or no substances or articles are identified, they will be returned as a JSON string in the response body. When correctly called, the essential structure of the response is always the same:

{
     "StatusCode": int ,
     "Message": "string",
     "Result": {}          
}

'Result' contains the search findings.

If the request is invalid (for example, an improper search parameter is provided in the body), the result will include a list of errors:

{
  "Errors": [
    "string"
  ],
  "StatusCode": int,
  "Message": "string",
  "Result": {}
}

There are two endpoints available

Substance information

This API, for example, allows you to check whether the substance is on the SZW substances list or which GHS pictograms are linked with it.

The address of this API is: https://<the addressyour SOFOS environment>/api/v1/GetInfo/GetSubstanceInfo

(Json in body)

GET  {
             "SubstanceId": string,
             "CasNumber": string,
             "SubstanceName": string,
             "ExternalAPI_ID": string
         }

Response (Json in body):

{
     "StatusCode": int,
     "Message": null,
     "Result": {
           "ID": string,
           "SubstanceName": string,
           "CasNumber": string,
           "IsCMR": bool,
           "IsSZW": bool,
           "IsZZS": bool,
           "IsPZZS": bool,
           "IsBALAnnex3": bool,
           "GHSImages": string,
           "ExternalAPI_ID": string
         }
    }

Example call and response:

Call:

{
     "SubstanceId": "df074de1-3b63-45e2-afb2-8cd58dea18e1",
     "CasNumber":"",
     "SubstanceName":"",
     "ExternalAPI_ID":""
}

 

Response:

{
     "StatusCode": 200,
     "Message": null,
     "Result": {
           "ID": "df074de1-3b63-45e2-afb2-8cd58dea18e1",
           "SubstanceName": "1,2-dichloorethaan",
           "CasNumber": "107-06-2",
           "IsCMR": true,
           "IsSZW": true,
           "IsZZS": true,
           "IsPZZS": true,
           "IsBALAnnex3": true,
           "GHSImages": "GHS02,GHS07,GHS08",
           "ExternalAPI_ID": null
         }
  }

 

Article information

This API allows users to request information regarding a substance through an article.

The address of this API is: https://<the addressyour SOFOS environment>/api/v1/GetInfo/GetArticleInfo

Call:

GET {
(Json in body) {
   "ArticleId": string ,
   "ArticleCode": string,
   "OrderCode": string,
   "EAN_GTINCode": string
}

 Response:

(Json in body)

{
"StatusCode": 200,
"Message": null,
"Result": {
            "ID": string,
            "ArticleCode": string,
            "OrderCode": null,
            "ArticleName": string,
            "EAN_GTINCode": string,
            "HasSubstance": true,
            "SubstanceName": string,
            "CasNumber": string,
            "GHSImages": string,
            "IsCMR": bool,
            "IsSZW": bool,
            "IsZZS": bool,
            "IsPZZS": bool,
            "IsBALAnnex3": bool,
            "ExternalAPI_IDSubstance": string
          }
}

Example call and response:

Call:

{
     "ArticleId": "",
     "ArticleCode":"1",
     "OrderCode":"",
     "EAN_GTINCode":""
 }

 

Response:

{
 "StatusCode": 200,
 "Message": null,
 "Result": {
             "ID": "ad1ab488-02a5-4aeb-94da-169e05046444",
             "ArticleCode": "1",
             "OrderCode": null,
             "ArticleName": "BZ ; 3-chinuclidinylbenzilaat, 3-quinuclidinyl",
             "EAN_GTINCode": "566556776655",
             "HasSubstance": true,
             "SubstanceName": "3-CHINUCLIDINYLBENZILAAT",
             "CasNumber": "",
             "GHSImages": "",
             "IsCMR": false,
             "IsSZW": false,
             "IsZZS": false,
             "IsPZZS": false,
             "IsBALAnnex3": bool,
             "ExternalAPI_IDSubstance": null
           }
 }

 

You can also request additional information via  https://<the addressyour SOFOS environment>/swagger/ui/index

 

 

List information

This API can be used to retrieve, based on a CAS number, whether a substance appears on specific lists such as SZW, ZZS, BAL Annex 3, or is regulated under other legislations such as REACH, VOC, ODS, OPCW or as drugs/opiates.

The address of this API is: https://<the address of your SOFOS environment>/api/v1/GetInfo/GetListInfo

 

Call:


GET {

                   (Json in body)
                  {
                        "CasNumber": "string"
                  }


 Response:


                 (Json in body)

                  {

                        "StatusCode": 200,
                        "Message": null,
                        "Result": {
                        "CasNumber": "string",
                        "IsSZW": bool,
                        "IsZZS": bool,
                        "ZZSEmissionClass": "string",
                        "IsPZZS": bool,
                        "IsBALAnnex3": bool,
                        "IsVOC": bool,
                        "IsOPCW": bool,
                        "IsODS": bool,
                        "IsFGas": bool,
                        "IsReach": bool,
                        "IsDiisocyanate": bool,
                        "IsSVHC": bool,
                        "IsDrugs": bool,
                        "IsOpiates": bool,
                        "IsWVMC": bool
                 }
 

Example call and response:

Call:


                {
                      "CasNumber": "50-00-0"
                }

 

Response:    

               {
                     "StatusCode": 200,
                     "Message": null,
                     "Result": {
                                       "CasNumber": "50-00-0",
                                       "IsSZW": true,
                                       "IsZZS": true,
                                       "ZZSEmissionClass": "MVP 2",
                                       "IsPZZS": false,
                                       "IsBALAnnex3": true,
                                       "IsVOC": true,
                                       "IsOPCW": false,
                                       "IsODS": false,
                                       "IsFGas": false,
                                       "IsReach": false,
                                       "IsDiisocyanate": false,
                                       "IsSVHC": false,
                                       "IsDrugs": false,
                                       "IsOpiates": false,
                                       "IsWVMC": false          
                                   }
               }

You can also request additional information via  https://<the addressyour SOFOS environment>/swagger/ui/index