Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Yoobic Stores API

Stores are a very important part of the application. They represent physical locations of stores.They are the entities which receive missions (not the users). The users associated to the stores will be able to see their missions and carry them out if they have the correct roles.Before you can create or import stores, you need to have created the store types. If you don't know how to do that, please refer to the Store Types section which will provide you with a detailed explanation on how to create store types.In the front end of the application we now call them sites, to use a wording that also applies to companies in different industries that do not have frontline locations called stores (but perhaps restaurants, pharmacies etc.). But in the context of the API, we still call these entities stores.When you use your GPS to get your position on your smartphone, how are you located?Every point on the Earth's surface can be defined with a pair of coordinates: latitude and longitude.When you are creating new stores, geo location data is required (`latitude` and `longitude`). In these fields you have to enter the coordinates pair of the store you are trying to locate.In the case you don't provide them, the coordinates will be infered automatically from the `address` but it may result in a less accurate location than the exact geolocation of the store.### Fields| Field | Type | Required | Readonly | OrderBy | Description ||--------------------------|:-------:|:--------:|:--------:|:-------:|-----------------||`store_id` | string | | x | | Unique store id ||`title` | string | x | | | Name of the store||`address` | string | x | | | The full address allows us to locate the store on the map. This is used to display the missions available near the user's position||`tags` | array | | | | Tags allow to specify additional information about the store||`latitude` | float | x | | | Latitude of the store||`longitude` | float | x | | | Longitude of the store||`client_id` | string | x | | x | The external unique id of the store as it may exists in your Information System||`store_type_name` | string | x | | | The name of the store type||`store_type_id` | string | x | | | The id of the store type||`info` | string | | | | Additional information regarding the store. Supports HTML layout ||`country` | string | | x | | Country location of the store ||`notification_emails` | array | | | | List of email(s) that will be notified when a mission is finished and/or a request is created/finished ||`contact_email` | string | | | | Contact's email of the store i.e. store manager's email ||`contact_phone` | string | | | | Contact's phone of the store i.e. store manager's phone ||`contact_name` | string | | | | Contact's name of the store i.e. store manager's name ||`properties` | json | | | | Extra information that enables you to customize the display of the data shown on the Store Activity page. This can be split into 4 components: `columns`, `rows`, `grid`, `html` ||`photo` | string | | | | A photo of the store ||`vip` | boolean | | | | Indicates if the store is a VIP store (a flagship store) ||`timezone` | string | | x | | The Time Zone allows to display the hourly sales data in the store insights in the local time of the store. ||`capacity` | number | | | | Maximum number of customers which can be served at the same time ||`created_date` | date | | x | | Created Date||`updated_date` | date | | x | x | Updated Date||`custom_fields` | object | | | | Dynamic properties (optional)|One of either fields is required:- address- geoloc (latitude + longitude)In case one of the fields' missing the other one will be inferred automatically by using Google Map API. Please note that the results may be incorrect and it's always recommended to supply both fields. `country` field will be resolved using either the geoloc or address. Order of precedence is to resolve by the geoloc and if not present, by address.One of either fields is required:- store_type_name- store_type_idThe `properties` field is a json array and can be used to display the following columns, rows, grid, and html.In its most generic format it looks like :```json[ { "title": "string", "type": "string", "headers": [ "string" ], "values": [ "object" ] }]```#### columns```{ "title" : "KPI S27", "type" : "columns", "values" : [ { "title" : "Revenues", "value" : "1 456 $", "isPercent" : false, "colorHex" : "#00FF00" }, { "title" : "Nb Hours", "value" : "7/66", "colorHex" : "#B404FF" }, { "title" : "QP", "value" : 2.8, "isPercent" : true, "colorHex" : "#B40404" } ]}```#### rows```{ "title" : "S26 to S27", "type" : "rows", "values" : [ { "title" : "Revenues", "value" : "14 647 $", "delta" : "+82.5 %", "colorHex" : "#B40404" }, { "title" : "Clients", "value" : "1 753", "delta" : "-10.3 %", "colorHex" : "#B40404" }, { "title" : "Basket", "value" : "8.4 $", "delta" : "+4.7 %", "colorHex" : "#04B404" } ]}```#### grid```{ "title" : "Hours", "type" : "grid", "headers" : [ "Day", "Morning", "Afternoon", "Nb Hours" ], "values" : [ { "values" : [ "Monday", "9:00", "20:00", "5/11" ], "colorHex" : "#000000" }, { "values" : [ "Tuesday", "9:00", "20:00", "2/11" ], "colorHex" : "#000000" }, { "values" : [ "Wednesday", "9:00", "20:00", "0/11" ], "colorHex" : "#000000" }, { "values" : [ "Thursday", "9:00", "20:00", "0/11" ], "colorHex" : "#000000" }, { "values" : [ "Friday", "9:00", "20:00", "0/11" ], "colorHex" : "#000000" }, { "values" : [ "Saturday", "9:00", "20:00", "0/11" ], "colorHex" : "#A0A0A0" }, { "values" : [ "Sunday", " ", " ", "0/0" ], "colorHex" : "#A0A0A0" } ]}```#### html```{ "title" : "Reference docs", "type" : "html", "value" : "Your engagement: 85%Share of shelf :Contact us"}```**Important:**`custom_fields` contains new attributes that can be used to describe more precisely a store. Custom fields provide a new way to customize your store data by allowing you to filter and select the relevant data in the application. You can create your own custom fields in the YOOBIC Web Application in order to enrich your store data. For the full list of supported field types see [campaigns](#group-campaigns-question-types)

Yoobic Stores API is one of 41 APIs that Yoobic publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Stores. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a changelog.

This API exposes 14 operations across 13 paths, and defines 1 schema. It is described by OpenAPI 3.0.0.

Requests are made against a single base URL, https:///.

14 operations 13 paths 1 schemas 7 GET1 PATCH6 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
Base URL
https://api.yoobic.com/public/api
Authentication
OAuth 2.0
Resource Areas
1

Authentication & Security 1

Yoobic Stores API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow.

Paths & Operations 14

Across 13 paths, the API surfaces 14 operations — 7 GET, 1 PATCH, 6 POST. Each is listed below with its method, path, parameters, and response codes.

Stores 14

Stores are a very important part of the application. They represent physical locations of stores. They are the entities which receive missions (not the users). The users associate…

GET
/public/api/stores/{id}
Get
Get 1 param → 200
PATCH
/public/api/stores/{id}
Partial Update
Partial Update 1 param body → 200
GET
/public/api/stores/{id}/health-score?days{days}
Health Score of a store API
Health Score of a store API 2 params → 200
POST
/public/api/stores/{id}/archive
Archive
Archive 1 param → 200
POST
/public/api/stores/{id}/unarchive
Unarchive
Unarchive 1 param → 200
GET
/public/api/stores?filter={filter}
Get all
Get all 2 params body → 200
GET
/public/api/stores/archives?filter={filter}
Get all archives
Get all archives 2 params body → 200
GET
/public/api/stores/count?where={where}
Count
Count 2 params body → 200
POST
/public/api/stores
Create
Create 1 param body → 200
GET
/public/api/stores_archived/export?type={type}&filter={filter}
Export archived stores
Export archived stores 3 params body → 200
POST
/public/api/stores/archive/import?type={type}
Import Stores To Archive
Import Stores To Archive 2 params body → 200
POST
/public/api/stores/unarchive/import?type={type}
Import Stores To Un Archive
Import Stores To Un Archive 2 params body → 200
GET
/public/api/stores/export?{filter}&type={type}
Export
Export 3 params body → 200
POST
/public/api/stores/import?type={type}
Import
Import 2 params body → 200

Schemas 1

The contract defines 1 schema that model the data the API accepts and returns. The most detailed is Default_Header (1 property). Each schema is shown below with its type and property counts.

Default_Header
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

yoobic-stores-api-openapi.yml Raw ↑

Other APIs Yoobic publishes across the network.

Yoobic Answers API
Yoobic Badges API
Yoobic Bot Messages API
Yoobic Bots API
Yoobic Business KPIs data - salesdata API
Yoobic Campaigns API
Yoobic Catalogs API
Yoobic Chats API
Yoobic Comments API
Yoobic Communities API
Yoobic Community Posts API
Yoobic Competencies API