Documentação Api Sincronizador

Endpoints

Action URL Authentication Method
Action URL Authentication Method
Verifica agendamento de tarefas.
  • Sucesso
    
    {
        "code": 200,
        "tasks": {
            "force_sync_parcial": {
                "active": true,
                "scheduled": "08/11/2018 00:15:00"
            },
            "force_sync_complete": {
                "active": false,
                "scheduled": false
            },
            "set_directories": {
                "active": false,
                "scheduled": false
            },
            "get_configs": {
                "active": false,
                "scheduled": false
            },
            "set_configs": {
                "active": false,
                "scheduled": false
            },
            "check_version_software": {
                "active": false,
                "scheduled": false
            }
        }
    }
  • /api/scheduled-tasks/{AUTH_CODE}/ AUTH_CODE
  • Código de autorização de uma maquina da empresa.
  • Composto de 10 digitos Alfanumérico. Ex: 1912B5DD69
  • GET
    Confirma a execução de uma tarefa agendada.
  • Sucesso
    
    {
        "code": 200
    }
  • /api/confirm-scheduled-task/ PARÂMETROS
  • auth_code - Código da estação
  • task - nome da tarefa executada.
  • POST
    Estrutura de pastas
  • Sucesso
    
    {
        "MEDIAS_DOWNLOAD": {
            "tree": [
                "Medias\/5-Vem\/",
                "Medias\/9-Promos e Cabs\/"
            ]
        }
    }
  • Erro
    
    erro: 404
    {
        "message": "caminho n\u00e3o encontrado.",
        "code": 404
    }
  • /api/sync-structure/{ACCESS_TOKEN}/{SCOPE}/ ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um Escopo: Ex: MUSICS
  • GET
    Sincronizar Arquivos
  • Sucesso
    
    {
        "PLAYLIST_DOWNLOAD": {
            "files": [
                {
                    "path": "Playlist\/1\/",
                    "path_download": "1\/2018\/05\/",
                    "file": "Mus20180514.txt",
                    "hash": "db65184cc490551a9be0b67acfe59b62"
                }
            ],
            "query": {
                "next": false,
                "page": "1",
                "date": "2018-05-24T11:43:18-03:00"
            },
            "no_media": [
                {
                    "id": 1,
                    "dir": "\/midias\/proofs\/playlist\/1\/1\/2018\/04\/Mus20180430.txt",
                    "hash": "18d536ff867c91a3a5d610e065c58e23"
                },
                {
                    "id": 2,
                    "dir": "\/proofs\/playlist\/1\/1\/2018\/05\/Mus20180503.txt",
                    "hash": "b2ba85e69b07d9c98461371e5af6ee6a"
                }
            ]
        }
    }
  • Erro
    
    erro: 404
    {
        "message": "caminho n\u00e3o encontrado.",
        "code": 404
    }
  • /api/sync-files/{ACCESS_TOKEN}/{SCOPE}/{PAGE}/{TYPE_SYNC}/{TIMESTAMP} ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um Escopo: Ex: PLAYLIST_DOWNLOAD
  • PAGE
  • Pagina requisitada.
  • Numero inteiro.
  • TYPE_SYNC
  • Tipo de Sincronização.
  • 'complete' = sincronização completa.
  • 'parcial' = sincronização parcial. Irá retornar apenas as mídias que foram atualizados desde a ultima sincronização.
  • 'timestamp' = sincronização por periodo. Irá retornar apenas as mídias que foram atualizados desde uma determinada data.
  • TIMESTAMP (Opicional)
  • Timestamp parabusca de informações.

  • RESPONSE SUCCESS
  • query->next: (boolean) se true indica que existe uma proxima pagina.
  • query->page: (inteiro) pagina atual.
  • query->date: (datetime) data do último arquivo atualizado.
  • GET
    Lista de Arquivos Deletados
  • Sucesso
    
    {
        "MUSICS_DELETE": {
            "files": [
                {
                    "path": "Musics\/",
                    "file": "Bob Dylan = Lay Lady Lay.mp3",
                    "hash": "689b0cc5831d38397ba3e336dbf3eba7"
                },
                {
                    "path": "Musics\/",
                    "file": "Bryan Adams = Heaven.mp3",
                    "hash": "9a4073a66b43d9f06a6b7840d682bfd7"
                },
            ]
        }
    }
  • /api/sync-deletes/{ACCESS_TOKEN}/{SCOPE} ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um Escopo: Ex: MUSICS_DELETE
  • GET
    Download de arquivo
  • Sucesso
    
    {
        Download File
    }
  • Erro
    
    erro: 500
    {
        "code": 500,
        "message": "Falha ao tentar fazer o download."
    }
  • /api/download-file/{ACCESS_TOKEN}/{SCOPE}/
    Ex: GET: /api/download-file/{ACCESS_TOKEN}/{SCOPE}/?path=3/Musics/&file=Drake Feat.Kyla %26 Wizkid = One Dance.mp3
    ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição.
  • Sempre em caixa alta.
  • Enviar somente um Escopo: Ex: MUSICS
  • PARÂMETROS
  • path: Caminho do arquivo ( Ex: 3/Musics/ )
  • file: Nome do arquivo: Drake Feat.Kyla %26 Wizkid = One Dance.mp3
  • OBS
  • Tratar nome do arquivo para modelo HTTP para caracteres especiais. Ex. & = %26
  • GET
    Lista de arquivos que já existem na plataforma
  • Sucesso
    
    {
        "status": "success",
        "code": 200,
        "files": {
            "bedfce4369aa61db16f76e962a2475c1": "Acústicos & Valvulados = O Dia D é Hoje.mp3",
            "1e24d8b92b7b90183e78a21a9fd5ee19": "Snow Patrol = Open Your Eyes.mp3",
        }
    }
  • Erro
    
    erro: 101
    {
        "message": "token expirado",
        "code": 101
    }
    erro: 500
    {
        "message": "só será aceito um escopo por requisição.",
        "code": 500
    }
  • /api/request-existing-files/{ACCESS_TOKEN}/{SCOPE}/{MEDIA_TYPE_ID} ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: MUSICS

  • MEDIA_TYPE_ID
  • id da pasta.
  • GET
    Requisição de código de autorização para upload
  • Sucesso
    
    {
        "message": null,
        "unique_code": "9F4945B8724D6CEC313D447EAA8A5AA8",
        "code": 200,
        "extensions": [
            "wave",
            "mp3",
        ],
        "mime_type": [
            "audio/vnd.wav",
            "audio/mpeg",
            "audio/mp3"
        ]
    }
  • Erro
    
    erro: 101
    {
        "message": "token expirado",
        "unique_code": null,
        "code": 101
    }
    
    erro: 500
    {
        "message": "não foi possivel gerar o código de upload",
        "unique_code": null,
        "code": 500
    }
    erro: 500
    {
        "message": "só será aceito um escopo por requisição.",
        "code": 500
    }
  • /api/request-permission-upload/{ACCESS_TOKEN}/{SCOPE}?hash=291b4b33217a592fb248154f931ca0f3&media_type=1 ACCESS_TOKEN
  • Código de autorização do cliente.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: MUSICS

  • PARÂMETROS
  • hash - md5 gerado do binário do arquivo para ser enviado.
  • media_type - indica o tipo da midia ou pasta que será enviada.
  • GET
    Fazer Upload de um arquivo
  • Sucesso
    
    {
        "message": null,
        "code": 200
    }
  • Erro
    
    erro: 403
    {
        "message": "arquivo não permitido",
        "code": 403
    }
    
    erro: 500
    {
        "message": "falha ao enviar arquivo.",
        "code": 500
    }
    erro: 500
    {
        "message": "só será aceito um escopo por requisição.",
        "code": 500
    }
    
  • /api/create-file/{ACCESS_TOKEN}/{UNIQUE_CODE}/{SCOPE} ACCESS_TOKEN
  • Token de acesso.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • UNIQUE_CODE
  • Código de autorização para upload.
  • Composto de 32 digitos Alfanumérico. Ex: 9F4945B8724D6CEC313D447EAA8A5AA8
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: MUSICS

  • PARÂMETROS
  • file - arquivo enviado
  • hash - md5 gerado do binário do arquivo enviado.
  • media_type - Parametro Opicional, indica o tipo da midia que será enviada.
  • POST
    Busca Notificações do Sistema
  • Sucesso
    
    {
        "message": null,
        "data": [
            {
                "id": 1,
                "subject": "Nova vers\u00e3o do Syn Music",
                "message": "Ol\u00e1, a nova vers\u00e3o do software SyncDataMusic j\u00e1 est\u00e1 disponivel para Download"
            }
        ],
        "code": 200
    }
  • Erro
    
    erro: 101
    {
        "message": "token expirado",
        "unique_code": null,
        "code": 101
    }
    
    erro: 404
    {
        "message": "n\u00e3o foram encontrados notifica\u00e7\u00f5es.",
        "data": null,
        "code": 404
    }
    
    erro: 500
    {
        "message": "falha ao buscar notificações",
        "code": 500
    }
    
  • /api/notifications/{ACCESS_TOKEN}/{SCOPE} ACCESS_TOKEN
  • Token de acesso.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: SYSTEM_NOTIFICATION
  • GET
    Requisição Media List
  • Sucesso
    
    {
        "message": null,
        "unique_code": "657A620BE74D728E1B404B0E0C10CA14",
        "code": 200,
        "search": {
            "extensions": "{\u00220\u0022:\u0022wave\u0022,\u00221\u0022:\u0022mp3\u0022}",
            "mime_type": "{\u00220\u0022:\u0022audio\\\/vnd.wav\u0022,\u00221\u0022:\u0022audio\\\/mpeg\u0022,\u00222\u0022:\u0022audio\\\/mp3\u0022}"
        },
        "send": {
            "extensions": "{\u00220\u0022:\u0022json\u0022}",
            "mime_type": "{\u00220\u0022:\u0022application\\\/json\u0022}"
        }
    }
  • Erro
    
    erro: 500
    {
        "message": "não foi possivel gerar o código de upload",
        "code": 500
    },
    
  • /media-list/{ACCESS_TOKEN}/{SCOPE} ACCESS_TOKEN
  • Token de acesso.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: MUSICS_READ

  • PARÂMETROS SUCESSO
  • unique_code - Código de autorização par aupload
  • search - Lista de extenções e mime types para Procurar
  • send - Lista de extenções e mime types que serão aceito no Upload.
  • GET
    Upload Media List
  • Sucesso
    
    {
        "message": null,
        "code": 200
    }
  • Erro
    
    erro: 403
    {
        "message": "arquivo não permitido",
        "code": 403
    }
    
    erro: 500
    {
        "message": "falha ao enviar arquivo.",
        "code": 500
    }
    erro: 500
    {
        "message": "só será aceito um escopo por requisição.",
        "code": 500
    }
    
  • /media-list/{ACCESS_TOKEN}/{SCOPE} ACCESS_TOKEN
  • Token de acesso.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar somente um escopo: Ex: MUSICS_READ

  • PARÂMETROS POST
  • file - arquivo enviado.
  • uniq_id - Código de autorização para upload.
  • hash - md5 gerado do binário do arquivo enviado.
  • POST
    Setagem de Configuração de Diretorios Completos
  • Sucesso
    
    {
        "message": null,
        "code": 200
    }
  • Erro
    
    erro: 404
    {
        "message": "Parametros não encontrados",
        "code": 404
    }
    
    erro: 500
    {
        "message": "só será aceito um escopo por requisição.",
        "code": 500
    }
    
  • /set-directories/{ACCESS_TOKEN}/{SCOPE} ACCESS_TOKEN
  • Token de acesso.
  • Composto de 32 digitos Alfanumérico. Ex: 4FFE2F70B6B915FD1C97B45EE9321377
  • SCOPE
  • Escopo de permissão da requisição
  • Sempre em caixa alta.
  • Enviar escopo: DIRECTORIES

  • PARÂMETROS POST
  • directories Enviar um Array com os Dados dos caminhos completos.
  •     
        [
            'Musics' => ['C:/Programs Files/Musicas'],
            'Medias' => [
                '22' => 'C:/Programs Files/Medias/CHAMADAS',
                '38' => 'C:/Programs Files/Medias/VINHETAS',
                '41' => 'C:/Programs Files/Medias/PROGRAMETES',
            ],
        ];
    
        
    
    
  • type Enviar uma string 'download' ou 'upload'.
  • POST