# 認証機関の取得

## 認証機関の取得

<mark style="color:blue;">`GET`</mark> `https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}`

このエンドポイントは、単一の認証機関のデータを取得します。

#### Headers

| Name                                                   | Type   | Description                                                                                                                                        |
| ------------------------------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>         | String | application/json                                                                                                                                   |
| x-http-authorization<mark style="color:red;">\*</mark> | String | <p><https://iafcertsearch.org/import-management/api-integration> から受け取った API キー</p><p>例:</p><p><code>x-http-authorization: <\<API KEY>></code></p> |

{% tabs %}
{% tab title="200: OK リクエストが成功しました。" %}

```json
"data": {  
  "certification_body_identity_number": "string",
  "certification_body_name": "string",
  "certification_body_acronym": "string",
  "country": "string",
  "description": "string",
  "accreditation_status": "string",
  "office_directories": [
    {
      "office_type": "string",
      "country": "string",
      "street": "string",
      "state": "string",
      "city": "string",
      "zip_code": "string",
    }
  ],	
  "certification_body_countries": [
    {
      "country": "string"
    }
  ],
  "standard_and_schemes": [
    {
      "standard_code": "string",
      "issue_date": "string",
      "first_issue_date": "string",
      "expiry_date": "string",
      "scheme_name": "string",
      "scope_type": "string",
      "standard_status": "string"
    }
  ],
  "technical_sectors": [
    {
      "sector_title": "string",
      "scheme_name": "string"
    }
  ]
}
```

{% endtab %}

{% tab title="401: Unauthorized 無効な API キーを使用した場合に発生します。" %}

```json
{
    "error": true,
    "timestamp": number (エポック時間),
    "elapse": number,
    "errors": {
      "message": "無効なセッショントークンが使用されました。",
      "code": "invalid_session_token"
    }
}
```

{% endtab %}

{% tab title="404: Not Found IAF CertSearch データベースに認証機関 ID が存在しない場合に発生します。" %}

```json
{
  "error": true,
  "timestamp": number (エポック時間),
  "elapse": number,
  "errors": {
    "message": "リクエストされたリソースが見つかりませんでしたが、将来的には利用可能になる可能性があります。クライアントによる後続のリクエストは許可されます。",
    "code": "not_found"
  }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
レスポンスデータの例を表示するには、レスポンスの説明の右側にある右矢印をクリックしてください。
{% endhint %}

{% hint style="info" %}
<https://api.sandbox.iafcertsearch.org/api/client/v1/ab/cb/{certification\\_bodies\\_id}> を使用して、Sandbox サーバーでテストすることもできます。
{% endhint %}

このメソッドを呼び出す方法を見てみましょう：

{% tabs %}
{% tab title="cURL" %}

```shell
curl --location -g --request GET 'https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}' \
--header 'Content-Type: application/json' \
--header 'x-http-authorization: <<API_KEY>>'
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require "uri"
require "json"
require "net/http"

url = URI("https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["x-http-authorization"] = "<<API_KEY>>"

response = https.request(request)
puts response.read_body

```

{% endtab %}

{% tab title="Python" %}

```python
import http.client
import json

conn = http.client.HTTPSConnection("api.iafcertsearch.org")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'x-http-authorization': '<<API_KEY>>'
}
conn.request("GET", "/api/client/v1/ab/cb/{certification_bodies_id}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'x-http-authorization: <<API_KEY>>'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

```

{% endtab %}

{% tab title="Java" %}

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}")
  .method("GET", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("x-http-authorization", "<<API_KEY>>")
  .build();
Response response = client.newCall(request).execute();
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}',
  headers: { 
    'Content-Type': 'application/json', 
    'x-http-authorization': '<<API_KEY>>'
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("x-http-authorization", "<<API_KEY>>")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
var client = new RestClient("https://api.iafcertsearch.org/api/client/v1/ab/cb/{certification_bodies_id}");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-http-authorization", "<<API_KEY>>");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
```

{% endtab %}
{% endtabs %}
