NAV Navbar
shell ruby
  • Introdução
  • Autentificação
  • Fontes
  • Assets
  • Tracks
  • Templates
  • Videos
  • Player de vídeos
  • Errors
  • Introdução

    Bem-vindo a API da Chiligum! Você pode usar nossa API para gerar vídeos customizados em massa.

    Temos exemplos em Shell e Ruby. Você pode usar qualquer linguagem que tenha suporte a HTTP.

    Nossa API é composta por templates, tracks, assets, fonts e vídeos. Sendo eles:

    Templates armazena o aepx gerado pelo AfterEffects, assets estáticos, fonts e configurações do template

    Tracks música do vídeo em mp3. Sendo opcional caso o vídeo não tenha uma faixa de áudio.

    Assets responsável por armazernar todos vídeos e imagens que são usados no template como assets estáticos e nos vídeos como um logo ou foto enviada por um usuário.

    Fonts caso o template tenha alguma font customizada você deve fazer o upload delas neste endpoint e informar o link dentro do end point de templates.

    Vídeos recebe as informações enviadas a patir de tracks, templates e assets.

    Autentificação

    Para autentificar passe o token no header em cada request:

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    request = HTTParty.get("https://api.chiligumvideos.com", headers: headers)
    request.body
    
    curl "https://api.chiligumvideos.com/"
      -H "token: seutoken"
    

    Tenha certeza que você mudou seutoken com seu token da API.

    Para ter acesso a nossa API você deve criar uma conta em nosso sistema.

    Após criar a conta você deve entrar em contato conosco para mudarmos o status da conta para enabled.

    Em nosso sistema no meu "Credentials" você pode pegar o token de acesso. Ele deve ser passado a cada requisição através dos headers:

    token: seutoken

    Também passe o content type nos headers para:

    Content-Type: multipart/form-data

    Fontes

    Overview

    Todas as fontes utilizadas para personalizar o seu vídeo devem ser persistidas através deste endpoint, por aqui será possível adicionar, remover e editar fontes cadastradas disponíveis para a utilização durante o processo de criação de seus vídeos.

    Receber todas as fontes

    require 'httparty'
    
    headers = {
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    fonts = HTTParty.get("https://api.chiligumvideos.com/api/fonts", headers: headers)
    fonts.body
    
    curl "https://api.chiligumvideos.com/api/fonts"
      -H "token: seutoken"
    

    O comando acima retorna um JSON com todas as fontes disponíveis persistidas pelo usuário em posse do token informado no header da requisição:

    [  
       {  
          "id":1,
          "name":"Fonte do Vídeo 1",
          "url":"https://s3.amazonaws.com/apiteaser/fonts/8ed7d3ab7ff119921316dbb2077211b168803a0d.ttf",
          "font_file_name":"RackMultipart20170830-30777-1p780sx.ttf",
          "font_content_type":"application/font-sfnt",
          "metadata":"Helvetica-Normal",
          "created_at":"2017-08-30T19:13:47.722Z",
          "updated_at":"2017-08-30T19:13:47.722Z"
       },
       {  
          "id":2,
          "name":"Fonte do Vídeo 2",
          "url":"https://s3.amazonaws.com/apiteaser/fonts/3269f186d9cf12440428af94e1c622039b7d679a.ttf",
          "font_file_name":"RackMultipart20170830-21726-15ncv0y.ttf",
          "font_content_type":"application/font-sfnt",
          "metadata":"Kiss Me or Not",
          "created_at":"2017-08-30T14:07:05.499Z",
          "updated_at":"2017-08-30T14:07:05.499Z"
       }
    ]
    

    Este endpoint retorna todas as fontes.

    HTTP Request

    GET https://api.chiligumvideos.com/api/fonts

    Receber uma fonte especifica

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    font = HTTParty.get("https://api.chiligumvideos.com/api/fonts/<ID>", headers: headers)
    font.body
    
    curl "https://api.chiligumvideos.com/api/fonts/<ID>"
      -H "token: seutoken"
    

    O comando acima deve retornar uma estrutura JSON com informações sobre o registro enviado na requisição com o seguinte formato:

    {  
       "id":21,
       "name":"Fonte extra",
       "url":"https://s3.amazonaws.com/apiteaser/fonts/d1dd44a427a1a3eb34b406b1c85ea56dedee4be1.ttf",
       "font_file_name":"RackMultipart20170830-20056-11ep8pj.ttf",
       "font_content_type":"application/font-sfnt",
       "metadata":"Larger Mime",
       "created_at":"2017-08-30T13:15:23.743Z",
       "updated_at":"2017-08-30T13:15:23.743Z"
    }
    
    

    Este endpoint retorna uma fonte através de seu ID.

    HTTP Request

    GET https://api.chiligumvideos.com/api/fonts/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID da fonte que deseja retornar

    Criar uma Fonte

    curl "https://api.chiligumvideos.com/api/fonts" \
    -H "token: seutoken" \   
    -F "[font]name=logo" \
    -F "[font]font=@/Users/Desktop/minhafonte.ttf"
    
    require 'rest-client'
    
    headers = { 
      'token' => '85ca42d2c1a7bc690af91f25'
    }
    
    params = {
      font: { 
        name: 'Minha Fonte',
        font: File.new('/Users/Desktop/minhafonte.ttf')
      }
    }
    
    font = RestClient.post('https://api.chiligumvideos.com/api/fonts', params, headers)
    font.body
    

    O comando acima deve retornar uma estrutura JSON com informações sobre a fonte que acaba de ser inserida pela API caso obtenha sucesso:

     {  
        "id":29,
        "name":"Minha Fonte",
        "url":"https://s3.amazonaws.com/apiteaser/fonts/8aee59959d03d261b0ce3d9b1a153d9499cfa511.ttf",
        "font_file_name":"Effra_Std_Bd.ttf",
        "font_content_type":"application/octet-stream",
        "metadata":"Effra Bold",
        "created_at":"2017-09-27T16:50:49.899Z",
        "updated_at":"2017-09-27T16:50:49.899Z"
     }
    

    HTTP Request

    POST https://api.chiligumvideos.com/api/fonts

    Parametrôs do post

    Parâmetro Descrição
    name nome da fonte
    fonte arquivo do post

    Deletar uma Fonte

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    font = HTTParty.delete("https://api.chiligumvideos.com/api/fonts/<ID>", headers: headers)
    font.body
    
    curl -X DELETE \
    "https://api.chiligumvideos.com/api/fonts/<ID>" \
    -H "token: seutoken"
    
    

    O comando acima deve retornar uma estrutura JSON com informações sobre o registro deletado, contendo também a informação de msg com valor de "deleted" informando o sucesso da requisição:

    {  
       "font":{  
          "id":21,
          "name":"Fonte extra",
          "url":"https://s3.amazonaws.com/apiteaser/fonts/d1dd44a427a1a3eb34b406b1c85ea56dedee4be1.ttf",
          "font_file_name":"RackMultipart20170830-20056-11ep8pj.ttf",
          "font_content_type":"application/font-sfnt",
          "metadata":"Larger Mime",
          "created_at":"2017-08-30T13:15:23.743Z",
          "updated_at":"2017-08-30T13:15:23.743Z"
        },
       "msg":"deleted"
    }
    

    HTTP Request

    DELETE https://api.chiligumvideos.com/api/fonts/<ID>

    Parametrôs do delete

    Parâmetro Descrição
    ID ID da fonte a ser deletado

    Assets

    Overview

    Todos os assets (imagens e vídeos) utilizados dentro do template ou como input de vídeos devem ser feitos o upload através deste endpoint. No momento não suportamos assets de sites ou sistemas de terceiros.

    Receber todos Assets

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    assets = HTTParty.get("https://api.chiligumvideos.com/api/assets", headers: headers)
    assets.body
    
    curl "https://api.chiligumvideos.com/api/assets"
      -H "token: seutoken"
    

    O comando acima retorna um JSON com todos os assets disponíveis persistidos pelo usuário em posse do token informado no header da requisição:

    [
      {
        "id":1,
        "name":"Abertura_PreRender.mp4",
        "url":"https://s3.amazonaws.com/teaserapi/assets/b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "hash_name":"b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "attachment_file_name":"Abertura_PreRender.mp4",
        "attachment_content_type":"application/octet-stream",
        "attachment_file_size":"728537",
        "created_at":"2017-08-23T21:30:26.713Z",
        "updated_at":"2017-08-23T21:30:26.713Z"
      },
      {
        "id":2,
        "name":"logo",
        "url":"https://s3.amazonaws.com/teaserapi/assets/55780e178d171747c0cb81597262f3c7abbae9b8.png",
        "hash_name":"55780e178d171747c0cb81597262f3c7abbae9b8.png",
        "attachment_file_name":"foto.png",
        "attachment_content_type":"application/octet-stream",
        "attachment_file_size":"32013",
        "created_at":"2017-08-23T21:30:25.398Z",
        "updated_at":"2017-08-23T21:30:25.398Z"
      }
    ]
    
    

    Este endpoint retorna todos os assets.

    HTTP Request

    GET https://api.chiligumvideos.com/api/assets

    Receber um Asset específico

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    asset = HTTParty.get("https://api.chiligumvideos.com/api/assets/<ID>", headers: headers)
    asset.body
    
    curl "https://api.chiligumvideos.com/api/assets/<ID>"
      -H "token: seutoken"
    

    O comando acima deve retornar uma estrutura JSON com informações sobre o registro enviado na requisição com o seguinte formato:

      {
        "id":1,
        "name":"Abertura_PreRender.mp4",
        "url":"https://s3.amazonaws.com/teaserapi/assets/b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "hash_name":"b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "attachment_file_name":"Abertura_PreRender.mp4",
        "attachment_content_type":"application/octet-stream",
        "attachment_file_size":"728537",
        "created_at":"2017-08-23T21:30:26.713Z",
        "updated_at":"2017-08-23T21:30:26.713Z"
      }
    

    Este endpoint retorna um asset através de seu ID.

    HTTP Request

    GET https://api.chiligumvideos.com/api/assets/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID do asset que deseja retornar

    Criar um Asset

    curl "https://api.chiligumvideos.com/api/assets" \
    -H "token: seutoken" \   
    -F "[asset]name=logo" \
    -F "[asset]attachment=@/Users/Desktop/logo.png"
    
    require 'rest-client'
    
    headers = { 
      'token' => 'seutoken'
    }
    
    params = {
      asset: { 
        name: 'logo',
        attachment: File.new('/Users/Desktop/logo.png')
      }
    }
    
    asset = RestClient.post('https://api.chiligumvideos.com/api/assets', params, headers)
    asset.body
    

    O comando acima deve retornar uma estrutura JSON com informações sobre o asset que acaba de ser persistido pela API caso obtenha sucesso:

      {
        "id":3,
        "name":"logo",
        "url":"https://s3.amazonaws.com/teaserapi/assets/c8efe50d7b34615ce997a732fdf0da06954bd962.png",
        "hash_name":"c8efe50d7b34615ce997a732fdf0da06954bd962.png",
        "attachment_file_name":"logo.png",
        "attachment_content_type":"application/octet-stream",
        "attachment_file_size":"32013",
        "created_at":"2017-09-12T03:47:08.078Z",
        "updated_at":"2017-09-12T03:47:08.078Z"
      }
    

    HTTP Request

    POST https://api.chiligumvideos.com/api/assets

    Parametrôs do post

    Parâmetro Descrição
    name nome do asset
    attachment arquivo do post

    Deletar um Asset

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    asset = HTTParty.delete("https://api.chiligumvideos.com/api/assets/<ID>", headers: headers)
    asset.body
    
    curl -X DELETE \
    "https://api.chiligumvideos.com/api/assets/<ID>" \
    -H "token: seutoken"
    
    

    O comando acima deve retornar uma estrutura JSON:

    {"msg":"deleted"}
    

    HTTP Request

    DELETE https://api.chiligumvideos.com/api/assets/<ID>

    Parametrôs do delete

    Parâmetro Descrição
    ID ID do asset a ser deletado

    Tracks

    Overview

    Todos as faixas de som utilizadas no vídeo devem ser persistidas neste endpoint. Os formatos de mime-type válidos são audio/mpeg e audio/mp3. No momento não suportamos faixas de sites ou sistemas de terceiros.

    Receber todas Tracks

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    tracks = HTTParty.get("https://api.chiligumvideos.com/api/tracks", headers: headers)
    tracks.body
    
    curl "https://api.chiligumvideos.com/api/tracks"
      -H "token: seutoken"
    

    O comando acima retorna um JSON com todas as tracks disponíveis persistidos pelo usuário em posse do token informado no header da requisição:

    [
      {
        "id":1,
        "name":"Track 1",
        "url":"https://s3.amazonaws.com/teaserapi/tracks/3978aadd3b451a3ecbdffc9b3af511f36dce7fc4.mp3",
        "audio_file_name":"track.mp3",
        "audio_file_size":"3221767",
        "created_at":"2017-08-08T07:27:47.237Z",
        "updated_at":"2017-08-08T07:27:47.237Z"
      },
      {
        "id":2,
        "name":"Nome da track",
        "url":"https://s3.amazonaws.com/teaserapi/tracks/9453d9e51c1585cc0f5fa1805eb2736917a3eddd.mp3",
        "audio_file_name":"track.mp3",
        "audio_file_size":"3221767",
        "created_at":"2017-08-08T07:24:55.491Z",
        "updated_at":"2017-08-08T07:24:55.491Z"
      }
    ]
    
    

    Este endpoint retorna todas as tracks.

    HTTP Request

    GET https://api.chiligumvideos.com/api/tracks

    Receber uma Track específica

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    track = HTTParty.get("https://api.chiligumvideos.com/api/tracks/<ID>", headers: headers)
    track.body
    
    curl "https://api.chiligumvideos.com/api/tracks/<ID>"
      -H "token: seutoken"
    

    O comando acima deve retornar uma estrutura JSON com informações sobre o registro enviado na requisição com o seguinte formato:

      {
        "id":1,
        "name":"Abertura_PreRender.mp4",
        "url":"https://s3.amazonaws.com/teaserapi/assets/b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "hash_name":"b4c067a22d9a272493340c654bd4f2b7802d06e3.mp4",
        "attachment_file_name":"Abertura_PreRender.mp4",
        "attachment_content_type":"application/octet-stream",
        "attachment_file_size":"728537",
        "created_at":"2017-08-23T21:30:26.713Z",
        "updated_at":"2017-08-23T21:30:26.713Z"
      }
    

    Este endpoint retorna uma track através de seu ID.

    HTTP Request

    GET https://api.chiligumvideos.com/api/tracks/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID da track que deseja retornar

    Criar uma Track

    curl "https://api.chiligumvideos.com/api/tracks" \
    -H "token: seutoken" \   
    -F "[track]name=track" \
    -F "[track]audio=@/Users/Desktop/logo.png"
    
    require 'rest-client'
    
    headers = { 
      'token' => 'seutoken'
    }
    
    params = {
      track: { 
        name: 'track',
        audio: File.new('/Users/Desktop/track.mp3')
      }
    }
    
    track = RestClient.post('https://api.chiligumvideos.com/api/tracks', params, headers)
    track.body
    

    O comando acima deve retornar uma estrutura JSON com informações sobre a track que acaba de ser persistida pela API caso obtenha sucesso:

      {
        "id":3,
        "name":"track",
        "url":"https://s3.amazonaws.com/teaserapi/assets/c8efe50d7b34615ce997a732fdf0da06954bd962.mp3",
        "hash_name":"c8efe50d7b34615ce997a732fdf0da06954bd962.png",
        "audio_file_name": "audio_teste.mp3",
        "audio_file_size": "3064832",
        "created_at":"2017-09-12T03:47:08.078Z",
        "updated_at":"2017-09-12T03:47:08.078Z"
      }
    

    HTTP Request

    POST https://api.chiligumvideos.com/api/tracks

    Parametrôs do post

    Parâmetro Descrição
    name nome da track
    audio arquivo do post

    Deletar uma Track

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    track = HTTParty.delete("https://api.chiligumvideos.com/api/tracks/<ID>", headers: headers)
    track.body
    
    curl -X DELETE \
    "https://api.chiligumvideos.com/api/tracks/<ID>" \
    -H "token: seutoken"
    
    

    O comando acima deve retornar uma estrutura JSON:

    {"msg":"deleted"}
    

    HTTP Request

    DELETE https://api.chiligumvideos.com/api/tracks/<ID>

    Parametrôs do delete

    Parâmetro Descrição
    ID ID da track a ser deletada

    Templates

    Overview

    Todos os templates utilizados para a criação de vídeos devem ser persistidos nos próximos endpoints.Todos os moldes de vídeos podems ser persistidos nos endpoints abaixo.

    Receber todos Templates

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    templates = HTTParty.get("https://api.chiligumvideos.com/api/templates", headers: headers)
    templates.body
    
    curl "https://api.chiligumvideos.com/api/templates"
      -H "token: seutoken"
    

    O comando acima retorna um JSON:

    [  
       {  
          "id":42,
          "name":"Second Template",
          "assets":{  
             "Abertura_PreRender.mp4":""
          },
          "config_fields":{  
             "name":"Template_Doencas",
             "duration":"20",
             "variables":{  
                "foto":{  
                   "name":"Imagem",
                   "type":"img",
                   "width":"1600",
                   "height":"900",
                   "output":"Foto.png"
                },
                "logo":{  
                   "name":"Logo",
                   "type":"img",
                   "width":"1030",
                   "height":"470",
                   "output":"Logo.png"
                },
                "texto_1":{  
                   "font":{  
                      "size":"60",
                      "family":"MyriadPro-Regular"
                   },
                   "name":"Texto de Abertura",
                   "type":"text",
                   "color":"#50747B",
                   "output":"Texto_1.png"
                },
                "texto_2":{  
                   "font":{  
                      "size":"120",
                      "family":"MyriadPro-Semibold"
                   },
                   "name":"Título",
                   "type":"text",
                   "color":"#FFFFFF",
                   "output":"Texto_2.png"
                },
                "texto_3":{  
                   "font":{  
                      "size":"73",
                      "family":"MyriadPro-Semibold"
                   },
                   "kind":"caption",
                   "name":"Descrição",
                   "type":"text",
                   "align":"West",
                   "color":"#FFFFFF",
                   "width":"990",
                   "height":"265",
                   "output":"Texto_3.png"
                },
                "texto_4":{  
                   "font":{  
                      "size":"130",
                      "family":"MyriadPro-Bold"
                   },
                   "kind":"caption",
                   "name":"Texto de encerramento",
                   "type":"text",
                   "align":"center",
                   "color":"#FFFFFF",
                   "width":"1026",
                   "height":"410",
                   "output":"Texto_4.png"
                }
             },
             "main_frame":"35",
             "preview_frames":[  
                "35",
                "101",
                "154",
                "238",
                "462",
                "574"
             ],
             "main_composition":"Template_Doencas"
          },
          "fonts":"{}",
          "aepx_file_name":"template.aepx",
          "aepx_content_type":"application/octet-stream",
          "aepx_file_size":"644838",
          "created_at":"2017-09-29T14:26:32.880Z",
          "updated_at":"2017-09-29T14:26:32.880Z"
       },
       {  
          "id":41,
          "name":"First Template",
          "assets":{  
             "Abertura_PreRender.mp4":""
          },
          "config_fields":{  
             "name":"Template_Doencas",
             "duration":"20",
             "variables":{  
                "foto":{  
                   "name":"Imagem",
                   "type":"img",
                   "width":"1600",
                   "height":"900",
                   "output":"Foto.png"
                },
                "logo":{  
                   "name":"Logo",
                   "type":"img",
                   "width":"1030",
                   "height":"470",
                   "output":"Logo.png"
                },
                "texto_1":{  
                   "font":{  
                      "size":"60",
                      "family":"MyriadPro-Regular"
                   },
                   "name":"Texto de Abertura",
                   "type":"text",
                   "color":"#50747B",
                   "output":"Texto_1.png"
                },
                "texto_2":{  
                   "font":{  
                      "size":"120",
                      "family":"MyriadPro-Semibold"
                   },
                   "name":"Título",
                   "type":"text",
                   "color":"#FFFFFF",
                   "output":"Texto_2.png"
                },
                "texto_3":{  
                   "font":{  
                      "size":"73",
                      "family":"MyriadPro-Semibold"
                   },
                   "kind":"caption",
                   "name":"Descrição",
                   "type":"text",
                   "align":"West",
                   "color":"#FFFFFF",
                   "width":"990",
                   "height":"265",
                   "output":"Texto_3.png"
                },
                "texto_4":{  
                   "font":{  
                      "size":"130",
                      "family":"MyriadPro-Bold"
                   },
                   "kind":"caption",
                   "name":"Texto de encerramento",
                   "type":"text",
                   "align":"center",
                   "color":"#FFFFFF",
                   "width":"1026",
                   "height":"410",
                   "output":"Texto_4.png"
                }
             },
             "main_frame":"35",
             "preview_frames":[  
                "35",
                "101",
                "154",
                "238",
                "462",
                "574"
             ],
             "main_composition":"Template_Doencas"
          },
          "fonts":"{}",
          "aepx_file_name":"template.aepx",
          "aepx_content_type":"application/octet-stream",
          "aepx_file_size":"644838",
          "created_at":"2017-09-29T14:26:05.371Z",
          "updated_at":"2017-09-29T14:26:05.371Z"
       }
    ]
    
    

    Este endpoint retorna todos os templates.

    HTTP Request

    GET https://api.chiligumvideos.com/api/templates

    Receber um Template específico

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    template = HTTParty.get("https://api.chiligumvideos.com/api/templates/<ID>", headers: headers)
    template.body
    
    curl "https://api.chiligumvideos.com/api/templates/<ID>"
      -H "token: seutoken"
    

    O comando acima deve retornar uma estrutura de JSON:

     {  
        "id":42,
        "name":"Second Template",
        "assets":{  
           "Abertura_PreRender.mp4":""
        },
        "config_fields":{  
           "name":"Template_Doencas",
           "duration":"20",
           "variables":{  
              "foto":{  
                 "name":"Imagem",
                 "type":"img",
                 "width":"1600",
                 "height":"900",
                 "output":"Foto.png"
              },
              "logo":{  
                 "name":"Logo",
                 "type":"img",
                 "width":"1030",
                 "height":"470",
                 "output":"Logo.png"
              },
              "texto_1":{  
                 "font":{  
                    "size":"60",
                    "family":"MyriadPro-Regular"
                 },
                 "name":"Texto de Abertura",
                 "type":"text",
                 "color":"#50747B",
                 "output":"Texto_1.png"
              },
              "texto_2":{  
                 "font":{  
                    "size":"120",
                    "family":"MyriadPro-Semibold"
                 },
                 "name":"Título",
                 "type":"text",
                 "color":"#FFFFFF",
                 "output":"Texto_2.png"
              },
              "texto_3":{  
                 "font":{  
                    "size":"73",
                    "family":"MyriadPro-Semibold"
                 },
                 "kind":"caption",
                 "name":"Descrição",
                 "type":"text",
                 "align":"West",
                 "color":"#FFFFFF",
                 "width":"990",
                 "height":"265",
                 "output":"Texto_3.png"
              },
              "texto_4":{  
                 "font":{  
                    "size":"130",
                    "family":"MyriadPro-Bold"
                 },
                 "kind":"caption",
                 "name":"Texto de encerramento",
                 "type":"text",
                 "align":"center",
                 "color":"#FFFFFF",
                 "width":"1026",
                 "height":"410",
                 "output":"Texto_4.png"
              }
           },
           "main_frame":"35",
           "preview_frames":[  
              "35",
              "101",
              "154",
              "238",
              "462",
              "574"
           ],
           "main_composition":"Template_Doencas"
        },
        "fonts":"{}",
        "aepx_file_name":"template.aepx",
        "aepx_content_type":"application/octet-stream",
        "aepx_file_size":"644838",
        "created_at":"2017-09-29T14:26:32.880Z",
        "updated_at":"2017-09-29T14:26:32.880Z"
     }
    

    Este endpoint retorna um template através de seu ID.

    HTTP Request

    GET https://api.chiligumvideos.com/api/templates/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID do template que deseja retornar

    Criar um Template

    curl "https://api.chiligumvideos.com/api/templates" \
    -H "token: seutoken" \   
    -F "[template]name=nome_do_template" \
    -F "[template]assets=@/Users/Desktop/logo.mp4" \
    -F "[template]fonts=@Users/Desktop/font.ttf"
    -F "[template]config_json=@/Users/Desktop/config_json" \
    -F "[template]aepx=@Users/Desktop/template.aepx"
    
    require 'rest-client'
    
    headers = { 
      'token' => 'seutoken'
    }
    
    params = {
      template: { 
        name: 'Second Template',
        assets: {'Abertura_PreRender.mp4': assets},
        fonts: {'font_1': 'path-of_font_file.ttf'}
        config_fields: arquivo_json,
        aepx: File.new('/home/lean/Downloads/template.aepx')
      }
    }
    
    template = RestClient.post('https://api.chiligumvideos.com/api/template', params, headers)
    

    O comando acima deve retornar uma estrutura JSON:

      {  
         "id":43,
         "name":"Second Template",
         "assets":{  
            "Abertura_PreRender.mp4":""
         },
         "config_fields":{  
            "name":"Template_Doencas",
            "duration":"20",
            "main_composition":"Template_Doencas",
            "preview_frames":[  
               "35",
               "101",
               "154",
               "238",
               "462",
               "574"
            ],
            "main_frame":"35",
            "variables":{  
               "foto":{  
                  "name":"Imagem",
                  "type":"img",
                  "output":"Foto.png",
                  "width":"1600",
                  "height":"900"
               },
               "logo":{  
                  "name":"Logo",
                  "type":"img",
                  "output":"Logo.png",
                  "width":"1030",
                  "height":"470"
               },
               "texto_1":{  
                  "name":"Texto de Abertura",
                  "type":"text",
                  "output":"Texto_1.png",
                  "font":{  
                     "family":"MyriadPro-Regular",
                     "size":"60"
                  },
                  "color":"#50747B"
               },
               "texto_2":{  
                  "name":"Título",
                  "type":"text",
                  "output":"Texto_2.png",
                  "font":{  
                     "family":"MyriadPro-Semibold",
                     "size":"120"
                  },
                  "color":"#FFFFFF"
               },
               "texto_3":{  
                  "name":"Descrição",
                  "type":"text",
                  "output":"Texto_3.png",
                  "font":{  
                     "family":"MyriadPro-Semibold",
                     "size":"73"
                  },
                  "color":"#FFFFFF",
                  "kind":"caption",
                  "width":"990",
                  "height":"265",
                  "align":"West"
               },
               "texto_4":{  
                  "name":"Texto de encerramento",
                  "type":"text",
                  "output":"Texto_4.png",
                  "font":{  
                     "family":"MyriadPro-Bold",
                     "size":"130"
                  },
                  "color":"#FFFFFF",
                  "kind":"caption",
                  "width":"1026",
                  "height":"410",
                  "align":"center"
               }
            }
         },
         "fonts":{  
            "font_1":"Effra_Std_Rg.ttf"
         },
         "aepx_file_name":"template.aepx",
         "aepx_content_type":"application/octet-stream",
         "aepx_file_size":"644838",
         "created_at":"2017-09-29T17:54:19.932Z",
         "updated_at":"2017-09-29T17:54:19.932Z"
      }
    

    HTTP Request

    POST https://api.chiligumvideos.com/api/templates

    Parametrôs do post

    Parâmetro Descrição
    name nome do template
    assets Arquivos de Assets estáticos criados no endpoint de Assets
    fonts Arquivos de fontes utilizadas no template
    config_fields Campos dinâmcos do template em formato json
    aepx Arquivo aepx criado no AfterEffects

    Deletar Template

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    template = HTTParty.delete("https://api.chiligumvideos.com/api/templates/<ID>", headers: headers)
    template.body
    
    curl -X DELETE \
    "https://api.chiligumvideos.com/api/templates/<ID>" \
    -H "token: seutoken"
    
    

    O comando acima deve retornar uma estrutura JSON:

    {"msg":"deleted"}
    

    HTTP Request

    DELETE https://api.chiligumvideos.com/api/templates/<ID>

    Parametrôs do delete

    Parâmetro Descrição
    ID ID do template a ser deletado

    Videos

    Overview

    Todos os vídeos podem ser persistidos através dos próximos endpoints.

    Receber todos os vídeos criados pertencentes ao dono do token informado junto a requisição.

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    videos = HTTParty.get("https://api.chiligumvideos.com/api/videos", headers: headers)
    videos.body
    
    curl "https://api.chiligumvideos.com/api/videos"
      -H "token: seutoken"
    

    O comando acima retorna um JSON:

    [  
       {  
          "id":2,
          "name":"Video2",
          "url":"https://path_to_server/video_file_name.mp4"
          "thumbnail_url": "https://path_image/uploaded_image_from_thumbnail.png",
          "template_id":42,
          "track_id":18,
          "data":{  
             "logo":"",
             "texto_1":"Texto de Abertura",
             "texto_2":"Titulo",
             "texto_3":"Descricao",
             "texto_4":"Texto de encerramento"
          },
          "created_at":"2017-09-29T19:16:06.206Z",
          "updated_at":"2017-09-29T19:16:06.206Z"
       },
       {  
          "id":1,
          "name":"Video1",
          "url":"https://path_to_server/video_file_name.mp4"
          "thumbnail_url": "https://path_image/uploaded_image_from_thumbnail.png",
          "template_id":42,
          "track_id":18,
          "data":{  
             "logo":"",
             "texto_1":"Texto de Abertura",
             "texto_2":"Titulo",
             "texto_3":"Descricao",
             "texto_4":"Texto de encerramento"
          },
          "created_at":"2017-09-29T19:15:33.821Z",
          "updated_at":"2017-09-29T19:15:33.821Z"
       }
    ]
    

    Este endpoint retorna todos os videos.

    HTTP Request

    GET https://api.chiligumvideos.com/api/videos

    Receber um Video específico

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    video = HTTParty.get("https://api.chiligumvideos.com/api/videos/<ID>", headers: headers)
    video.body
    
    curl "https://api.chiligumvideos.com/api/videos/<ID>"
      -H "token: seutoken"
    

    O comando acima deve retornar uma estrutura de JSON:

      {  
        "id":1,
        "name":"Video1",
        "url":"https://path_to_server/video_file_name.mp4"
        "thumbnail_url": "https://path_image/uploaded_image_from_thumbnail.png",
        "template_id":42,
        "track_id":18,
        "data":{  
           "logo":"",
           "texto_1":"Texto de Abertura",
           "texto_2":"Titulo",
           "texto_3":"Descricao",
           "texto_4":"Texto de encerramento"
        },
        "created_at":"2017-09-29T19:15:33.821Z",
        "updated_at":"2017-09-29T19:15:33.821Z"
      }
    

    Este endpoint retorna um video através de seu ID.

    HTTP Request

    GET https://api.chiligumvideos.com/api/videos/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID do video que deseja retornar

    Criar um video

    curl "https://api.chiligumvideos.com/api/videos" \
    -H "token: seutoken" \
    -H "Content-Type: application/json" \
    -F "[video]name=Video1" \
    -F "[video]track_id=18", \
    -F "[video]template_id=42", \
    -F "[video]data=json_fields" \
    -F "[video]postback_url=http://domain.com"
    
    require 'rest-client'
    
    headers = { 
      'token'        => 'seutoken'
      'Content-Type' => 'application/json'
    }
    
    params = {
      video: { 
        name: 'Video1',
        track_id: 18,
        template_id: 42,
        data: {'texto_1': 'Texto de Abertura', 'texto_2': 'Titulo', 'texto_3': 'Descricao', 'texto_4': 'Texto de encerramento', 'logo': @foto },
        postback_url: 'http://domain.com'
     }
    }
    
    @video = RestClient.post('https://api.chiligumvideos.com/api/videos/api/videos', params, headers)
    
    
    

    O comando acima deve retornar uma estrutura JSON:

      {  
        "id":1,
        "name":"Video1",
        "url":"https://path_to_server/video_file_name.mp4",
        "thumbnail_url": "https://path_image/uploaded_image_from_thumbnail.png",
        "template_id":42,
        "track_id":18,
        "data":{  
          "logo":"",
          "texto_1":"Texto de Abertura",
          "texto_2":"Titulo",
          "texto_3":"Descricao",
          "texto_4":"Texto de encerramento"
        },
        "created_at":"2017-09-29T19:15:33.821Z",
        "updated_at":"2017-09-29T19:15:33.821Z"
      }
    

    HTTP Request

    POST https://api.chiligumvideos.com/api/videos

    Parametrôs do post

    Parâmetro Descrição
    name nome do video
    track_id id da trilha a ser transmitida junto ao vídeo
    template_id template utilizado para criação do vídeo
    data dados de preenchimento dos campos disponíveis no template
    postback_url Este campo é opcional caso precise receber uma notificação em seu endpoint
    play_button (Opcional) Gera a thumbnail do vídeo contendo um botão de play. Recebe true ou false apenas

    Deletar um video

    require 'httparty'
    
    headers = { 
      'token' => 'seutoken',
      'Content-Type' => 'multipart/form-data'
    }
    
    video = HTTParty.delete("https://api.chiligumvideos.com/api/videos/<ID>", headers: headers)
    video.body
    
    curl -X DELETE \
    "https://api.chiligumvideos.com/api/videos/<ID>" \
    -H "token: seutoken"
    
    

    O comando acima deve retornar uma estrutura JSON:

    {"msg":"deleted"}
    

    HTTP Request

    DELETE https://api.chiligumvideos.com/api/videos/<ID>

    Parametrôs do delete

    Parâmetro Descrição
    ID ID do video a ser deletado

    Player de vídeos

    Overview

    Todos os vídeos podem ser persistidos no nosso player de vídeos através dos próximos endpoints.

    Para ter acesso à API do nosso player você deve criar uma conta em nosso sistema e acessar o menu de Credentials.

    Após criar a conta você deve entrar em contato conosco para mudarmos o status da conta para enabled.

    No link do vídeo pode ser passado parâmetros opcionais, tais como: redirect_url para o redirecionamento automático após a finalização do vídeo e thumbnail_url para colocar o thumbnail no vídeo.

    Exemplo prático https://player.chiligumvideos.com/46f49b30c8?redirect_url=https://www.google.com&thumbnail_url=https://images.pexels.com/photos/126407/pexels-photo-126407.jpeg

    Parametrôs opcionais

    Parâmetro Exemplo válido Exemplo inválido
    redirect_url https://www.google.com www.google.com
    thumbnail_url https://www.link_image.com/image.jpg https://www.link_image.com/image.jpg?opt_param=teste

    Receber todos os vídeos enviados

    Este endpoint retorna todos os vídeos no player pertencentes ao usuário do token

    curl "https://player.chiligumvideos.com/api/videos" 
    -H "token: seutoken" \
    
    require 'rest-client'
    
    headers = {token: 'seutoken'}
    
    videos = RestClient.get('https://player.chiligumvideos.com/api/videos', headers)
    videos.body
    

    O comando acima deve retornar uma estrutura JSON:

    [
      {
        "id":165,
        "name":"nomevideo",
        "token":"b92b42f9bc",
        "on_queue":false,
        "on_render":false,
        "processed":false,
        "deleted":false,
        "processed_at":null,
        "data_file_name":"teste.mp4",
        "data_content_type":"application/octet-stream",
        "data_file_size":"5146759",
        "data_updated_at":"2018-06-27 16:45:19 +0000",
        "user_id":2,
        "created_at":"2018-06-27T16:45:19.732Z",
        "updated_at":"2018-06-27T16:45:19.732Z",
        "instance_id":null,
        "activated":true,
        "duration":null
      },
      {
        "id":164,
        "name":"nomevideo",
        "token":"d6d791b7a8",
        "on_queue":false,
        "on_render":false,
        "processed":false,
        "deleted":false,
        "processed_at":null,
        "data_file_name":"teste.mp4",
        "data_content_type":"application/octet-stream",
        "data_file_size":"5146759",
        "data_updated_at":"2018-06-27 16:43:28 +0000",
        "user_id":2,
        "created_at":"2018-06-27T16:43:28.026Z",
        "updated_at":"2018-06-27T16:43:28.026Z",
        "instance_id":null,
        "activated":true,
        "duration":null
      }
    ]
    

    HTTP Request

    GET https://player.chiligumvideos.com/api/videos

    Receber um vídeo específico

    Este endpoint retorna um vídeo através do seu ID

    curl "https://player.chiligumvideos.com/api/videos/<ID>" \
    -H "token: seutoken" \
    
    require 'rest-client'
    
    headers = {token: 'seutoken'}
    
    video = RestClient.get('https://player.chiligumvideos.com/api/videos/<ID>', headers)
    video.body
    

    O comando acima deve retornar uma estrutura JSON:

    
    { 
      "id":162,
      "name":"Samba Rock",
      "token":"dff4f6b549",
      "on_queue":false,
      "on_render":false,
      "processed":true,
      "deleted":false,
      "processed_at":"2018-06-19T18:29:39.762Z",
      "data_file_name":"teste.mp4",
      "data_content_type":"application/mp4",
      "data_file_size":"5146759",
      "data_updated_at":"2018-06-19 17:56:50 +0000",
      "user_id":2,
      "created_at":"2018-06-19T17:56:50.498Z",
      "updated_at":"2018-06-19T18:29:39.764Z",
      "instance_id":null,
      "activated":true,
      "duration":"48.102000"
    }
    
    

    HTTP Request

    GET https://player.chiligumvideos.com/api/videos/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID do vídeo que deseja retornar

    Enviar um vídeo ao player

    curl "https://player.chiligumvideos.com/api/videos" \
    -H "token: seutoken" \
    -F "[video]name=nomevideo" \
    -F "[video]data=@seuvideo.mp4" \
    -F "[video]postback_url=http://domain.com"
    
    require 'rest-client'
    
    headers = {token: 'seutoken'}
    params = {
        video: {
              name: 'nomevideo',
              data: File.new('seuvideo.mp4', 'rb'),
              postback_url: 'https://domain.com'
      }
    }
    
    video = RestClient.post('https://player.chiligumvideos.com/api/videos', params, headers)
    

    O comando acima deve retornar uma estrutura JSON:

    {
      "id":165,
      "name":"nomevideo",
      "token":"b92b42f9bc",
      "on_queue":false,
      "on_render":false,
      "processed":false,
      "deleted":false,
      "processed_at":null,
      "data_file_name":"teste.mp4",
      "data_content_type":"application/octet-stream",
      "data_file_size":"5146759",
      "data_updated_at":"2018-06-27 16:45:19 +0000",
      "user_id":2,
      "created_at":"2018-06-27T16:45:19.732Z",
      "updated_at":"2018-06-27T16:45:19.732Z",
      "instance_id":null,
      "activated":true,
      "duration":null
    }
    

    HTTP Request

    POST https://player.chiligumvideos.com/api/videos

    Parametrôs do post

    Parâmetro Descrição
    name nome do video
    data arquivo do video em .mp4
    postback_url Este campo é opcional caso precise receber uma notificação em seu endpoint

    Deletar um vídeo

    curl -X DELETE \
    "https://player.chiligumvideos.com/api/videos/<ID>" \
    -H "token: seutoken" \
    
    require 'rest-client'
    
    headers = {token: 'seutoken'}
    
    video = RestClient.delete('https://player.chiligumvideos.com/api/videos/<ID>', headers)
    video.body
    

    O comando acima deve retornar uma estrutura JSON:

    {"msg":"deleted"}
    

    HTTP Request

    DELETE https://player.chiligumvideos.com/api/videos/<ID>

    URL Parameters

    Parâmetro Descrição
    ID ID do vídeo que deseja retornar

    Consultar Analytics

    Este endpoint retorna ao usuário todos seus dados de analytics gravados na Api. Como opção, é possível enviar um interválo de datas. Os parâmetros não são obrigatórios. Caso não seja passado nenhum parâmetro de intervalo, o endpoint retorna como resultado todos analytics registrados no dia atual. Caso passe os parâmetros, é necessário respeitar a regra de não exceder o total de 30 dias entre o intervalo. O parâmetro start_date também deverá ter a data inferior ao parâmetro final_date.

    HTTP Request

    GET https://player.chiligumvideos.com/api/analytics

    curl "https://player.chiligumvideos.com/api/analytics?start_date=2018-08-13&final_date=2018-08-23" -H "token: tokedeacessoplayerapi"
    
    
    require 'rest-client'
    
    headers = { token: 'seutoken', params: { start_date: '2018-08-13', final_date: '2018-08-23' }}
    
    analytics = RestClient.get('https://player.chiligumvideos.com/api/analytics', headers)
    analytics.body
    

    O comando acima deve retornar uma estrutura JSON:

    
    [
       {
          "id":1,
          "token":null,
          "system_name":null,
          "browser_name":null,
          "browser_version":null,
          "screen_resolution":null,
          "referer":null,
          "ip":"201.221.0.0 ",
          "current_time":null,
          "mobile":false,
          "desktop":false,
          "full_watched":false,
          "created_at":"2018-06-15T16:43:23.963Z",
          "updated_at":"2018-08-24T20:27:51.646Z",
          "duration":null,
          "ended":false,
          "video_id":1,
          "percentage_watched":0.0,
          "city_name":"Montevideo",
          "country_name":"Uruguay",
          "session":null,
          "analized":true,
          "region_name":null
       },
       {
          "id":2,
          "token":"yhpm53zfep",
          "system_name":"Generic Linux",
          "browser_name":"Firefox",
          "browser_version":"61.0",
          "screen_resolution":"1920x1054",
          "referer":"http://localhost:3000/d4a72c4869",
          "ip":"127.0.0.1",
          "current_time":0,
          "mobile":false,
          "desktop":true,
          "full_watched":false,
          "created_at":"2018-06-15T00:00:00.000Z",
          "updated_at":"2018-08-24T20:31:36.163Z",
          "duration":"",
          "ended":false,
          "video_id":16,
          "percentage_watched":null,
          "city_name":null,
          "country_name":null,
          "session":"undefined",
          "analized":true,
          "region_name":null
       }
    ]
    
    

    URL Parameters

    Parâmetro Descrição Exemplo Obrigatório
    start_date Data de inicio da criação dos analytics '2018-06-13' não
    final_date Data limite da criação dos analytics '2018-06-14' não

    Errors

    The Kittn API uses the following error codes:

    Error Code Meaning
    400 Bad Request -- Your request sucks.
    401 Unauthorized -- Your API key is wrong.
    403 Forbidden -- The kitten requested is hidden for administrators only.
    404 Not Found -- The specified kitten could not be found.
    405 Method Not Allowed -- You tried to access a kitten with an invalid method.
    406 Not Acceptable -- You requested a format that isn't json.
    410 Gone -- The kitten requested has been removed from our servers.
    418 I'm a teapot.
    429 Too Many Requests -- You're requesting too many kittens! Slow down!
    500 Internal Server Error -- We had a problem with our server. Try again later.
    503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.