Test Results
⏱️ Execution time: 4672.36ms
=== Running API Tests ===
→ GET https://api.novantix.ru/docs.json
← HTTP 200, 14.01ms
↳ {
↳ "api": {
↳ "title": "Novantix API v1.0",
↳ "description": "API для работы с системой Novantix",
↳ "base_url": "https:\/\/api.novantix.ru\/",
↳ "version": "1.0"
↳ },
↳ "endpoints": [
✓ GET /docs.json returns endpoints list
→ GET https://api.novantix.ru/ordering/get_stock.json?items[0][resource_article]=GDB1044
← HTTP 400, 12.49ms
↳ {
↳ "error": "ERR_API_KEY_EMPTY",
↳ "message": "Пустой ключ API"
↳ }
✓ GET /ordering/get_stock without key returns ERR_API_KEY_EMPTY
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&analogs=2&items[0][resource_article]=GDB1044
← HTTP 400, 15.61ms
↳ {
↳ "error": "ERR_VALIDATION",
↳ "message": "Ошибка валидации параметров",
↳ "details": {
↳ "message": "Parameter \"analogs\" must be 0 or 1"
↳ }
↳ }
✓ GET /ordering/get_stock with invalid analogs returns ERR_VALIDATION
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********
← HTTP 400, 13.28ms
↳ {
↳ "error": "ERR_VALIDATION",
↳ "message": "Ошибка валидации параметров",
↳ "details": {
↳ "message": "Parameter \"items\" is required"
↳ }
↳ }
✓ GET /ordering/get_stock with empty items returns ERR_VALIDATION
→ GET https://api.novantix.ru/ordering/states.json?orders[]=abc&key=********
← HTTP 400, 12.91ms
↳ {
↳ "error": "ERR_STATES_ORDERS_IDS_INVALID",
↳ "message": "Неверные ID заказов",
↳ "details": {
↳ "message": "Неверные ID заказов"
↳ }
↳ }
✓ GET /ordering/states with invalid orders id returns ERR_STATES_ORDERS_IDS_INVALID
→ GET https://api.novantix.ru/ordering/states.json?orders[]=99999999&key=********
← HTTP 404, 15.07ms
↳ {
↳ "error": "ERR_STATES_ORDERS_IDS_INVALID",
↳ "message": "Неверные ID заказов",
↳ "details": {
↳ "missing": [
↳ "99999999"
↳ ]
↳ }
✓ GET /ordering/states with missing order id returns ERR_STATES_ORDERS_IDS_INVALID + missing[]
→ GET https://api.novantix.ru/docs.xml
← HTTP 200, 11.85ms
↳ <?xml version="1.0" encoding="UTF-8"?>
↳ <api>
↳ <api_info>
↳ <title>Novantix API v1.0</title>
↳ <description>API для работы с системой Novantix</description>
↳ <base_url>https://api.novantix.ru/</base_url>
↳ <version>1.0</version>
↳ </api_info>
✓ GET /docs.xml returns XML
→ GET https://api.novantix.ru/docs
← HTTP 200, 11.89ms
↳ <!DOCTYPE html>
↳ <html lang="ru">
↳ <head>
↳ <meta charset="UTF-8">
↳ <meta name="viewport" content="width=device-width, initial-scale=1.0">
↳ <title>Novantix API v1.0</title>
↳ <link rel="stylesheet" href="/css/docs.css">
↳ </head>
✓ GET /docs (html) returns HTML page
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&items[0][resource_article]=GDB1044
← HTTP 200, 997.5ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433526,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ GET /ordering/get_stock (1 item) returns format
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&items[0][resource_article]=GDB1044&items[1][resource_article]=OC257
← HTTP 200, 908.02ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433526,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ GET /ordering/get_stock (2 items) returns format
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&analogs=0&items[0][resource_article]=GDB1044
← HTTP 200, 115ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433526,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ GET /ordering/get_stock (analogs=0) returns format
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&analogs=1&items[0][resource_article]=GDB1044
← HTTP 200, 896.14ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433688,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ GET /ordering/get_stock (analogs=1) returns format
→ POST https://api.novantix.ru/ordering/get_stock.json
← HTTP 200, 966.71ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433688,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ POST /ordering/get_stock (2 items + analogs=1) returns format
→ GET https://api.novantix.ru/ordering/get_stock.json?key=********&items[0][resource_article]=GDB1044
← HTTP 200, 114.82ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433526,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ GET /ordering/get_stock returns format
→ POST https://api.novantix.ru/ordering/get_stock.json
← HTTP 200, 129.45ms
↳ {
↳ "resources": [
↳ {
↳ "id": 4433526,
↳ "name": "GDB1044 Колодки тормозные дисковые передн AUDI 80 91-94, 80 Avant 91-96, A4 95-",
↳ "article": "GDB1044",
↳ "brand": {
↳ "id": 1465,
✓ POST /ordering/get_stock with API key in JSON body
→ GET https://api.novantix.ru/references/states.json?key=********
← HTTP 200, 13.25ms
↳ [
↳ {
↳ "id": 10,
↳ "name": "Заказ создан",
↳ "type": 1
↳ },
↳ {
↳ "id": 20,
✓ GET /references/states returns array (format)
→ GET https://api.novantix.ru/references/brands.json?key=********
← HTTP 200, 60.07ms
↳ {
↳ "brands": [
↳ {
↳ "id": 15652,
↳ "name": "+20% Free"
↳ },
↳ {
↳ "id": 2441,
✓ GET /references/brands returns format
→ GET https://api.novantix.ru/ordering/states/active.json?key=********
← HTTP 200, 17.12ms
↳ [
↳ {
↳ "id": "191",
↳ "reference": "00000236",
↳ "items": [
↳ {
↳ "sequence": 1,
↳ "resource": {
✓ GET /ordering/states/active returns array (format)
→ GET https://api.novantix.ru/ordering/states/active.json?key=********
← HTTP 200, 13.45ms
↳ [
↳ {
↳ "id": "191",
↳ "reference": "00000236",
↳ "items": [
↳ {
↳ "sequence": 1,
↳ "resource": {
→ GET https://api.novantix.ru/ordering/states.json?key=********&orders[]=191
← HTTP 200, 15.45ms
↳ [
↳ {
↳ "id": "191",
↳ "reference": "00000236",
↳ "items": [
↳ {
↳ "sequence": 1,
↳ "resource": {
✓ GET /ordering/states with orders parameter returns array
→ GET https://api.novantix.ru/ordering/add_to_cart.json?items[0][item_id]=1&items[0][count]=1
← HTTP 400, 13.88ms
↳ {
↳ "error": "ERR_API_KEY_EMPTY",
↳ "message": "Пустой ключ API"
↳ }
✓ GET /ordering/add_to_cart without key returns ERR_API_KEY_EMPTY
→ GET https://api.novantix.ru/ordering/add_to_cart.json?key=********
← HTTP 400, 13.2ms
↳ {
↳ "error": "ERR_ORDER_FORM_INVALID",
↳ "message": "Форма заказа была заполнена некорректно",
↳ "details": {
↳ "message": "Parameter \"items\" is required and must be an array"
↳ }
↳ }
✓ GET /ordering/add_to_cart without items returns ERR_ORDER_FORM_INVALID
→ GET https://api.novantix.ru/ordering/add_to_cart.json?key=********&items[0][item_id]=1&items[0][count]=0
← HTTP 200, 14.64ms
↳ {
↳ "success": true,
↳ "message": "Added 0 item(s), failed for 1 item(s)",
↳ "results": [],
↳ "errors": [
↳ {
↳ "index": 0,
↳ "item_id": "1",
✓ GET /ordering/add_to_cart with invalid count returns errors[]
→ GET https://api.novantix.ru/ordering/add_to_cart.json?key=********&items[0][item_id]=1&items[0][count]=1&items[1][item_id]=1&items[1][count]=1&items[2][item_id]=1&items[2][count]=1&items[3][item_id]=1&items[3][count]=1&items[4][item_id]=1&items[4][count]=1&items[5][item_id]=1&items[5][count]=1&items[6][item_id]=1&items[6][count]=1&items[7][item_id]=1&items[7][count]=1&items[8][item_id]=1&items[8][count]=1&items[9][item_id]=1&items[9][count]=1&items[10][item_id]=1&items[10][count]=1&items[11][item_id]=1&items[11][count]=1&items[12][item_id]=1&items[12][count]=1&items[13][item_id]=1&items[13][count]=1&items[14][item_id]=1&items[14][count]=1&items[15][item_id]=1&items[15][count]=1&items[16][item_id]=1&items[16][count]=1&items[17][item_id]=1&items[17][count]=1&items[18][item_id]=1&items[18][count]=1&items[19][item_id]=1&items[19][count]=1&items[20][item_id]=1&items[20][count]=1&items[21][item_id]=1&items[21][count]=1&items[22][item_id]=1&items[22][count]=1&items[23][item_id]=1&items[23][count]=1&items[24][item_id]=1&items[24][count]=1&items[25][item_id]=1&items[25][count]=1&items[26][item_id]=1&items[26][count]=1&items[27][item_id]=1&items[27][count]=1&items[28][item_id]=1&items[28][count]=1&items[29][item_id]=1&items[29][count]=1&items[30][item_id]=1&items[30][count]=1&items[31][item_id]=1&items[31][count]=1&items[32][item_id]=1&items[32][count]=1&items[33][item_id]=1&items[33][count]=1&items[34][item_id]=1&items[34][count]=1&items[35][item_id]=1&items[35][count]=1&items[36][item_id]=1&items[36][count]=1&items[37][item_id]=1&items[37][count]=1&items[38][item_id]=1&items[38][count]=1&items[39][item_id]=1&items[39][count]=1&items[40][item_id]=1&items[40][count]=1&items[41][item_id]=1&items[41][count]=1&items[42][item_id]=1&items[42][count]=1&items[43][item_id]=1&items[43][count]=1&items[44][item_id]=1&items[44][count]=1&items[45][item_id]=1&items[45][count]=1&items[46][item_id]=1&items[46][count]=1&items[47][item_id]=1&items[47][count]=1&items[48][item_id]=1&items[48][count]=1&items[49][item_id]=1&items[49][count]=1&items[50][item_id]=1&items[50][count]=1
← HTTP 400, 14.62ms
↳ {
↳ "error": "ERR_ORDER_FORM_INVALID",
↳ "message": "Форма заказа была заполнена некорректно",
↳ "details": {
↳ "message": "Too many items (max 50)"
↳ }
↳ }
✓ GET /ordering/add_to_cart with too many items returns ERR_ORDER_FORM_INVALID
→ POST https://api.novantix.ru/ordering/add_to_cart.json
← HTTP 200, 15.87ms
↳ {
↳ "success": true,
↳ "message": "Added 0 item(s), failed for 1 item(s)",
↳ "results": [],
↳ "errors": [
↳ {
↳ "index": 0,
↳ "item_id": "1726994",
✓ POST /ordering/add_to_cart with count > quantity_available returns ERR_CART_QUANTITY_EXCEEDS_STOCK
→ POST https://api.novantix.ru/ordering/add_to_cart.json
← HTTP 200, 54.84ms
↳ {
↳ "success": true,
↳ "message": "Added 1 item(s), failed for 0 item(s)",
↳ "results": [
↳ {
↳ "index": 0,
↳ "search_id": "",
↳ "item_id": "1726994",
✓ POST /ordering/add_to_cart with count <= quantity_available succeeds
→ POST https://api.novantix.ru/ordering/add_to_cart.json
← HTTP 200, 14.04ms
↳ {
↳ "success": true,
↳ "message": "Added 0 item(s), failed for 1 item(s)",
↳ "results": [],
↳ "errors": [
↳ {
↳ "index": 0,
↳ "item_id": "1726994",
✓ POST /ordering/add_to_cart with quantity_available=0 and count=1 returns error
→ POST https://api.novantix.ru/ordering/add_to_cart.json
← HTTP 200, 80.34ms
↳ {
↳ "success": true,
↳ "message": "Added 1 item(s), failed for 0 item(s)",
↳ "results": [
↳ {
↳ "index": 0,
↳ "search_id": "",
↳ "item_id": "1726994",
✓ POST /ordering/add_to_cart without quantity_available succeeds (validation optional)
→ GET https://api.novantix.ru/references/states.json?key=********
← HTTP 401, 14.75ms
↳ {
↳ "error": "ERR_API_KEY_INVALID",
↳ "message": "Неверный ключ API"
↳ }
✓ Invalid API key returns error
=== Results ===
Passed: 28
Failed: 0
Total: 28