Rest API Список документів оплати отриманого товару - datawizio/pythonAPI GitHub Wiki
- З допомогою ресурсу
/order-pay-documents/
можна отримати доступ до списку оплат за отриманий товар, а також додавати нові оплати.
Назва поля | Тип поля | розмір | Обов'язково | Тільки читання | Примітка |
---|---|---|---|---|---|
url |
URL | ні | так | посилання на об'єкт | |
document_id |
рядок | так | ні | ідентифікатор документа оплати | |
supplier_id |
рядок | так | ні | ідентифікатор постачальника | |
supplier_url |
URL | ні | так | посилання на постачальника | |
shop_id |
рядок | так | ні | ідентифікатор магазину | |
shop_url |
URL | ні | так | посилання на магазин | |
date |
рядок | так | ні | дата і час документа | |
receive_document_id |
рядок | так | ні | Комплексний ідентифікатор документа отримання (<ідентифікатор-магазину>_<ідентифікатор-документа> ) |
|
receive_document_url |
URL | ні | так | посилання на документ отримання | |
responsible |
рядок | ні | ні | особа, відповідальна за оформлення повернення | |
description |
рядок | ні | ні | Додаткові нотатки | |
total_price |
число | так | ні | сума оплати |
З ресурсом /order-pay-documents/
підтримуються наступні команди:
- GET
- отримати одну сторінку колекції
- POST
- додати новий документ оплати або список документів
- OPTIONS
- мета-інформація по структурі об'єкта
- HEAD
- аналог GET
, але повертається тільки заголовок відповіді
Вид команди: GET http://api.datawiz.io/api/v1/order-pay-documents/
-
.json
- Отримати відповідь з сервера в форматі JSON -
.api
- Отримати відповідь з сервера в форматі HTML (тестова платформа)
-
Format = json | api
- аналог вищевказаних суфіксів -
Page_size = nn
- встановити розмір сторінки рівнийnn
об'єктів -
Page = n
- завантажити сторінкуn
-
Ordering = url | date | order_id
- сортувати по полю в сторону зростання -
Ordering = -url | -date | order_id
- сортувати по полю в зворотному порядку
Об'єкт "колекція" із чотирьох полів (count
, next
, previous
, results
).
Приклад порожньої колекції, отриманої в результаті запиту:
GET http://api.datawiz.io/api/v1/supplier-refunds/
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Приклад колекції із 1 елемента:
GET http://api.datawiz.io/api/v1/supplier-refunds/?format=json&page_size=2
:
HTTP 200 OK
Allow: GET, POST, DELETE, OPTIONS
Content-Type: application/json
Vary: Accept
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "http://api.datawiz.io/api/v1/order-pay-documents/test-1_9856d0f5-0929-11e5-80d8-7054d2c57800/",
"document_id": "test-1",
"receive_document_url": "http://api.datawiz.io/api/v1/receive-documents/9856d0f5-0929-11e5-80d8-7054d2c57800_1111/",
"shop_id": "9856d0f5-0929-11e5-80d8-7054d2c57800",
"shop_url": "http://api.datawiz.io/api/v1/shops/9856d0f5-0929-11e5-80d8-7054d2c57800/",
"supplier_id": "supplier-1",
"supplier_ulr": "http://api.datawiz.io/api/v1/suppliers/supplier-1/",
"date": "2017-01-01T00:00:00",
"doc_number": "000",
"responsible": "AAA",
"description": "",
"total_price": "100.0000"
}
]
}
У випадку виникнення помилки сервер повертає відповідь із відповідним статусом, а також повідомленням про помилку, записану в ключі detail
:
HTTP 404 NOT FOUND
Content-Type: application/json
Vary: Accept
Allow: GET, PUT, DELETE, HEAD, OPTIONS, PATCH
{
"detail": "Not found"
}
Вид команди: POST http://api.datawiz.io/api/v1/supplier-refunds/?format=json
-
.json
- Взаємодіяти з сервером в форматі JSON -
.api
- Взаємодіяти з сервером в форматі HTML (тестова платформа)
-
Format = json
- взаємодіяти з сервером в форматі JSON -
Format = api
- взаємодіяти з сервером в форматі HTML (тестова платформа)
В запиті передається JSON-об'єкт, який описує повернення.
Приклад коректних запитів на додавання нового документа:
POST http://api.datawiz.io/api/v1/order-pay-documents/.json
{
"document_id": "test-1",
"receive_document_id": "9856d0f5-0929-11e5-80d8-7054d2c57800_1111",
"shop_id": "9856d0f5-0929-11e5-80d8-7054d2c57800",
"supplier_id": "supplier-1",
"date": "2017-1-1",
"doc_number": "000",
"responsible": "Petro",
"description": "",
"total_price": 100
}
При коректній обробці запиту сервер повертає код статусу 201 статус створення об'єкта.
Приклад відповіді сервера:
HTTP 201 CREATED
Content-Type: application / json
Vary: Accept
Location: http://api.datawiz.io/api/v1/supplier-refunds/
Allow: GET, POST, HEAD, OPTIONS
{
"created": 1,
"updated": 0
}
У випадку виникнення помилки сервер повертає відповідь із відповідним статусом, а також повідомленням про помилку, записаним навпроти імені поля, з яким ця помилка пов'язана. Якщо помилка стосується не визначеного поля, а всього об'єкту, то повідомлення про помилку буде записано навпроти ключа non_field_errors
.
ПРИМІТКА. Кожне повідомлення про помилку являє собою * колекцію * ( масив ) рядків символів.
Приклад відповіді сервера при виникненні помилки (поле brand_id
передано порожнім):
HTTP 400 BAD REQUEST
Content-Type: application/json
Vary: Accept
Allow: GET, POST, HEAD, OPTIONS
{
"document_id": [
"This field is required."
]
}
При виконанні даної команди повертається така JSON-структура:
OPTIONS /api/v1/order-pay-documents/
HTTP 200 OK
Allow: GET, POST, DELETE, OPTIONS
Content-Type: application/json
Vary: Accept
{
"name": "Order Pay Document List",
"description": "",
"renders": [
"application/json",
"text/html"
],
"parses": [
"application/json",
"application/x-www-form-urlencoded",
"multipart/form-data"
],
"actions": {
"POST": {
"url": {
"type": "field",
"required": false,
"read_only": true,
"label": "Url"
},
"document_id": {
"type": "string",
"required": true,
"read_only": false,
"label": "Document id",
"max_length": 150
},
"receive_document_id": {
"type": "string",
"required": true,
"read_only": false,
"label": "Receive document id",
"max_length": 300
},
"receive_document_url": {
"type": "field",
"required": false,
"read_only": true,
"label": "Receive document url"
},
"shop_id": {
"type": "integer",
"required": true,
"read_only": false,
"label": "Shop id"
},
"shop_url": {
"type": "integer",
"required": false,
"read_only": true,
"label": "Shop url"
},
"supplier_id": {
"type": "integer",
"required": true,
"read_only": false,
"label": "Supplier id"
},
"supplier_url": {
"type": "integer",
"required": false,
"read_only": true,
"label": "Supplier url"
},
"date": {
"type": "datetime",
"required": true,
"read_only": false,
"label": "Date"
},
"doc_number": {
"type": "string",
"required": false,
"read_only": false,
"label": "Doc number",
"max_length": 200
},
"responsible": {
"type": "string",
"required": false,
"read_only": false,
"label": "Responsible",
"max_length": 150
},
"description": {
"type": "string",
"required": false,
"read_only": false,
"label": "Description",
"max_length": 200
},
"total_price": {
"type": "decimal",
"required": true,
"read_only": false,
"label": "Total price"
}
}
}
}