Features

360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
Video Streaming.
60fps (Depending on device)
Gyro / Touch Control
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
Video Streaming.
60fps (Depending on device)
Gyro / Touch Control
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
Video Streaming.
60fps (Depending on device)
Gyro / Touch Control
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
Video Streaming.
60fps (Depending on device)
Gyro / Touch Control
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
LiveStreaming MpegDash
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
Video Streaming.
60fps (Depending on device)
Gyro / Touch Control
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
LiveStreaming HLS
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
LiveStreaming HLS
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
LiveStreaming HLS
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
LiveStreaming HLS
360 Video Simple
360 Video Cardboard
360 3D Video (SidebySide / OverUnder)
360 Image Simple
360 Image Cardboard
360 Image 3D (SideBySide / OverUnder)
Progressive Download
HotSpots
LiveStreaming MpegDash
Analytics

Api Kaboore 360

The Kaboore API lets you develop client applications which it will allow access to your own 360 content hosted on Kaboore Cloud. This document describes how to use our API.

Endpoint: http://api.kaboore.com/kaboore.asmx
Service: Api
input parameter: p_request
Method: POST

Get Started

To start any development you should register new application on Kaboore system through developer's area, application's tab browser.

At the moment, Kaboore will provide to you App token . The next step will be register bundle id o el package name according development platform.

With this data you will be able to request Authorization:

  • Token app
  • Bundle id

Authorization's action

Before your application can access kaboore's data using Kaboore API, it must obtain an session_key that grants access to that API.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info]
app_key Application Token
Bundle_id Required by Ios's app
package_name Required by Android's app
{
    "action": "authorization",
    "app_key": "03BA0791499DB908433B80F37C3FB4389AB870084A",
    "package_name": "com.kbore.test"
}
                    
RESPONSE
success Boolean [OK/KO]
code Error code in this case
description Description error in this case
session_key Access token for obtain data account
{
"status": {
    "success": true,
    "code": null,
    "description": null
},
    "channels": null,
    "categories": null,
    "multimedias": null,
    "session_key": "03BA0791499DB908433B80F37C3FB4389AB870084A03BA0791499DB908433B80F37C3FB4389AB870084A"
}
                    

Acción de categories

Obtiene las categorías contempladas en la plataforma.
En todas las peticiones, se valida la autenticidad de la aplicación, es necesario tanto el token de la aplicación como el bundle id o el package name.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info] R
Ref_id Referencia externa de petición 0
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R
lang [en,es] Opcional O

Ejemplo:

REQUEST
{
    "action": "categories",
    "app_key": "17BA0791499DB908433B80F37C5FBC89B4870034B",
    "package_name": "com.inisle.AND360",
    "session_key": "A778F60C6C1332D29CAABF7545FAA0E2CCED4439@F4ABD670358E036C31296E66B3B66C382AC00812",
    "lang": "en"
    }
                    
RESPONSE
                        {
"status": {
"success": true,
"code": null,
"description": null
},
"channels": null,
"categories": [
{
"id": 4,
"name": "Style",
"description": "Style",
"statistic": 7
},
{
"id": 8,
"name": "People",
"description": "People",
"statistic": 3
},
{
"id": 1,
"name": "Science and Technology",
"description": "Science and Technology",
"statistic": 2
},
…
{
"id": 9,
"name": "Games",
"description": "Games",
"statistic": 0
}
],
"multimedias": null,
"session_key": null
}
                    

Acción de channels

Obtiene los canales ordenados de mayor a menor por número de medias asociados a cada uno.
En todas las peticiones, se valida la autenticidad de la aplicación.

REQUEST
action [Authorization , channels, campaigns, multimedias,categories, app_info] R
Ref_id Referencia externa de petición 0
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R
lang [en,es] Opcional O

Ejemplo:

REQUEST
{
"action": "channels",
"app_key": "17BA0791499DB908433B80F47C5FBC83B870084B",
"package_name": "com.inisle.AND360",
"session_key": "A778F60C6C1342D29CAABF7595F260E2CCED3439@F1ABA86568E036C31296E66B3B66C382AC00812",
"lang": "en",
}
                    
RESPONSE
  {
"status": {
    "success": true,
    "code": null,
    "description": null
},
"channels": [
    {
        "id": 2,
        "name": "Demo Channel",
        "description": null,
        "thumbnail": null,
        "registry_date": "2014-11-21T10:53:39.653",
        "statistics": 15
    },
    {
        "id": 1,
        "name": "Canal Inisle",
        "description": null,
        "thumbnail": null,
        "registry_date": "2014-11-21T10:53:09.567",
        "statistics": 11
    },
    {
        "id": 3,
        "name": "El mejor canal ",
        "description": null,
        "thumbnail": null,
        "registry_date": "2014-11-21T11:15:04.447",
        "statistics": 0
    }
],
"categories": null,
"multimedias": null,
"session_key": null
}
                    

Acción de multimedias

Obtiene los contenidos multimedia ordenados por fecha de registro.
En todas las peticiones, se valida la autenticidad de la aplicación.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info] R
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
Package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R
filters.page Indices de paginación: Subconjunto de elementos
Por defecto: 0
O
filters.length Indices de paginación: Indica número de elementos se desean recibir en la consulta.
Por defecto: 0 Cualquier valor inferior a 1, devolverá todos los elementos.
O
filters.channels Array de enteros correndientes a los identificadores de canales. Estos identificadores se obtienen en la acción de canales. O
filters.categories Array de enteros correndientes a los identificadores de categorías. Estos identificadores se obtienen en la acción de categorías. O
filters.keywords Array de strings para buscar coincidencias sobre el nombre del media o hashtags asociados O
 {
    "action": "multimedias",
    "app_key": "17BA0791499DB908433333337C5FB489B8700843",
    "package_name": "com.kbore.test",
    "session_key": "A778F60C6C1332D29C44BF7595F260E2CCED4411122ABD670358E036C31296E66B3B633382AC00812",
    "lang": "en",
    "filters": {
        "page": 0,
        "length": 3,
        "channels": [],
        "categories": [ 1, 2, 3, 4,  5, 6,  7 ],
        "keywords": [  "demo", "test"  ]
    }
}
                    
RESPONSE
{
    "status": {
        "success": true,
        "code": null,
        "description": null
    },
    "channels": null,
    "categories": null,
    "multimedias": [
    {
    "id": 50,
    "name": "demo",
    "thumbnail": "url_thumbnail",
    "description": "",
    "viewed": 0,
    "shared": 0,
    "state": "D",
    "video_id": "2DF0F126D67228745E4DD9D440E31FE80CDB62D3",
    "registry_date": "2015-01-02T10:06:17.49",
    "video_type": "360",
    “Published”: true,
    “share_url”:“share_url”,
    "share_fb_url":"share_fb_url",
      "upload_size": 448691843,
      "total_size": 551243613,
      "duration": 20.0,
    "campaigns": [    4    ],
    "categories": [    4    ],
    "tags": [],
    "assets": [
        {
        "id": 112,
        "encoder": "H264",           
          "resolution": "r1080p",
        "uri": "url_contenido",
         "size": 104008997
        },
        {
        "id": 121,
        "encoder": "HLS",
                        "resolution": "r1080p",
        "uri": "url_contenido",
         "size": 104008997
        }
    ],
    "creator": {
        "id": 15,
        "name": "Inisle Client Developers"
    }
    }
    ]
}
                    

Acción de Información de aplicación

Obtiene el detalle de información de la app .
En todas las peticiones, se valida la autenticidad de la aplicación, es necesario tanto el token de la aplicación como el bundle id o el package name.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info] R
Ref_id Referencia externa de petición 0
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R

Ejemplo:

REQUEST
{
  "ref_id": "REF_192829333",
  "action": "app_info",
  "app_key": "F1ABD670358E036C31296E66B3B66C382AC00812",
  "package_name": "com.kaboore.sdk.example",
  "session_key": "C61F8714CF0E0009381C3DD467BFC8AD7D1D12E5%40356A192B7913B04C54574D18C28D46E6395428AB",
}
                    
RESPONSE
{
  "ref_id": "REF_192829333",
  "status": {
    "success": true,
    "code": null,
    "description": null
  },
  "application": {
    "id": 15,
    "usu_id": 1,
    "cli_id": 1,
    "sdk_id": 1,
    "name": null,
    "platform": null,
    "bundle_id": "",
    "package_name": "com.kaboore.sdk.example",
    "hash": "F1ABD670358E036C31296E66B3B66C382AC00812",
    "state": "P",
    "active": true,
    "blocked": false
  },
  "sdk": {
    "version": "1.0.0",
    "name": "SDK Player for Android",
    "latest": false,
    "features": null
  }
}
                    

Acción de campañas

Obtiene las campañas asociadas a la aplicación.
En todas las peticiones, se valida la autenticidad de la aplicación, es necesario tanto el token de la aplicación como el bundle id o el package name.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info] R
Ref_id Referencia externa de petición 0
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R

Ejemplo:

REQUEST
{
  "ref_id": "REF_192829333",
  "action": "campaigns",
  "app_key": "F1ABD670358E036C31296E66B3B66C382AC00812",
  "package_name": "com.kaboore.sdk.example",
  "session_key": "C61F8714CF0E0009381C3DD467BFC8AD7D1D12E5%40356A192B7913B04C54574D18C28D46E6395428AB",
}
                    
RESPONSE
{
  "ref_id": "REF_192829333",
  "status": {
    "success": true,
    "code": null,
    "description": null
  },
  "campaigns": [
    {
      "id": 4,
      "name": "Test",
      "description": "Descripción de la campaña Test",
      "thumbnail": "http://webdev01.azurewebsites.net/Public/Customer/0/default_campaign.png",
      "state": "D",
      "lan_id": 33
    }
  ]
}
                    

Acción tracking

Envia a la plataforma toda la colección de movimientos que ha realizado un usuario a través de su dispositivo ios/android. .
En todas las peticiones, se valida la autenticidad de la aplicación, es necesario tanto el token de la aplicación como el bundle id o el package name.

REQUEST
action [Authorization , channels, campaigns, multimedias, categories, app_info] R
Ref_id Referencia externa de petición 0
app_key Token de la aplicación R
Bundle_id Obligatorio si app es IOS R
package_name Obligatorio si app es Android R
session_key Token de acceso a contenidos R
Device Nodo padre para el registro de dispositivos android / ios O
Device.android Nodo para registrar dispositivo android R
Device.android.id Identificador único del dispositivo, requerido si se informa del dispositivo. R
Device.ios Nodo para registrar dispositivo ios O
Device.ios.id Identificador único del dispositivo, requerido si se informa del dispositivo. R
Multimedias Lista de multimedias. Dentro de cada cual va la colección de puntos recogidos. O
Multimedia.id Identificador de multimedia R
Multimedia.video_id token de multimedia R
Multimedia.Tracking_points Colección de puntos capturados 0
tracking_point.when Instante capturado R
tracking_point.x Coordenada direción x R
tracking_point.y Coordenada direción y R
tracking_point.z Coordenada direción z R

Ejemplo:

REQUEST
{
  "ref_id": "REF_192829333",
  "action": "track",
  "app_key": "F1ABD670358E036C31296E66B3B66C382AC00812",
  "package_name": "com.kaboore.sdk.example",
  "device": {
    "android": {
      "id": "16180ad3-dc5e-4abb-9a2e-6a36eb252839"
    }
  },
  "session_key": "C61F8714CF0E0009381C3DD467BFC8AD7D1D12E5%40356A192B7913B04C54574D18C28D46E6395428AB",
  "multimedias": [
    {
      "id": 31,
      "name": "MEDIA_30",
      "video_id": "HASH_30",
      "tracking_points": [
        {
          "when": 0,
          "x": 27,
          "y": -75,
          "z": -9
        },
        {
          "when": 5,
          "x": -14,
          "y": -21,
          "z": -58
        }
      ]
    },
    {
      "id": 32
      "video_id": "HASH_31",
      "tracking_points": [
        {
          "when": 0,
          "x": 27,
          "y": -75,
          "z": -9
        }
      ]
    }
  ]
}
                    
RESPONSE
{
  "ref_id": "REF_192829333",
  "status": {
    "success": true,
    "code": null,
    "description": null
  }
}
                    

Acción de application.

TODO

Errores tipados

En todas las respuestas a nuestro servicio se pueden dar los siguientes errores y vienen informados en el nodo status

"status": {
    "success": false,
    "code": "ERROR_KNOW",
    "description": "Error desconocido"
}
 
Error Descripción
ERROR_KNOW Error desconocido
BAD_REQUEST Bad Request: Malformed request.
ERROR_UNKNOW Error desconocido
BAD_REQUEST Bad Request: Malformed request.
SESSION_KEY_NONVALID Bad Request: Invalid Session key.
USER_UNKNOWN_001 Bad Request: User does not exist
USER_UNKNOWN_002 Bad Request: User and client not linked
FILE_ERROR Could not find the file
APP_KEY_NOT_DEFINED Bad request: Not defined or invalid App Key.
APP_KEY_NOT_REGISTERED App Key not registered, inactive or blocked by administrators
ACTION_NOT_DEFINED Bad Request: Not defined Action
ACTION_NOT_VALID_AUTH Bad Request: First get authorization
APP_ID_NOT_DEFINED Bad Request: Not Defined app id.
APP_ID_CONFUSED Bad Request: Only one app id (Bundle ID or Package Name)
APP_BADREQUEST Bad Request: Password not enter
APP_NOTCHANGED Bad Response: App not changed
APP_BADLOGIN Bad Login app
APP_PACKAGENAME_NOT_REGISTERED App Key not registered with this App Name
APP_BUNDLEID_NOT_REGISTERED App Key not registered with this Bundle Id
CREDENTIALS_EMPTY Auth Error: Credentials are empty
CREDENTIALS_WRONG Auth Error: Credentials are wrong
GET_CAMPAIGNS_ERROR Bad Response for action campaigns
GET_CATEGORIES_ERROR Bad Response for action categories
GET_MULTIMEDIAS_ERROR Bad Response for action multimedias.
GET_CHANNELS_ERROR Bad Response for action channels
WRONG_LENGTH Wrong length filter
INC_VIEWED_ERROR Wrong increment viewed
NOTPERMISSION_ERROR Not are administrator
UNEXIST_VIDEO Unexist video
INACTIVE_VIDEO Inactive video
APP_DEVICE_UNRECOGNIZED Device not defined
APP_IOS_DEVICE_UNRECOGNIZED Device data incompatible with ios app
APP_AND_DEVICE_UNRECOGNIZED Device data incompatible with android app
APP_UID_DEVICE_UNRECOGNIZED UID Device not defined