Contact Center > Online Contact > API Guide for Developers > Open API Overview

API Certification Method Description

Security Key

Organization level

Each organization created in NHN Cloud CONSOLE has its only security key. The security key enables encryption of data sent by the API and enables calling Open API related to organizational management. (register service, edit service, delete service, etc.) You could check organization level security key by Global Management → SSO Login → API Key menu.

Service Level

You can create multiple services in one organization and each service has its only security key. The security key enables encryption of data sent by the API and enables calling Open API related to service management. (Ticket management, FAQ, etc.) You could add service by add service API (/openapi/v1/admin/service/add.json), and after adding service, you could view service level security key from the returned response value. Also, you could check the security key by accessing into the service’s Online Contact, and click Service Management → OPEN API → API Key menu.

Response Body
{
    "header":{
        "resultCode":200,
        "resultMessage":"",
        "isSuccessful":true
    },
    "result":{
        "content":{
            "serviceId":"GameBaseService",
            "name":"GameBaseServiceAPI",
            "active":true,
            "language":"ko",
            "timeZone":"Asia/Seoul",
            "createdDt":1586745222442,
            "updatedDt":1586745222442,
            "securityKey":"cfdc25cc7ef54759ad29e6345213f2ed"
        }
    }
}

Authorization Header

You should set the following values to each request header. - Authorization: Authentication string generated by the security key - X-TC-Timestamp:Current UTC time value {new Date().getTime()} - OUCODE:User code( Not required, default value is Owner if not set)

To create an authorization string

You could create authorization string through encrypting by HmacSHA256, or encrypting (Organization ID + request URI + parameter value + Current UTC time value)string.

Java Example
String URL = "http://nhn-cs.alpha-oc.toast.com/openapi/v1/admin/service/add.json";
String organizationId = "WopqM8euoYw89B7i"; // Organization ID
String securityKey = "0983e74b682b416684d2da59347aec82"; // Organization API Key
String uri = "/openapi/v1/admin/service/add.json"; // request uri
StringBuilder sb = new StringBuilder();
sb.append(organizationId);
sb.append(uri);
sb.append("GameBaseService").append("&").append("GameBaseServiceAPI").append("&").append("ko").append("&").append("Asia/Seoul");// Parameter values are in name ascending order, and are separated by &
Date date = new Date();
sb.append(date.getTime());
SecretKeySpec signingKey = new SecretKeySpec(securityKey.getBytes("UTF-8"), "HmacSHA256");
Mac mac = Mac.getInstance(signingKey.getAlgorithm());
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(sb.toString().getBytes("UTF-8"));
String authorization = new String(Base64.encodeBase64(rawHmac));
  • Add body string after parameter when request body exists
  • When attaching file, add MD5 of the file to the authentication string as parameter value
  • Security Key
  • When using /openapi/v1/admin/* type of API, Use organization level security key
  • When using {serviceId}/openapi/v1/* type of API, Use service level security key

Common return result

Name Variable Data Type Required Details
Header resultCode VARCHAR(2) O Result code, success is 200
resultMessage VARCHAR(50) O Result message (error)
isSuccessful Boolean O Execution result (Success:true, Fail:false)
Result contents JSON X contents of result list
content JSON X detailed contents of result

Return Code

  • 200 :SUCCESS
  • 400 :Bad Request
  • 403 : Forbidden
  • 404 : Not Data Found
  • 500 : Server Error
  • 9007 : Related data exists
  • 9005 : No related data

Development Environment URL

Environment BaseUrl
alpha https://{domain}.alpha-oc.toast.com
real https://{domain}.oc.toast.com

Security Key URL

Security Key URL
Organization Level /openapi/v1/admin/*
Service Level /{serviceId}/openapi/v1/*

API List

Level Group Name Details
Organization Level Service Add service Add new service
Service detail Retrieve service information through service ID
Edit service Edit service information through service ID
Disable service Disable service through service ID
Enable service Enable service through service ID
Delete service Delete disabled services through service ID
Reissue Service API Key Re-issue API key generated by the service through service ID
Service list Query all services created within the organization
Register service contract Register service contract
Change service contract Change the contents of contract (Only once a day)
Service contract list Service contract list in the organization
Service contract detail – service ID Obtain contract information by service ID
Service contract detail – contract ID Obtain contract information by contract ID
Service Level Email Settings Create representative account Create service representative account. (Cannot be modified after creation) format: **@oc.toast.com
Email Info Lookup Query all email information in the service
External account validation External account validation
Add external account Add external account (Can add after validation)
Edit external account Edit external account (Can add after validation)
Enable external account Enable disabled external account
Disable external account Disable enabled external account
Delete external account Delete disabled external account
Save email information Save email information
Submission Category Management Add submission category Add new submission category
Submission category detail Submission category inquiry through submission category ID
Edit submission category Edit submission category through submission category ID
Delete submission category Delete submission category through submission category ID
Submission category list In-service submission type inquiry
Ticket Management Create ticket Create new ticket
Process ticket Process ticket through ticket ID
Ticket detail Retrieve ticket detail through ticket ID
Ticket list Expose the list of tickets that meet the search criteria
User ticket list Expose the list of tickets of the customer that meet the search criteria
Attach file to ticket Upload file to server
Open/download ticket attachment Open/download file uploaded to server
Delete ticket attachment Delete file uploaded to server
Notice Notice list Inquiry Return a list of announcements according to search conditions
Notice detailed inquiry Obtain the contents of notice through notice ID
Notice detailed inquiry (multiple cases) Obtain the contents of notices through multiple notice ID
Register notice Register new notice
Edit notice Edit notice through ID
Delete notice Delete notice through ID
Notice template list Inquiry Return a list of notice templates according to search conditions
Notice template detailed inquiry Obtain the contents of notice template through template ID
Register notice template Register new notice template
Edit notice template Edit notice template through ID
Delete notice template Delete notice template through ID
Attach file to notice Upload file to server
Delete attached file from notice Delete uploaded file
Notice tag list Inquiry Return a list of notice tags according to search conditions
Notice tag detailed inquiry Obtain the contents of notice tag through tag ID
Register notice tag Register new notice tag
Edit notice tag Edit notice tag through ID
Delete notice tag Delete notice tag through ID
Notice heading list Inquiry Return a list of notice headings according to search conditions
Notice heading detailed inquiry Obtain the contents of notice heading through heading ID
Register notice heading Register new notice heading
Edit notice heading Edit notice heading through ID
Delete notice heading Delete notice heading through ID
Agent Management Agent List Inquiry Obtain a list of agents
Agent detailed inquiry Obtain agent information through agent ID
Add agent Add agent and give authority to selected service
Change agent authority Change agent authority
Delete agent Delete agent in selected service
Help Center Add specified data to help center Save additionally required customer information to database
FAQ FAQ list inquiry Return FAQ list according to search conditions
FAQ detailed inquiry Obtain FAQ contents through FAQ ID
Add FAQ Add new FAQ
Edit FAQ Edit FAQ through FAQ ID
Set fix by category Set the FAQ document to be pinned to the top of the category to which it belongs to
Set fix by main screen Set the FAQ document to be pinned to the top of the main screen
Complete FAQ Change FAQ status to complete (status = C)
Delete FAQ Delete FAQ by FAQ ID
FAQ category list inquiry Return FAQ category list according to search conditions
FAQ category detailed inquiry Obtain FAQ category contents through FAQ category ID
Add FAQ category Add new FAQ category
Edit FAQ category Edit FAQ category through FAQ category ID
Delete FAQ category Delete FAQ category through FAQ category ID
Attach file to FAQ Upload file to server
Delete attached file Delete uploaded file
SSO SSO Remote Login API (Client Side) The user system dynamically creates a form and returns it to the browser, and the form automatically informs the API of the form information and sets the login cookie value if successful after authentication.
SSO Remote Login API (Server Side) User calls API directly from server, sets login cookie value after successful API login
SSO Login Status API Returns data in JSON format after checking if the user is logged in based on cookie information
Customer Data Connection Customer data connection When calling in, the customer data is queried by media number and displayed on the screen.
TOP