NAV -image
bash php python

ラッコドメインAPI

ラッコドメインAPIのドキュメントです。APIを利用することで管理画面にログインすることなく、システムと連携しドメインの取得・更新などの操作を行うことができます。

よくある質問
ラッコドメインAPIの利用条件/手順/制限は?
API利用上の禁止事項はありますか?

API共通

APIにリクエストする際にapiKey, rakkoIdを含めてリクエストする必要があります。 マイページのAPI設定からAPI使用をONに設定し、APIキーを取得してください。 APIは無料でご利用いただけますが、管理ドメイン10件以上またはラッコポイント10,000以上の保有が必要です。

resultがpending(受付)になった場合は、暫く後に処理が行われます。結果は操作履歴から確認してください。 API停止条件:「直近30分・500リクエスト以上」または「直近10分・失敗10以上」

1. Domain Management

domainCheck

ドメイン取得可否確認API
ドメインの取得可否情報を返却します。
お取り扱いドメイン(TLD)は「ドメイン価格一覧」からご確認いただけます。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/check" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"keyword":"sample-domain","tlds":["com"]}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/check',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'keyword' => 'sample-domain',
            'tlds' => [
                'com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/check'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "keyword": "sample-domain",
    "tlds": [
        "com"
    ]
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "domainName": "sample-domain",
        "idn": "sample-domain",
        "tlds": [
            {
                "tld": "com",
                "status": 1
            },
            {
                "tld": "net",
                "status": 0
            }
        ]
    }
}

Request

POST api/v1/domain/check

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

keyword  string
取得可否確認対象のキーワード

tlds  array
取得可否確認TLD配列(最大25件)

tlds.*  string
TLD

Response Fields

domainName  string
取得可否確認対象ドメイン名

idn  string
取得可否確認対象ドメイン名(国際化ドメイン)

tlds  array
取得可否確認結果オブジェクト配列

tlds.[].tld  string
TLD

tlds.[].status  string
取得可否ステータス
・1: 取得可能
・0: 取得不可

domainList

管理ドメイン一覧取得API
検索条件に一致した管理ドメインの一覧情報を返却します。1ページあたりの出力件数は最大100件。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/list" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"key":"sample-domain sample123","sort":"due_date_ascend","page":1,"whois":"proxy_release","isAutoRenewal":0,"isDomainLock":0,"status":1,"isTrash":0,"nameServer":"01.dnsv.jp","obtainDateStart":"2020-06-01","obtainDateEnd":"2020-06-30","dueDateStart":"2021-06-01","dueDateEnd":"2021-06-30"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/list',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'key' => 'sample-domain sample123',
            'sort' => 'due_date_ascend',
            'page' => 1,
            'whois' => 'proxy_release',
            'isAutoRenewal' => 0,
            'isDomainLock' => 0,
            'status' => 1,
            'isTrash' => 0,
            'nameServer' => '01.dnsv.jp',
            'obtainDateStart' => '2020-06-01',
            'obtainDateEnd' => '2020-06-30',
            'dueDateStart' => '2021-06-01',
            'dueDateEnd' => '2021-06-30',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/list'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "key": "sample-domain sample123",
    "sort": "due_date_ascend",
    "page": 1,
    "whois": "proxy_release",
    "isAutoRenewal": 0,
    "isDomainLock": 0,
    "status": 1,
    "isTrash": 0,
    "nameServer": "01.dnsv.jp",
    "obtainDateStart": "2020-06-01",
    "obtainDateEnd": "2020-06-30",
    "dueDateStart": "2021-06-01",
    "dueDateEnd": "2021-06-30"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "total": 2,
        "currentPage": 1,
        "domains": [
            {
                "domainName": "sample-domain.com",
                "idn": "sample-domain.com",
                "isWhoisProxyEnabledFlg": 1,
                "isWhoisPrcessingFlg": 0,
                "isAutoRenewalEnabledFlg": 1,
                "isDomainLockEnabledFlg": 1,
                "regContactId": 7,
                "admContactId": 7,
                "tecContactId": 7,
                "bilContactId": 7,
                "obtainDate": "2020-04-14",
                "dueDate": "2022-04-14",
                "createdAt": "2020-04-14 12:01:27",
                "updatedAt": "2020-04-14 15:03:15",
                "domainNameServers": [
                    "01.dnsv.jp",
                    "02.dnsv.jp"
                ]
            },
            {
                "domainName": "xn--tck5a9g.jp",
                "idn": "ラッコ.jp",
                "isWhoisProxyEnabledFlg": 1,
                "isWhoisPrcessingFlg": 0,
                "isAutoRenewalEnabledFlg": 1,
                "isDomainLockEnabledFlg": 1,
                "regContactId": 7,
                "admContactId": 7,
                "tecContactId": 7,
                "bilContactId": 7,
                "obtainDate": "2020-04-14",
                "dueDate": "2022-04-14",
                "createdAt": "2020-04-14 12:01:27",
                "updatedAt": "2020-04-14 15:03:15",
                "domainNameServers": [
                    "01.dnsv.jp",
                    "02.dnsv.jp"
                ]
            }
        ]
    }
}

Request

POST api/v1/domain/list

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

key  string optional
キーワード検索文字列。スペース区切りで複数指定可能

sort  string optional
並び順
・due_date_ascend: 有効期限が近い順
・due_date_descend: 有効期限が遠い順
・obtain_date_descend: 取得が近い順
・obtain_date_ascend: 取得が遠い順

page  integer optional
ページ番号

whois  string optional
WHOIS情報
・proxy_release: WHOIS代理公開
・not_proxy_release: WHOIS代理公開以外
・processing: WHOIS変更中
・(数値): WHOISコンタクト情報一覧取得APIで取得したid

isAutoRenewal  integer optional
自動更新
・0: 自動更新OFF
・1: 自動更新ON

isDomainLock  integer optional
ドメインロック
・0: ドメインロックOFF
・1: ドメインロックON

status  integer optional
ステータス
・1: 有効
・2: 30日以内期限切れ
・3: 期限切れ(更新可能)
・4: 期限切れ(復旧可能)

isTrash  integer optional
ごみ箱
・0: ごみ箱に入っていないドメインのみ
・1: ごみ箱に入っているドメインのみ
※指定しない場合:0

nameServer  string optional
ネームサーバー1の情報

obtainDateStart  string optional
取得日(from)date_format:Y-m-d

obtainDateEnd  string optional
取得日(to)date_format:Y-m-d

dueDateStart  string optional
有効期限(from)date_format:Y-m-d

dueDateEnd  string optional
有効期限(to)date_format:Y-m-d

Response Fields

total  integer
ドメイン件数(条件に一致する全て)

currentPage  integer
現在のページ

domains  array
ドメイン情報オブジェクト配列

domains.[].domainName  string
ドメイン名(IDNの場合、punycode)

domains.[].idn  string
国際化ドメイン名

domains.[].isWhoisProxyEnabledFlg  integer
WHOIS代理公開
・0: WHOIS代理公開以外
・1: WHOIS代理公開

domains.[].isWhoisProcessingFlg  integer
WHOIS変更処理
・0: WHOIS処理中以外
・1: WHOIS変更処理中(メール承認必要)
・2: WHOIS変更処理中(メール承認不要)

domains.[].isAutoRenewalEnabledFlg  integer
自動更新
・0: 自動更新OFF
・1: 自動更新ON

domains.[].isDomainLockEnabledFlg  integer
ドメインロック
・0: ドメインロックOFF
・1: ドメインロックON

domains.[].regContactId  integer
WHOIS情報の登録者情報ID。WHOIS代理公開の場合null

domains.[].admContactId  integer
WHOIS情報の管理担当者情報ID。WHOIS代理公開の場合null

domains.[].tecContactId  integer
WHOIS情報の技術担当者情報ID。WHOIS代理公開の場合null

domains.[].bilContactId  integer
WHOIS情報の経理担当社情報ID。WHOIS代理公開の場合null

domains.[].obtainDate  string
ドメイン取得日(date_format:Y-m-d)

domains.[].dueDate  string
ドメイン有効期限(date_format:Y-m-d)

domains.[].createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

domains.[].updatedAt  string
データ更新日(date_format:Y-m-d H:i:s)

domains.[].domainNameServers  array
ネームサーバー情報配列

domains.[].domainNameServers.[]  string
ネームサーバー情報(ns1, ns2まで返却)

domainInfo

管理ドメイン詳細取得API
指定した管理ドメインの詳細情報を返却します。ドメインステータス・WHOIS情報・DNS設定情報

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/info" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/info',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/info'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "domainName": "xn--tck5a9g.jp",
        "idn": "ラッコ.jp",
        "isWhoisProxyEnabledFlg": 0,
        "isWhoisPrcessingFlg": 0,
        "isDomainLockEnabledFlg": 0,
        "isAutoRenewalEnabledFlg": 0,
        "regContactId": 37,
        "admContactId": 37,
        "tecContactId": 37,
        "bilContactId": 37,
        "obtainDate": "2020-05-20",
        "dueDate": "2021-05-20",
        "createdAt": "2020-05-20 11:13:59",
        "updatedAt": "2020-05-20 11:13:59",
        "regContact": {
            "contactId": 37,
            "email": "whois@rakkodomain.com",
            "lastName": "Sakatani",
            "firstName": "Yasutaka",
            "role": "2",
            "organization": "ThinKraft, Inc.",
            "cc": "JP",
            "pc": "1500043",
            "sp": "13",
            "city": "Shibuya-ku",
            "street1": "1-19-12, Dogenzaka",
            "street2": "Dogenzaka Imai Building",
            "phoneCountryCode": "81",
            "phone": "05031878542",
            "faxCountryCode": null,
            "fax": null,
            "createdAt": "2020-05-20 09:40:56",
            "updatedAt": "2020-05-20 09:40:56"
        },
        "admContact": {
            "contactId": 37,
            "email": "whois@rakkodomain.com",
            "lastName": "Sakatani",
            "firstName": "Yasutaka",
            "role": "2",
            "organization": "ThinKraft, Inc.",
            "cc": "JP",
            "pc": "1500043",
            "sp": "13",
            "city": "Shibuya-ku",
            "street1": "1-19-12, Dogenzaka",
            "street2": "Dogenzaka Imai Building",
            "phoneCountryCode": "81",
            "phone": "05031878542",
            "faxCountryCode": null,
            "fax": null,
            "createdAt": "2020-05-20 09:40:56",
            "updatedAt": "2020-05-20 09:40:56"
        },
        "tecContact": {
            "contactId": 37,
            "email": "whois@rakkodomain.com",
            "lastName": "Sakatani",
            "firstName": "Yasutaka",
            "role": "2",
            "organization": "ThinKraft, Inc.",
            "cc": "JP",
            "pc": "1500043",
            "sp": "13",
            "city": "Shibuya-ku",
            "street1": "1-19-12, Dogenzaka",
            "street2": "Dogenzaka Imai Building",
            "phoneCountryCode": "81",
            "phone": "05031878542",
            "faxCountryCode": null,
            "fax": null,
            "createdAt": "2020-05-20 09:40:56",
            "updatedAt": "2020-05-20 09:40:56"
        },
        "bilContact": {
            "contactId": 37,
            "email": "whois@rakkodomain.com",
            "lastName": "Sakatani",
            "firstName": "Yasutaka",
            "role": "2",
            "organization": "ThinKraft, Inc.",
            "cc": "JP",
            "pc": "1500043",
            "sp": "13",
            "city": "Shibuya-ku",
            "street1": "1-19-12, Dogenzaka",
            "street2": "Dogenzaka Imai Building",
            "phoneCountryCode": "81",
            "phone": "05031878542",
            "faxCountryCode": null,
            "fax": null,
            "createdAt": "2020-05-20 09:40:56",
            "updatedAt": "2020-05-20 09:40:56"
        },
        "domainNameServers": [
            {
                "name": "01.dnsv.jp",
                "priority": 1,
                "createdAt": "2020-05-20 12:37:50",
                "updatedAt": "2020-05-20 12:37:50"
            },
            {
                "name": "02.dnsv.jp",
                "priority": 2,
                "createdAt": "2020-05-20 12:37:50",
                "updatedAt": "2020-05-20 12:37:50"
            }
        ],
        "domainNameSystems": [
            {
                "recordNum": 0,
                "hostName": "a.xn--tck5a9g.jp.",
                "record": "12.34.56.78",
                "recordType": 20,
                "ttl": 86400,
                "priority": null,
                "weight": null,
                "port": null,
                "keyTag": null,
                "alg": null,
                "digestType": null,
                "digest": null,
                "createdAt": "2020-05-29 10:02:40",
                "updated_at": "2020-05-29 10:02:40"
            },
            {
                "recordNum": 1,
                "hostName": "_srv._proto.srv.xn--tck5a9g.jp.",
                "record": ".",
                "recordType": 90,
                "ttl": 86400,
                "priority": 10,
                "weight": 100,
                "port": 25,
                "keyTag": null,
                "alg": null,
                "digestType": null,
                "digest": null,
                "createdAt": "2020-05-29 10:02:40",
                "updatedAt": "2020-05-29 10:02:40"
            }
        ]
    }
}

Request

POST api/v1/domain/info

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

Response Fields

domainName  string
ドメイン名(IDNの場合、punycode)

idn  string
国際化ドメイン名

isWhoisProxyEnabledFlg  integer
WHOIS代理公開
・0: WHOIS代理公開以外
・1: WHOIS代理公開

isWhoisProcessingFlg  integer
WHOIS変更処理
・0: WHOIS処理中以外
・1: WHOIS変更処理中(メール承認必要)
・2: WHOIS変更処理中(メール承認不要)

isDomainLockEnabledFlg  integer
ドメインロック
・0: ドメインロックOFF
・1: ドメインロックON

isAutoRenewalEnabledFlg  integer
自動更新
・0: 自動更新OFF
・1: 自動更新ON

regContactId  integer
WHOIS情報の登録者情報ID。WHOIS代理公開の場合null

admContactId  integer
WHOIS情報の管理担当者情報ID。WHOIS代理公開の場合null

tecContactId  integer
WHOIS情報の技術担当者情報ID。WHOIS代理公開の場合null

bilContactId  integer
WHOIS情報の経理担当者情報ID。WHOIS代理公開の場合null

obtainDate  string
ドメイン取得日(date_format:Y-m-d)

dueDate  string
ドメイン有効期限(date_format:Y-m-d)

createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

updatedAt  string
データ更新日(date_format:Y-m-d H:i:s)

regContact  object
WHOIS情報の登録者情報オブジェクト。WHOIS代理公開の場合null

regContact.contactId  integer
WHOISコンタクト情報ID

regContact.email  string
メールアドレス

regContact.lastName  string

regContact.firstName  string

regContact.role  string
種類
・1: 個人
・2: 組織

regContact.organization  string
組織名

regContact.cc  string
国コード(ISO3166 2桁)

regContact.pc  string
郵便番号

regContact.sp  string
都道府県コード(JISX0401)

regContact.city  string
市区

regContact.street1  string
市区町村

regContact.street2  string
建物名・ビル名(任意項目)設定ない場合null

regContact.phoneCountryCode  string
電番番号 国際電話番号

regContact.phone  string
電番番号

regContact.faxCountryCode  string
FAX番号 国際電話番号(任意項目)設定ない場合null

regContact.fax  string
FAX番号(任意項目)設定ない場合null

regContact.createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

regContact.updatedAt  string
データ登録日(date_format:Y-m-d H:i:s)

admContact  object
WHOIS情報の管理担当者情報オブジェクト。設定値はregContactと同様

tecContact  object
WHOIS情報の技術担当者情報オブジェクト。設定値はregContactと同様

bilContact  object
WHOIS情報の経理担当者情報オブジェクト。設定値はregContactと同様

domainNameServers  array
ネームサーバー情報オブジェクト配列

domainNameServers.[].name  string
ネームサーバー名

domainNameServers.[].priority  integer
優先順位

domainNameServers.[].createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

domainNameServers.[].updatedAt  string
データ更新日(date_format:Y-m-d H:i:s)

domainNameSystems  array
DNS情報オブジェクト配列

domainNameSystems.[].recordNum  integer
レコード番号

domainNameSystems.[].hostName  string
ホスト名

domainNameSystems.[].record  string
レコード

domainNameSystems.[].recordType  integer
レコードタイプ
・10: NSレコード
・20: Aレコード
・30: CNAMEレコード
・40: MXレコード
・50: TXTレコード
・60: AAAAレコード
・90: SRVレコード
・100: DSレコード

domainNameSystems.[].ttl  integer
キャッシュ有効時間

domainNameSystems.[].priority  integer
優先度

domainNameSystems.[].weight  integer
重み(レコードタイプ: 90 SRV)

domainNameSystems.[].port  integer
ポート番号(レコードタイプ: 90 SRV)

domainNameSystems.[].keyTag  integer
鍵タグ(レコードタイプ: 100 DS)

domainNameSystems.[].alg  integer
アルゴリズム(レコードタイプ: 100 DS)

domainNameSystems.[].digestType  integer
ダイジェストタイプ(レコードタイプ: 100 DS)

domainNameSystems.[].digest  string
ダイジェスト(レコードタイプ: 100 DS)

domainNameSystems.[].createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

domainNameSystems.[].updatedAt  string
データ更新日(date_format:Y-m-d H:i:s)

authcodeRequest

AUTHCODE取得API
管理ドメインのAUTHCODE取得申請を行います。成功した場合の取得結果はメールにて通知いたします。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/authcode_request" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/authcode_request',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/authcode_request'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/domain/authcode_request

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

domainCreate

ドメイン取得API
新規にドメインを取得します。ドメイン購入にはラッコポイントが必要です。クレジットカードを登録されている場合は不足分がオートチャージされます。 ドメイン名・登録年数以外は「ドメイン初期設定」の情報を基に取得されます。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/create" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","period":1}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/create',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'period' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/create'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "period": 1
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "domainName": "sample-domain.com",
        "idn": "sample-domain.com",
        "usePoint": 1350,
        "chargePoint": 0
    }
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": {
        "domainName": "sample-domain.com",
        "idn": "sample-domain.com",
        "usePoint": 1350,
        "chargePoint": 0
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/domain/create

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名

period  integer
登録年数

Response Fields

domainName  string
ドメイン名(IDNの場合、punycode)

idn  string
国際化ドメイン名

usePoint  integer
使用したラッコポイント

chargePoint  integer
自動購入したラッコポイント(クレジットカード登録時のみ)

domainRenewal

ドメイン有効期限更新API
管理ドメインの有効期限を更新します。ドメイン更新にはラッコポイントが必要です。クレジットカードを登録されている場合は不足分がオートチャージされます。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/renewal" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","period":1}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/renewal',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'period' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/renewal'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "period": 1
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "usePoint": 1350,
        "chargePoint": 0
    }
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": {
        "usePoint": 1350,
        "chargePoint": 0
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/domain/renewal

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

period  integer
更新年数(1年〜9年)

Response Fields

usePoint  integer
使用したラッコポイント

chargePoint  integer
自動購入したラッコポイント(クレジットカード登録時のみ)

domainNameServerUpdate

ドメインネームサーバー変更API
管理ドメインのネームサーバーを変更します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/name_server_update" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","nameServers":["01.dnsv.jp"]}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/name_server_update',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'nameServers' => [
                '01.dnsv.jp',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/name_server_update'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "nameServers": [
        "01.dnsv.jp"
    ]
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/domain/name_server_update

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

nameServers  array
ネームサーバー配列(最低2件、最大8件)

nameServers.*  string
ネームサーバー

domainLock

ドメインロック変更API
管理ドメインのドメインロックを変更します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/lock" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","isDomainLockEnabledFlg":1}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/lock',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'isDomainLockEnabledFlg' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/lock'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "isDomainLockEnabledFlg": 1
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/domain/lock

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

isDomainLockEnabledFlg  integer
ドメインロック
・0: ドメインロックOFF
・1: ドメインロックON

domainMove

ドメイン移動API
管理ドメインを他のラッコIDに移動します。
移動先のラッコID または、移動先のメールアドレスの指定が必要です。
・移動先のラッコID指定:即時移動
・移動先のメールアドレス指定:相手の承認が必要、ラッコIDが無い人にも譲渡可能

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/move" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"toRakkoId":100040,"toEmail":"move@example.com","domainNames":["sample-domain.com"]}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/move',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'toRakkoId' => 100040,
            'toEmail' => 'move@example.com',
            'domainNames' => [
                'sample-domain.com',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/move'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "toRakkoId": 100040,
    "toEmail": "move@example.com",
    "domainNames": [
        "sample-domain.com"
    ]
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [
        "sample-domain2.com:管理外ドメイン",
        "sample-domain3.com:WHOIS変更処理中",
        "sample-domain4.com:移管OUT処理中"
    ],
    "data": {
        "successDomains": [
            "sample-domain1.com",
            "sample-domain5.com"
        ]
    }
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": {
        "successDomains": [
            "sample-domain1.com",
            "sample-domain2.com"
        ]
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "存在しない移動先"
    ],
    "data": []
}

Request

POST api/v1/domain/move

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

toRakkoId  integer optional
移動先のラッコID

toEmail  string optional
移動先のメールアドレス

domainNames  array
移動対象のドメイン名配列(最大100件)

domainNames.*  string
ドメイン名(IDNの場合、punycode)

Response Fields

successDomains  array
移動成功(または移動申請成功)ドメイン配列

successDomains.*  string
移動成功(または移動申請成功)ドメイン名

domainTrash

ごみ箱操作API
管理ドメインをごみ箱に出し入れします。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/domain/trash" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","isTrash":1}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/domain/trash',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'isTrash' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/domain/trash'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "isTrash": 1
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "管理外ドメイン"
    ],
    "data": []
}

Request

POST api/v1/domain/trash

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

isTrash  integer
ごみ箱フラグ
・0: ごみ箱から出す
・1: ごみ箱に入れる

2. Whois Management

contactList

WHOISコンタクト情報一覧取得API
管理下にある全てのWHOISコンタクト情報を返却します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/whois/contact/list" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/whois/contact/list',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/whois/contact/list'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "contacts": [
            {
                "domainNum": 2,
                "contactId": 1,
                "email": "whois@rakkodomain.com",
                "lastName": "Sakatani",
                "firstName": "Yasutaka",
                "role": "2",
                "organization": "th-hoge-0407.jp",
                "cc": "JP",
                "pc": "1500043",
                "sp": "13",
                "city": "Shibuya-ku",
                "street1": "1-19-12 Dogenzaka",
                "street2": "Dogenzaka Imai Bldg. F4",
                "phoneCountryCode": "81",
                "phone": "05031878542",
                "faxCountryCode": null,
                "fax": null,
                "createdAt": "2020-04-07 11:21:54",
                "updatedAt": "2020-04-07 11:21:54"
            },
            {
                "domainNum": 2,
                "contactId": 2,
                "email": "whois@rakkodomain.com",
                "lastName": "Sakatani",
                "firstName": "Yasutaka",
                "role": "2",
                "organization": "ThinKraft, Inc.",
                "cc": "JP",
                "pc": "1500043",
                "sp": "13",
                "city": "Shibuya-ku",
                "street1": "1-19-12 Dogenzaka",
                "street2": "Dogenzaka Imai Bldg. F4",
                "phoneCountryCode": "81",
                "phone": "05031878542",
                "faxCountryCode": null,
                "fax": null,
                "createdAt": "2020-04-07 11:21:54",
                "updatedAt": "2020-04-07 11:21:54"
            }
        ]
    }
}

Request

POST api/v1/whois/contact/list

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

Response Fields

contacts  array
WHOISコンタクト情報オブジェクト配列

contacts.[].domainNum  integer
レコード設定ドメイン数

contacts.[].contactId  integer
WHOISコンタクト情報ID

contacts.[].email  string
メールアドレス

contacts.[].lastName  string
担当者姓

contacts.[].firstName  string
担当者名

contacts.[].role  integer
種類
・1: 個人
・2: 組織

contacts.[].organization  string
個人名/組織名

contacts.[].cc  string
国コード(ISO3166 2桁)

contacts.[].pc  string
郵便番号

contacts.[].sp  string
都道府県コード(JISX0401)

contacts.[].city  string
市区

contacts.[].street1  string
町村番地

contacts.[].street2  string
建物名・ビル名(任意項目)設定ない場合null

contacts.[].phoneCountryCode  string
電番番号 国際電話番号

contacts.[].phone  string
電番番号

contacts.[].faxCountryCode  string
FAX番号 国際電話番号(任意項目)設定ない場合null

contacts.[].fax  string
FAX番号(任意項目)設定ない場合null

contacts.[].createdAt  string
データ登録日(date_format:Y-m-d H:i:s)

contacts.[].updatedAt  string
データ登録日(date_format:Y-m-d H:i:s)

contactAdd

WHOISコンタクト情報追加API
WHOIS設定に使用するコンタクト情報を追加します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/whois/contact/add" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"email":"whois@rakkodomain.com","lastName":"Sakatani","firstName":"Yasutaka","role":"2","organization":"ThinKraft, Inc.","cc":"JP","pc":"1500043","sp":"13","city":"Shibuya-ku","street1":"1-19-12, Dogenzaka","street2":"Dogenzaka Imai Building","phoneCountryCode":"81","phone":"05031878542","faxCountryCode":"81","fax":"05031878542"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/whois/contact/add',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'email' => 'whois@rakkodomain.com',
            'lastName' => 'Sakatani',
            'firstName' => 'Yasutaka',
            'role' => '2',
            'organization' => 'ThinKraft, Inc.',
            'cc' => 'JP',
            'pc' => '1500043',
            'sp' => '13',
            'city' => 'Shibuya-ku',
            'street1' => '1-19-12, Dogenzaka',
            'street2' => 'Dogenzaka Imai Building',
            'phoneCountryCode' => '81',
            'phone' => '05031878542',
            'faxCountryCode' => '81',
            'fax' => '05031878542',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/whois/contact/add'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "email": "whois@rakkodomain.com",
    "lastName": "Sakatani",
    "firstName": "Yasutaka",
    "role": "2",
    "organization": "ThinKraft, Inc.",
    "cc": "JP",
    "pc": "1500043",
    "sp": "13",
    "city": "Shibuya-ku",
    "street1": "1-19-12, Dogenzaka",
    "street2": "Dogenzaka Imai Building",
    "phoneCountryCode": "81",
    "phone": "05031878542",
    "faxCountryCode": "81",
    "fax": "05031878542"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "contactId": "1"
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/whois/contact/add

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

email  string
メールアドレス

lastName  string
担当者姓

firstName  string
担当者名

role  string
種類
・1: 個人
・2: 組織

organization  string optional
個人名/組織名
種類に組織を設定した場合、必須

cc  string
国コード(ISO3166 2桁)

pc  string
郵便番号

sp  string
都道府県コード(JISX0401)

city  string
市区

street1  string
町村番地

street2  string optional
建物名・ビル名(任意項目)設定ない場合null

phoneCountryCode  string
電番番号 国際電話番号

phone  string
電番番号

faxCountryCode  string optional
FAX番号 国際電話番号(任意項目)設定ない場合null

fax  string optional
FAX番号(任意項目)設定ない場合null

Response Fields

contactId  integer
登録したWHOISコンタクト情報ID

contactDelete

WHOISコンタクト情報削除API
WHOIS設定に使用するコンタクト情報を削除します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/whois/contact/delete" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"contactId":1}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/whois/contact/delete',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'contactId' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/whois/contact/delete'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "contactId": 1
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/whois/contact/delete

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

contactId  integer
WHOISコンタクト情報ID

whoisUpdate

WHOIS変更API
指定したドメインのWHOIS情報を変更します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/whois/update" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","isWhoisProxyEnabledFlg":0,"contacts":{"regContactId":1,"admContactId":1,"tecContactId":1,"bilContactId":1}}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/whois/update',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'isWhoisProxyEnabledFlg' => 0,
            'contacts' => [
                'regContactId' => 1,
                'admContactId' => 1,
                'tecContactId' => 1,
                'bilContactId' => 1,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/whois/update'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "isWhoisProxyEnabledFlg": 0,
    "contacts": {
        "regContactId": 1,
        "admContactId": 1,
        "tecContactId": 1,
        "bilContactId": 1
    }
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/whois/update

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

isWhoisProxyEnabledFlg  integer
WHOIS代理公開設定
・0: WHOIS代理公開以外
・1: WHOIS代理公開

contacts  array optional
WHOISコンタクト情報オブジェクト
WHOIS代理公開設定が 0(WHOIS代理公開以外)の場合必須

contacts.regContactId  integer optional
登録者コンタクトID

contacts.admContactId  integer optional
管理担当者コンタクトID

contacts.tecContactId  integer optional
技術担当者コンタクトID

contacts.bilContactId  integer optional
経理担当者コンタクトID

whoisUpdateCancel

WHOIS変更キャンセルAPI
指定したドメインのWHOIS情報変更処理をキャンセルします。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/whois/update/cancel" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/whois/update/cancel',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/whois/update/cancel'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/whois/update/cancel

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

3. DNS Management

dnsUpdate

DNSレコード変更API
管理ドメインのDNSレコード変更します。
ご利用の際は、DNSレコードの設定方法をご確認ください。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/dns/update" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","editNameServer":1,"dnsRecords":[{"recordType":20,"hostName":"arecord","value":"13.115.58.34","ttl":86400,"priority":10,"serviceName":"_service.","protocol":"_proto.","weight":100,"port":21,"keyTag":0,"alg":3,"digestType":1,"digestString":"1234567890123456789012345678901234567890"}]}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/dns/update',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'editNameServer' => 1,
            'dnsRecords' => [
                [
                    'recordType' => 20,
                    'hostName' => 'arecord',
                    'value' => '13.115.58.34',
                    'ttl' => 86400,
                    'priority' => 10,
                    'serviceName' => '_service.',
                    'protocol' => '_proto.',
                    'weight' => 100,
                    'port' => 21,
                    'keyTag' => 0,
                    'alg' => 3,
                    'digestType' => 1,
                    'digestString' => '1234567890123456789012345678901234567890',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/dns/update'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "editNameServer": 1,
    "dnsRecords": [
        {
            "recordType": 20,
            "hostName": "arecord",
            "value": "13.115.58.34",
            "ttl": 86400,
            "priority": 10,
            "serviceName": "_service.",
            "protocol": "_proto.",
            "weight": 100,
            "port": 21,
            "keyTag": 0,
            "alg": 3,
            "digestType": 1,
            "digestString": "1234567890123456789012345678901234567890"
        }
    ]
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": []
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "error message"
    ],
    "data": []
}

Request

POST api/v1/dns/update

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
ドメイン名(IDNの場合、punycode)

editNameServer  integer
NS同時変更
・0: ネームサーバー変更なし
・1: ネームサーバー同時変更

dnsRecords  array
DNSレコードオブジェクト配列

dnsRecords.*.recordType  integer
レコードタイプ
・10: NSレコード
・20: Aレコード
・30: CNAMEレコード
・40: MXレコード
・50: TXTレコード
・60: AAAAレコード
・90: SRVレコード
・100: DSレコード

dnsRecords.*.hostName  string optional
ホスト名
ホスト名を入力(xxx.rakkodomain.comの場合はxxxのみ)

dnsRecords.*.value  string optional
レコード値(レコードタイプ: 10,20,30,40,50,60 の場合必須)

dnsRecords.*.ttl  integer
キャッシュ有効時間
・60〜86400の範囲の値

dnsRecords.*.priority  integer optional
優先度(レコードタイプ: 40 MXレコード, 90 SRV の場合必須)
・0〜65535の範囲の値

dnsRecords.*.serviceName  string optional
サービス名(レコードタイプ: 90 SRV の場合必須)
・「_」アンダーバーから開始されていること。
・「.」ドットで終了されていること。

dnsRecords.*.protocol  string optional
プロトコル(レコードタイプ: 90 SRV の場合必須)
・「_」アンダーバーから開始されていること。
・「.」ドットで終了されていること。

dnsRecords.*.weight  integer optional
重み(レコードタイプ: 90 SRV の場合必須)
・0〜65535の範囲の値

dnsRecords.*.port  integer optional
ポート番号(レコードタイプ: 90 SRV の場合必須)
・0〜65535の範囲の値

dnsRecords.*.keyTag  integer optional
鍵タグ(レコードタイプ: 100 DS の場合必須)
・0〜65535の範囲の値

dnsRecords.*.alg  integer optional
アルゴリズム(レコードタイプ: 100 DS の場合必須)
・3,5,6,7,8,10,12,13,14 のいずれか

dnsRecords.*.digestType  integer optional
ダイジェストタイプ(レコードタイプ: 100 DS の場合必須)
・1,2 のいずれか

dnsRecords.*.digestString  string optional
ダイジェスト(レコードタイプ: 100 DS の場合必須)
・digestType:1の場合 40byte
・digestType:2の場合 64byte

4. Transfer Management

transferCheck

ドメイン移管可否チェックAPI
ドメイン移管可否チェックの結果を返却します。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/transfer/check" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/transfer/check',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/transfer/check'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "domainName": "sample-domain.com",
        "idn": "sample-domain.com",
        "isFreeTransfer": 1
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "申請済み"
    ],
    "data": []
}

Request

POST api/v1/transfer/check

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
移管対象ドメイン名

Response Fields

domainName  string
ドメイン名(IDNの場合、punycode)

idn  string
国際化ドメイン名

isFreeTransfer  integer
無料移管
・0: 無料移管対象外
・1: 無料移管対象

transferDomain

ドメイン移管申請API
ドメイン移管申請を行います。ドメイン移管にはラッコポイントが必要です。クレジットカードを登録されている場合は不足分がオートチャージされます。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/transfer/domain" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"domainName":"sample-domain.com","authcode":"gMmcTG16hE1!"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/transfer/domain',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'domainName' => 'sample-domain.com',
            'authcode' => 'gMmcTG16hE1!',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/transfer/domain'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "domainName": "sample-domain.com",
    "authcode": "gMmcTG16hE1!"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, pending):

{
    "result": "pending",
    "errors": [],
    "data": {
        "domainName": "sample-domain.com",
        "idn": "sample-domain.com",
        "usePoint": 1350,
        "chargePoint": 0
    }
}

Example response (200, error):

{
    "result": "error",
    "errors": [
        "ポイント不足"
    ],
    "data": []
}

Request

POST api/v1/transfer/domain

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

domainName  string
移管対象ドメイン名

authcode  string optional
AUTHOCDE(.JPドメイン以外必須)

Response Fields

domainName  string
ドメイン名(IDNの場合、punycode)

idn  string
国際化ドメイン名

usePoint  integer
使用したラッコポイント

chargePoint  integer
自動購入したラッコポイント(クレジットカード登録時のみ)

5. ActionLog Management

actionLogList

操作履歴取得API
操作履歴(アクションログ)の一覧を返却します。1ページあたりの出力件数は最大200件。

Example request:

curl -X POST \
    "https://rakkodomain.com/api/v1/action_log/list" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"apiKey":"[your api key]","rakkoId":100000,"page":1,"description":"sample-domain","dateStart":"2020-06-01","dateEnd":"2020-06-30"}'

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rakkodomain.com/api/v1/action_log/list',
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'apiKey' => '[your api key]',
            'rakkoId' => 100000,
            'page' => 1,
            'description' => 'sample-domain',
            'dateStart' => '2020-06-01',
            'dateEnd' => '2020-06-30',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rakkodomain.com/api/v1/action_log/list'
payload = {
    "apiKey": "[your api key]",
    "rakkoId": 100000,
    "page": 1,
    "description": "sample-domain",
    "dateStart": "2020-06-01",
    "dateEnd": "2020-06-30"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, success):

{
    "result": "success",
    "errors": [],
    "data": {
        "total": 2,
        "currentPage": 1,
        "actionLogs": [
            {
                "id": 4838,
                "actionName": "ドメイン取得(成功)",
                "description": "sample-domain-0522.xyz \/ 1年",
                "point": null,
                "leftPoint": null,
                "pointType": null,
                "createdAt": "2020-05-22 10:30:16"
            },
            {
                "id": 4837,
                "actionName": "ドメイン取得(受付)",
                "description": "sample-domain-0522.xyz \/ 1年",
                "point": 11,
                "leftPoint": 0,
                "pointType": 1,
                "createdAt": "2020-05-22 10:30:07"
            }
        ]
    }
}

Request

POST api/v1/action_log/list

Body Parameters

apiKey  string
ユーザー個別に発行されたAPIキー

rakkoId  integer
ラッコID

page  integer optional
ページ番号

description  string optional
ドメイン名

dateStart  string
期間(from)date_format:Y-m-d

dateEnd  string
期間(to)date_format:Y-m-d

Response Fields

total  integer
アクションログ件数

currentPage  integer
現在のページ

actionLogs  array
アクションログ情報オブジェクト配列

actionLogs.[].id  integer
アクションログID

actionLogs.[].actionName  string
アクション名

actionLogs.[].description  string
内容

actionLogs.[].point  integer
取得ポイント/使用ポイント

actionLogs.[].leftPoint  integer
残りポイント

actionLogs.[].pointType  integer
ポイント加減タイプ
・0: 正
・1: 負

actionLogs.[].createdAt  string
アクションログ登録日時(date_format:Y-m-d H:i:s)