Logo bacba200a5462d19729abc05fe72e4eae3dcb1742d8a25d81deb8878c7299023API Documentation

Запросы к Alloka API


Alloka API имеет следующую структуру запросов:


1. Agency — агентство.

1.1 Info — информация об агентстве.

200 OK

{
  "agency": {
    "name": "The Agency",
    "logo": "https://analytics.alloka.ru/system/agencies/005ceb0d5ec0cd5df98b07227ff6aff8dc44e186.png?1408538134",
    "domain": "calls.theagency.ru",
    "status": "active",
    "managers_count": 1,
    "clients_count": 4,
    "white_label_allowed": false,
    "credit_payments": true,
    "balance": "-$2,606.00"
  }
}

1.2 Transactions — транзакции агентсва.

200 OK

{
  "transactions": [
    {
      "id": <ID_ТРАНЗАКЦИИ>,
      "object_id": "<ID_ОБЪЕКТА>",
      "date": "16.08.2014 21:54:44",
      "amount": "$600.00",
      "balance": "-$2,606.00",
      "way": "-",
      "type": "renew",
      "client_id": 608
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "count": 20,
  "total": 201
}

2. Clients — клиенты агентства.

2.1 Index — список клиентов.

Ответ

{
  "clients": {
    "<ID_КЛИЕНТА>": {
      "client_id": <ID_КЛИЕНТА>,
      "email": "hello@world.com",
      "company_name": "The Client",
      "objects_count": 1,
      "calls_count": 10,
      "hidden_fields": [
        "utm",
        "call_page"
      ]
    },
    ...
  },
  "offset": 0,
  "limit": 20,
  "count": 20,
  "total": 201
}

2.2 Show — информация об одном клиенте.

200 OK

{
  "client": {
    "client_id": ID_КЛИЕНТА,
    "email": "hello@world.com",
    "company_name": "The Client",
    "objects_count": 1,
    "calls_count": 10,
    "hidden_fields": [
      "utm",
      "call_page"
    ]
  }
}

2.3 Create — создание клиента.

Тело запроса

{
  "client": {
    "email": "theclient@theagency.ru",
    "password": "verystrongpassword",             
    "company_name": "The Client #0001",
    "statistics_only": true,
    "hidden_fields": ["referrer", "utm"]
  }
}

Ответ

{
  "client_id": ID_КЛИЕНТА
}

2.4 Update — редактирование клиента.

Тело запроса

{
  "client": {
    "email": "newemail@theagency.ru",
    "password": "newverystrongpassword",             
    "company_name": "New company name",
    "statistics_only": false,
    "hidden_fields": null
  }
}

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

2.5 Delete — удаление клиента.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

2.6 Unbind — открепление клиента от агентства.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

2.7 Hidden fields — список скрытых полей, доступных к назначению.

Ответ

{
  "hidden_fields": {
    "call_page": "Страница звонка",
    "custom_data": "Свои данные",
    "duration": "Длительность",
    "ga_client_id": "GA Client ID",
    "phone_number_from": "От кого",
    "record_file": "Запись",
    "referrer": "Реферрер",
    "search_request": "Поисковый запрос",
    "source": "Источник",
    "status": "Статус",
    "url_parameters": "URL параметры",
    "utm": "UTM"
  }
}

2.8 Transactions — список транзакций клиента.

Ответ

{
  "transactions": [
    {
      "id": <ID_ТРАНЗАКЦИИ>,
      "object_id": "<ID_ОБЪЕКТА>",
      "date": "16.08.2014 21:54:44",
      "amount": "$600.00",
      "balance": "-$2,606.00",
      "way": "-",
      "type": "renew",
      "client_id": 1321
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "count": 20,
  "total": 100
}

3. Geo — географическая информация.

3.1 Countries and cities — информация о доступных странах и городах.

Ответ

{
  "countries": {
    "<ID_СТРАНЫ>": {
      "country_id": ID_СТРАНЫ,
     "name": "Россия",
     "calling_code": 7,
      "сities": {
      "ID_ГОРОДА": {
        "city_id": ID_ГОРОДА,
        "name": "Москва"
      },
      ...
    },
    ...
  }
}

3.2 Countries — информация о доступных странах.

Ответ

{
  "countries": {
    "<ID_СТРАНЫ>": {
      "country_id": ID_СТРАНЫ,
      "name": "Россия",
      "calling_code": 7,
      "cities_count": 13
    }
  },
  "offset": 0,
  "limit": 20,
  "count": 1,
  "total": 1
}

3.3 Cities — информация о доступных городах.

Ответ

{
  "cities": {
  "ID_ГОРОДА": {
       "city_id": ID_ГОРОДА,
       "name": "Москва"
  },
  ...
  },
  "offset": 0,
  "limit": 20,
  "count": 13,
  "total": 13
}

3.4 IP — получение гео-данных по заданному IP-адресу

Ответ

{
  "country_code": "RU",
  "country": "RUSSIAN FEDERATION",
  "region": "MOSCOW CITY",
  "city": "MOSCOW"
}

4. Objects — объекты трекинга.

4.1 Index — список объектов.

Ответ

{
  "objects": {
    "ID_ОБЪЕКТА": {
      "object_id": "ID_ОБЪЕКТА",
      "alias": "asdru",
      "country": {
        "id": 203,
        "name": "Россия"
      },
      "city": {
        "id": 1396,
        "name": "Санкт-Петербург"
      },
      "current_city_only": true,
      "title": null,
      "site_url": "http://asd.ru",
      "phone_number": "74951115923",
      "sip_uri": null,
      "use_sip": false,
      "is_tracking": true,
      "status": "active",
      "payment_plan": {
        "name": "pro_30k",
        "title": "Про 30k",
        "price": "$149.00",
        "sessions": 30000,
        "numbers": 15
      },
      "expiration_date": "12.09.2014 10:01:09",
      "sessions_reset_date": null,
      "sessions_used": 0,
      "is_upgradable": true,
      "needs_renewing": false,
      "needs_increasing": false,
      "calls_count": 0
    }
    ...
  },
  "offset": 0,
  "limit": 20,
  "count": 13,
  "total": 13
}

4.2 Show — информация об одном объекте.

Ответ

{
  "object": {
    "object_id": "ID_ОБЪЕКТА",
    "alias": "asdru",
    "country": {
      "id": 203,
      "name": "Россия"
    },
    "city": {
      "id": 1384,
      "name": "Москва"
    },
    "current_city_only": true,
    "title": null,
    "site_url": "http://asd.ru",
    "phone_number": "74951115923",
    "sip_uri": null,
    "use_sip": false,
    "is_tracking": true,
    "status": "active",
    "payment_plan": {
      "name": "pro_30k",
      "title": "Про 30k",
      "price": "$149.00",
      "sessions": 30000,
      "numbers": 15
    },
    "expiration_date": "12.09.2014 10:01:09",
    "sessions_reset_date": null,
    "sessions_used": 0,
    "is_upgradable": true,
    "needs_renewing": false,
    "needs_increasing": false,
    "calls_count": 0
  }
}

4.3 Create — создание объекта.

Тело запроса

{
  "object": {
    "phone_number": "74951234567",
    "city_id": ID_ГОРОДА,
    "site_url": "http://www.mysite.ru",
    "title": "API test #123",
    "use_sip": true,
    "sip_uri": "user@sip.mysite.ru",
    "forward_caller_id": true,
    "current_city_only": true
  }
}

Ответ

{
  "object_id": "ID_ОБЪЕКТА"
}

4.4 Update — редактирование объекта.

Тело запроса

{
  "object": {
    "phone_number": "74951234568",
    "city_id": ID_ГОРОДА,
    "site_url": "http://www.mysite.ru",
    "title": "API test #123",
    "use_sip": true,
    "sip_uri": "user@sip.mysite.ru",
    "forward_caller_id": true,
    "current_city_only": true
  }
}

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

4.5 Delete — удаление объекта.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

4.6 JS code — получение JavaScript-кода объекта для установки на страницу.

Ответ

{
  "js_code": "..."
}

4.7 Send JS code — отправка на почту JavaScript-кода объекта для установки на страницу.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

4.8 Disable — временное отключение трекинга объекта.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.

4.9 Enable — включение отключенного трекинга объекта.

Ответ

В случае успеха будет получен пустой ответ с кодом статуса HTTP “200 OK”.


5. Payment — оплата.

5.1 Plans — тарифы.

5.1.1 Index — список всех доступных тарифов.

200 OK

{
  "types": {
    "common_pool": {
      "name": "common_pool",
      "title": "Базовый",
      "start_price": null,
      "payment_plans": {
        "basic": {
          "name": "basic",
          "title": "Базовый",
          "price": null,
          "sessions": 10000,
          "numbers": null
        },
        ...
      }
    },
    ...
  }
}

5.1.2 Show — информация об одном тарифе.

200 OK

{
  "payment_plan": {
    "name": "pro_15k",
    "title": "Про 15k",
    "price": "$59.00",
    "sessions": 15000,
    "numbers": 7
  }
}

5.2 Availability — доступность тарифов.

5.2.1 Objects — объекты.

5.2.1.1 Index — информация о доступности тарифов по множеству объектов.

200 OK

{
  "transactions": 
    {
      "objects": {
    "<ID_ОБЪЕКТА>": {
      "common_pool": {
        "self": true,
        "payment_plans": {
          "basic": true
        }
      },
      "fixed_pool": {
        "self": true,
        "payment_plans": {
          "pro_15k": true,
          "pro_30k": true,
          "pro_60k": true,
          "pro_100k": true,
          "pro_200k": true,
          "pro_300k": true,
          "pro_400k": true,
          "pro_500k": true
        }
      },
      "fixed_number": {
        "self": true,
        "payment_plans": {
          "fixed": true,
          "fixed_8800": false
        }
      }
    },
    ...
  }
}

5.2.1.2 Show — информация о доступности тарифов по одному объекту.

200 OK

{
  "object": {
    "common_pool": {
      "self": true,
      "payment_plans": {
        "basic": true
      }
    },
    "fixed_pool": {
      "self": true,
      "payment_plans": {
        "pro_15k": true,
        "pro_30k": true,
        "pro_60k": true,
        "pro_100k": false,
        "pro_200k": false,
        "pro_300k": false,
        "pro_400k": false,
        "pro_500k": false
      }
    },
    "fixed_number": {
      "self": true,
      "payment_plans": {
        "fixed": true,
        "fixed_8800": true
      }
    }
  }
}

5.3 Activate — подключение услуги трекинга.

Тело запроса

{
  "amount": 59.0
}

5.4 Renew — продление услуги трекинга.

Тело запроса

{
  "amount": 30.0
}

5.5 Upgrade — повышение тарифа услуги трекинга.

Тело запроса

{
  "amount": 90.0
}

5.6 Transactions — список транзакций.

Тело запроса

{
  "transactions": [
    {
      "id": <ID_ТРАНЗАКЦИИ>,
      "object_id": "<ID_ОБЪЕКТА>",
      "date": "13.08.2014 22:21:42",
      "amount": "$59.00",
      "balance": "-$1,403.00",
      "way": "-",
      "type": "renew",
      "client_id": 15
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "count": 44,
  "total": 44
}

6. Calls — статистика звонков.

6.1 Summary — сводная статистика звонков по множеству объектов.

Ответ

{
  "calls": {
    "<ID_ОБЪЕКТА>": {
      "18.09.2014": 7,
      "19.09.2014": 10,
      "20.09.2014": 17
    },
    "<ID_ОБЪЕКТА>": {
      "18.09.2014": 140,
      "19.09.2014": 334,
      "20.09.2014": 562
    },
    ...
  },
  "dates": [
    "18.09.2014",
    "19.09.2014",
    "20.09.2014"
  ],
  "offset": 0,
  "limit": 20,
  "count": 44,
  "total": 44
}

6.2 Objects — объекты.

6.2.1 Index — сводка звонков по объекту за период.

У этого метода есть параметр period, он может быть day week month year all custom. Если custom, то должны быть еще 2 параметра date_from и date_to.

Так же можно задать параметр limit до 100. По умолчанию он 20.

Параметр offset служит для отступа записей. По умолчанию он 0.

Пример использования:

Можно фильтровать по номеру, с которого пришел звонок. Для этого есть параметр filter_from.

Пример использования:

Формат ответа

{
"calls": {
    "<ID_ЗВОНКА>": {
      "call_id": <ID_ЗВОНКА>,
      "type": "common",
      "date": "22.01.2014 12:43:51",
      "source": {
        "title": "Яндекс.Директ",
        "url": "http://yandex.ru/yandsearch?clid=9581&text=some words&lr=2&p=2",
        "search_request": "some words",
        "utm": {
          "utm_source": "yandex",
          "utm_content": "Greetings",
          "utm_campaign": "testing",
          "utm_term": "some+words"
        }
      },
      "request_uri": {
        "text": "alloka.ru/analitika-kak-eto-rabotaet/",
        "url": "http://alloka.ru/analitika-kak-eto-rabotaet/"
      },
      "phone_number_from": "79039612209",
      "phone_number_to": "74996812509",
      "phone_number_redirect": "79107900120",
      "duration": "00:25:11",
      "custom_data": {
        "hello": "World!"
      },
      "url_parameters": {
        "param_from_url": "wow"
      },
      "ga_client_id": "1163381024.1390383571",
      "status": "answer"
    },
    ...
  },
  "offset": 0,
  "limit": 10,
  "count": 10,
  "total": 1434
}

6.2.2 Show — информация об одном звонке.

200 OK

{
  "call": {
    "call_id": <ID_ЗВОНКА>,
    "type": "common",
    "date": "22.01.2014 12:43:51",
    "source": {
      "title": "Яндекс.Директ",
      "url": "http://yandex.ru/yandsearch?clid=9581&text=some words&lr=2&p=2",
      "search_request": "some words",
      "utm": {
        "utm_source": "yandex",
        "utm_content": "Greetings",
        "utm_campaign": "testing",
        "utm_term": "some+words"
      }
    },
    "request_uri": {
      "text": "alloka.ru/analitika-kak-eto-rabotaet/",
      "url": "http://alloka.ru/analitika-kak-eto-rabotaet/"
    },
    "phone_number_from": "79039612209",
    "phone_number_to": "74996812509",
    "phone_number_redirect": "79107900120",
    "duration": "00:25:11",
    "custom_data": {
      "hello": "World!"
    },
    "url_parameters": {
      "param_from_url": "wow"
    },
    "ga_client_id": "1163381024.1390383571",
    "status": "answer"
  }
}

6.2.3 Record — аудио-запись звонка.

Ответ

В случае успеха будет получен файл аудиозаписи звонка. Возможные форматы — wav, mp3, ogg.