This database schema and therefore the API is based on IDs and KEYS. IDs are just integers which always act as an internal and unique identifier for any record. However, as optimal as integer IDs are, they are very difficult to work with when a database schema is dynamic as with EAV and make APIs equally obtuse. Where appropriate and only so, if an ID can benefit from a readable KEY name then one will be assigned.

This overhead is minimal and all data-integrity will be maintained at the API level, so should you ever change a key-name which in effect would be the same as changing a field-name, data-integrity will be preserved.

All documentation web-pages are only partially responsive and desktop-designed.

Entities [EAV]

https://vshop.vadoo.co.uk/api/productentities/get/{id}

JSON | [Object]

{'id', 'display_order', name'}
https://vshop.vadoo.co.uk/api/productentities/get/{id} with a {id} of your choosing.

https://vshop.vadoo.co.uk/api/productentities/all

JSON | [Object] All Product Entities

{'id', 'display_order', name'}
https://vshop.vadoo.co.uk/api/productentities/all

https://vshop.vadoo.co.uk/api/productentities/new

JSON | [Object] New Product Entity

{'id', ....}
https://vshop.vadoo.co.uk/api/productentities/new

https://vshop.vadoo.co.uk/api/productentities/delete/{id}

fetch('https://vshop.vadoo.co.uk/api/productentities/delete/' + _id)
    .then( response => response.json() )
    .then( response => {
        // response.success will be 0 or 1
    })

JSON | [Object] Deletes Entity and ALL subordinates. ! CAREFUL !

{'success'}
https://vshop.vadoo.co.uk/api/productentities/delete/{id} with a {id} of your choosing.

response.success

https://vshop.vadoo.co.uk/api/productentites/update/{id} with POST object

// jQuery Example -> see across
_data = {name: $('#NEW_NAME').val() };
fetch('https://vshop.vadoo.co.uk/api/productentites/update/' + _id, {
      method: "post",
      headers: { "Content-Type": "application/json; charset=utf-8" },
      body: JSON.stringify(_data)}
    )
    .then( response => response.json() )
    .then( entity => {
        // Returns full object [same as /get]
        // e.g. here entity.id, .name
        // _.isEmpty(response) [#lodash] is useful
    })

JSON | [Object] Updates an Entity Header returns new [Object]

...same as /get. Will return null if this fails. You can click on this link to Update an entity https://vshop.vadoo.co.uk/api/productentities/update/{_id} where {_id}, {name,description} are

entity.id
entity.name