Skip to content

Create Order

Synchronous method for creating a new Order in Liner. On success, returns the identifier of the created Order.


Endpoint and method

POST /v2/order/create/


Parameters

serviceTitle string
Internal order name.

title string
Display name of the order.

status string
Order status. Available values: success, secondary, info.

sipEndpointIds array
List of virtual number identifiers.

code string optional
Order code in Liner.

callSchedule array optional
A list where each item contains the start and end time of the working day.

callHolidayOverrides array optional
List of holidays.

autoDialingEnabled bool optional
Whether calls are allowed for the order.

predictiveModeEnabled bool optional
Whether calls are allowed in predictive mode.

aiModeEnabled bool optional
Whether AI calling is allowed.

standaloneAiModeEnabled bool optional
AI processing without online agents.

aiModePrompt string optional
Base prompt for the AI bot.

aiModeFirstPhrase string optional
First phrase for the AI bot.

aiDefaultLanguage string optional
Default language for AI. Available values: ru, gb.

amdDetectionEnabled bool optional
Whether answering machine detection is enabled.

callRecordRule string optional
When to start call recording. Available values: client_is_connected, agent_is_connected.

callCenterPhone string optional
Main call center phone number.

additionalCallCenterPhones array optional
Additional call center phone numbers.

sipEndpointUsageScheme string optional
Number usage scheme. Available values: random_default, random_without_repetition, even_loaded, even_loaded_daily.

agentUserIds array optional
IDs of agents who can work in this order.

agentGroupIds array optional
IDs of agent groups who can work in this order.

showLeadContactsToAgent bool optional
Whether agents can see lead contacts.

callAttemptsGroupId int optional
Call attempt intervals group ID.

qualifiedLeadsPerDayLimit int optional
Maximum number of qualified leads per day.

callScenarioId int optional
Call scenario ID.

leadTransformEnabled bool optional
Whether an agent is allowed to change the lead type.

leadsPriority int optional
Lead priority within the order.

speechRecognitionEnabled bool optional
Whether call recognition is enabled.

ignoreLeadTimezone bool optional
Whether to ignore the client’s time zone.

customValues object optional
Map of custom field values: key is the custom field ID, value is the value to be stored for that field.


Request example

curl -X POST "https://YOUR_LINER_API_HOST/v2/order/create/" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -d '{
    "code": "{{code}}",
    "serviceTitle": "{{serviceTitle}}",
    "title": "{{title}}",
    "status": "{{status}}",
    "sipEndpointIds": [{{sipEndpointId}}, ...],
    "callSchedule": [[{{start}}, {{end}}], ...],
    "callHolidayOverrides": [{{holiday}}, ...],
    "autoDialingEnabled": {{autoDialingEnabled}},
    "predictiveModeEnabled": {{predictiveModeEnabled}},
    "aiModeEnabled": {{aiModeEnabled}},
    "standaloneAiModeEnabled": {{standaloneAiModeEnabled}},
    "aiModePrompt": "{{aiModePrompt}}",
    "aiModeFirstPhrase": "{{aiModeFirstPhrase}}",
    "aiDefaultLanguage": "{{aiDefaultLanguage}}",
    "amdDetectionEnabled": {{amdDetectionEnabled}},
    "callRecordRule": "{{callRecordRule}}",
    "callCenterPhone": "{{callCenterPhone}}",
    "additionalCallCenterPhones": ["{{additionalCallCenterPhone}}", ...],
    "sipEndpointUsageScheme": "{{sipEndpointUsageScheme}}",
    "agentUserIds": [{{agentUserId}}, ...],
    "agentGroupIds": [{{agentGroupId}}, ...],
    "showLeadContactsToAgent": {{showLeadContactsToAgent}},
    "callAttemptsGroupId": {{callAttemptsGroupId}},
    "qualifiedLeadsPerDayLimit": {{qualifiedLeadsPerDayLimit}},
    "callScenarioId": {{callScenarioId}},
    "leadTransformEnabled": {{leadTransformEnabled}},
    "leadsPriority": {{leadsPriority}},
    "speechRecognitionEnabled": {{speechRecognitionEnabled}},
    "ignoreLeadTimezone": {{ignoreLeadTimezone}},
    "customValues": {
      "{{customFieldId}}": "{{customFieldValue}}"
    }
  }'
<?php

$host = 'https://YOUR_LINER_API_HOST';
$token = 'YOUR_API_TOKEN';

$payload = [
    'code' => $code,
    'serviceTitle' => $serviceTitle,
    'title' => $title,
    'status' => $status,
    'sipEndpointIds' => [$sipEndpointId, ...],
    'callSchedule' => [[$start, $end], ...],
    'callHolidayOverrides' => [$holiday, ...],
    'autoDialingEnabled' => (bool)$autoDialingEnabled,
    'predictiveModeEnabled' => (bool)$predictiveModeEnabled,
    'aiModeEnabled' => (bool)$aiModeEnabled,
    'standaloneAiModeEnabled' => (bool)$standaloneAiModeEnabled,
    'aiModePrompt' => $aiModePrompt,
    'aiModeFirstPhrase' => $aiModeFirstPhrase,
    'aiDefaultLanguage' => $aiDefaultLanguage,
    'amdDetectionEnabled' => (bool)$amdDetectionEnabled,
    'callRecordRule' => $callRecordRule,
    'callCenterPhone' => $callCenterPhone,
    'additionalCallCenterPhones' => [$additionalCallCenterPhone, ...],
    'sipEndpointUsageScheme' => $sipEndpointUsageScheme,
    'agentUserIds' => [$agentUserId, ...],
    'agentGroupIds' => [$agentGroupId, ...],
    'showLeadContactsToAgent' => (bool)$showLeadContactsToAgent,
    'callAttemptsGroupId' => (int)$callAttemptsGroupId,
    'qualifiedLeadsPerDayLimit' => (int)$qualifiedLeadsPerDayLimit,
    'callScenarioId' => (int)$callScenarioId,
    'leadTransformEnabled' => (bool)$leadTransformEnabled,
    'leadsPriority' => (int)$leadsPriority,
    'speechRecognitionEnabled' => (bool)$speechRecognitionEnabled,
    'ignoreLeadTimezone' => (bool)$ignoreLeadTimezone,
    'customValues' => [
        $customFieldId => $customFieldValue,
    ],
];

$ch = curl_init($host . '/v2/order/create/');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Api-Key: ' . $token,
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
    CURLOPT_TIMEOUT => 15,
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($response === false) {
    throw new RuntimeException('cURL error: ' . curl_error($ch));
}

curl_close($ch);

echo "HTTP {$httpCode}\n";
echo $response;
const host = "https://YOUR_LINER_API_HOST";
const token = "YOUR_API_TOKEN";

const payload = {
  code: code,
  serviceTitle: serviceTitle,
  title: title,
  status: status,
  sipEndpointIds: [sipEndpointId, ...],
  callSchedule: [[start, end], ...],
  callHolidayOverrides: [holiday, ...],
  autoDialingEnabled: Boolean(autoDialingEnabled),
  predictiveModeEnabled: Boolean(predictiveModeEnabled),
  aiModeEnabled: Boolean(aiModeEnabled),
  standaloneAiModeEnabled: Boolean(standaloneAiModeEnabled),
  aiModePrompt: aiModePrompt,
  aiModeFirstPhrase: aiModeFirstPhrase,
  aiDefaultLanguage: aiDefaultLanguage,
  amdDetectionEnabled: Boolean(amdDetectionEnabled),
  callRecordRule: callRecordRule,
  callCenterPhone: callCenterPhone,
  additionalCallCenterPhones: [additionalCallCenterPhone, ...],
  sipEndpointUsageScheme: sipEndpointUsageScheme,
  agentUserIds: [agentUserId, ...],
  agentGroupIds: [agentGroupId, ...],
  showLeadContactsToAgent: Boolean(showLeadContactsToAgent),
  callAttemptsGroupId: Number(callAttemptsGroupId),
  qualifiedLeadsPerDayLimit: Number(qualifiedLeadsPerDayLimit),
  callScenarioId: Number(callScenarioId),
  leadTransformEnabled: Boolean(leadTransformEnabled),
  leadsPriority: Number(leadsPriority),
  speechRecognitionEnabled: Boolean(speechRecognitionEnabled),
  ignoreLeadTimezone: Boolean(ignoreLeadTimezone),
  customValues: {
    [customFieldId]: customFieldValue
  }
};

const res = await fetch(`${host}/v2/order/create/`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Api-Key": token
  },
  body: JSON.stringify(payload)
});

const data = await res.json();
console.log("HTTP", res.status, data);

Response example

{
  "success": true,
  "message": "",
  "data": {
    "id": 100200300
  }
}

Response structure

Field Type Description
id int Identifier of the created Order.

Note

The structure of the data field is described above. For the overall API response format, see Request Schema