Stock Providers

A general or special to brand provider can be defined via Provider model. The information of the stock provider defined in Whippy Ware needs to be identical to the defined information sent from the brand’s API. Otherwise, Whippy Ware will not be able to register the information received from the service into its own system.

List Providers​

This method is used to get a list of provider objects.

GET List-Providers

Path: /api/v1/providers/

Parameters​

The following parameters can be used to get a list of provider objects.

Parameter
Data Type
In
Description

api_token

string

header

The API key of the customer account

limit

integer

query

The amount of line items returned per page

page

string

query

The number of page returned

Example Request​

import requests

url = "https://{whippy_api_url}/api/v1/providers/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "count": 1,
    "next": "https://{whippy_api_url}/api/v1/providers/?page=2",
    "previous": null,
    "results": [
        {
            "id": 1,
            "created_date": "2023-05-10T10:08:25.050666+03:00",
            "modified_date": "2023-05-10T10:08:25.058711+03:00",
            "is_active": true,
            "name": "Provider",
            "code": "provider_company",
            "should_add_reservations": false
        }
    ]
}

Provider Instance​

This method is used to get the details of the provider object with the specified provider number.

GET Provider-Instance

Path: /api/v1/providers/{provider_no}

Parameters​

The following parameters can be used to get the details of the provider objects.

Parameter
Data Type
In
Description

api_token

string

header

The API key of the customer account

{provider_id}

string

query

The ID number of the provider

import requests

url = "https://{whippy_api_url}/api/v1/providers/{provider_id}/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "id": 1,
    "created_date": "2023-05-10T10:08:25.050666+03:00",
    "modified_date": "2023-05-10T10:08:25.058711+03:00",
    "is_active": true,
    "name": "Provider",
    "code": "provider_company",
    "should_add_reservations": false
}

Create Provider​

This method is used to create a provider object with the request body.

POST Create-Provider

Path: /api/v1/providers/

Parameters​

The following parameters can be used to create a provider object.

Parameter
Data Type
In
Required
Description

api_token

string

header

The API key of the customer account

code

string

body

The code of the provider

name

string

body

The name of the provider

should_add_reservations

boolean

body

The status of the reservation

Example Request​

import requests
import json

url = "https://{whippy_api_url}/api/v1/providers/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = payload = json.dumps({
  "name": "Provider 1",
  "code": "provider_1",
  "is_active": True,
  "should_add_reservations": False
})

headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response (201 Created)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "id": 2,
    "created_date": "2023-05-10T11:01:01.404492+03:00",
    "modified_date": "2023-05-10T11:01:01.404542+03:00",
    "is_active": true,
    "name": "Provider 1",
    "code": "provider_1",
    "should_add_reservations": false
}

Example Response (400 Bad Request)​

{
   "name": [
       "This field is required."
   ],
   "code": [
       "This field is required."
   ]
}

Search Providers​

This method is used to search provider objects with the specified filters.

GET Search-Providers

Path: /api/v1/providers/?code__icontains=<string>&code=<string>&created_date__gt=<string>&created_date__gte=<string>&created_date__lt=<string>&created_date__lte=<string>&created_date=<string>&modified_date__gt=<string>&modified_date__gte=<string>&modified_date__lt=<string>&modified_date__lte=<string>&modified_date=<string>&is_active=<string>&name=<string>&sort=<string>&page=<integer>&limit=<integer>

Filters​

The following parameters can be used to filter GET request results.

Parameter
Data Type
In
Description

api_token

string

header

The API key of the customer account

code

string

query

The code of the provider

name

string

query

The name of the provider

is_active

boolean

query

The activation status of the rule

created_date

date

query

The creation date

modified_date

date

query

The last modified date

The following filters can be applied via the request URL.

 "filters": {
       "code": {
           "type": "CharFilter",
           "lookup_types": [
               "icontains",
               "exact"
           ]
       },
       "created_date": {
           "type": "IsoDateTimeFilter",
           "lookup_types": [
               "gt",
               "gte",
               "lt",
               "lte",
               "exact"
           ]
       },
       "modified_date": {
           "type": "IsoDateTimeFilter",
           "lookup_types": [
               "gt",
               "gte",
               "lt",
               "lte",
               "exact"
           ]
       },
       "is_active": {
           "type": "BooleanFilter",
           "lookup_types": [
               "exact"
           ]
       },
       "name": {
           "type": "CharFilter",
           "lookup_types": [
               "icontains"
           ]
       }
   }

Example Request​

import requests

url = "https://{whippy_api_url}/api/v1/providers/?code__icontains=<string>&code=<string>&created_date__gt=<string>&created_date__gte=<string>&created_date__lt=<string>&created_date__lte=<string>&created_date=<string>&modified_date__gt=<string>&modified_date__gte=<string>&modified_date__lt=<string>&modified_date__lte=<string>&modified_date=<string>&is_active=<string>&name=<string>&sort=<string>&page=<integer>&limit=<integer>"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token),
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "count": 2,
    "next": http://{whippy_api_url}/api/v1/providers/?name=prov&page=2,
    "previous": null,
    "results": [
        {
            "id": 1,
            "created_date": "2023-05-10T10:08:25.050666+03:00",
            "modified_date": "2023-05-10T10:08:25.058711+03:00",
            "is_active": true,
            "name": "Provider",
            "code": "provider_company",
            "should_add_reservations": false
        },
        {
            "id": 2,
            "created_date": "2023-05-10T11:01:01.404492+03:00",
            "modified_date": "2023-05-10T11:01:01.404542+03:00",
            "is_active": true,
            "name": "Provider 1",
            "code": "provider_1",
            "should_add_reservations": false
        }
    ]
}

Provider Partial Update​

This method is used to partially update the specified provider object with PATCH request.

PATCH Provider-Partial-Update

Path: /api/v1/providers/{rule_no}/

Parameters​

The following parameters can be used to partially update the provider object.

Parameter
Data Type
In
Description

api_token

string

header

The API key of the customer account

{provider_id}

string

query

The ID number of the provider

Example Request​

import requests
import json

url = "https://{whippy_api_url}/api/v1/providers/{provider_id}/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
  "should_add_reservations": True
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("PATCH", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "id": 1,
    "created_date": "2023-05-10T10:08:25.050666+03:00",
    "modified_date": "2023-05-10T11:14:19.680335+03:00",
    "is_active": true,
    "name": "Provider",
    "code": "provider_company",
    "should_add_reservations": true
}

Example Response (400 Bad Request)​

{
   "code": [
       "provider with this code already exists."
   ]
}

Provider Full Update​

This method is used to update all fields of the specified provider object with PUT request.

PUT Provider-Full-Update

Path: /api/v1/providers/{rule_no}/

Parameters​

The following parameters can be used to full update the provider object.

Parameter
Data Type
In
Description

api_token

string

header

The API key of the customer account

{provider_id}

string

query

The ID number of the provider

Example Request​

import requests
import json

url = "https://{whippy_api_url}/api/v1/providers/{provider_id}/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
  "name": "Provider",
  "code": "provider",
  "is_active": "false",
  "should_add_reservations": "true"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)​

The response includes the following parameters.

Parameter
Data Type
Description

id

integer

The primary key of the provider

name

string

The name of the provider

code

string

The code of the provider

should_add_reservations

boolean

The status of the reservation

created_date

date

The creation date

modified_date

date

The last modified date

is_active

boolean

The activation status of the Provider

{
    "id": 1,
    "created_date": "2023-05-10T10:08:25.050666+03:00",
    "modified_date": "2023-05-10T12:21:28.042081+03:00",
    "is_active": false,
    "name": "Provider",
    "code": "provider",
    "should_add_reservations": true
}

Example Response (400 Bad Request)​

{
   "name": [
       "This field is required."
   ],
   "code": [
       "This field is required."
   ]
}
---
{
   "code": [
       "provider with this code already exists."
   ]
}

Last updated

Was this helpful?