Documentação – API Radioin v3

Documentação – API Radioin

Versão 1.0.0 – 15/12/2023


Dados de Acesso

  • URL base (produção): http://radioinapi.grpcom.com.br:9595/v1
  • URL base (homologação): Ainda não disponível.

Autenticação do Ouvinte

1. Introdução

A API de autenticação da Radioin permite que usuários realizem login e obtenham uma chave de API para acessar recursos restritos.

2. Requisição

  • Método: POST
  • Endpoint: /login
2.2 Observações sobre o Corpo da Requisição
  • senha: Deve ser fornecida em formato MD5.
  • origem: Valores possíveis:
    • R98FM (98FM Curitiba)
    • RMLFM (Mundo Livre FM Curitiba)
    • RMLMGA (Mundo Livre FM Maringá)
    • RMLLON (Mundo Livre FM Londrina)
2.3 Parâmetros da Requisição

{
  "username": "ouvinte@mundolivrefm.com.br",
  "password": "e10adc3949ba59abbe56e057f20f883e",
  "origem": "R98FM",
  "ip": ""
}

3. Resposta

{
  "error": false,
  "usuario": {
    "apiKey": "cOx/XH6HoffO9+s7g4IYIUAD05+Y2WrRXz+wAnm3rwg=",
    "nome": "Ouvinte de Teste"
  },
  "message": "Login efetuado com sucesso!"
}

Perfil do Ouvinte

1. Introdução

Permite recuperar informações detalhadas sobre um ouvinte.

2. Requisição

  • Método: GET
  • URL: /perfil
2.2 Parâmetros da Requisição
  • Headers:
    Authorization: c72d92360ce63bbaa2d308308d2dc88a (Obtido via apiKey no login)

3. Resposta

{
  "error": false,
  "ouvinte": {
    "id": 131473,
    "nome": "Ouvinte de Teste",
    "username": "ouvinte@mundolivrefm.com.br",
    "cpf": "08925203022",
    "dataNascimento": "08/04/1955",
    "email": null,
    "ativo": true,
    "endereco": {
      "cep": "73360401",
      "logradouro": "QUADRA 4 CONJUNTO A",
      "numero": "345435",
      "complemento": "St. Res. Leste | Buritís I Q 4 a 40 - Planaltina, Brasília - DF, 73360-401",
      "bairro": "ST RES LESTE (PLANALTINA)",
      "cidade": "BRASILIA",
      "estado": "DF"
    },
    "consentimentos": {
      "a837d1f38828cb031eac7575cc8c3ccdb9d3a8e97bbf7ca5739203219a904835": false,
      "1594c90cae0a4d043c5c7534153dfb16f20a4c61841add8da4f0a411581781e3": true,
      "fbf08e02ec15f35a9bc065651629a32845054204622c697660a3d1d1e9bf9b50": true,
      "90652c1e867e0801ae60c53b78cc22e50b775efa5ef838ef723b0e2c32dd7f6d": false
    }
  }
}

Atualização de Senha

1. Introdução

Permite alterar a senha da conta.

2. Requisição

  • Método: POST
  • URL: /novasenha
2.2 Parâmetros da Requisição
  • Headers:
    Authorization: c72d92360ce63bbaa2d308308d2dc88a
  • Body:{ “oldPassword”: “e10adc3949ba59abbe56e057f20f883e”, “newPassword”: “e10adc3949ba59abbe56e057f20f883e” }

3. Resposta

{
  "error": false,
  "message": "Nova senha cadastrada com sucesso!"
}

Recuperação de Senha

1. Introdução

Solicita recuperação de senha via e-mail.

2. Requisição

  • Método: POST
  • URL: /recuperasenha
2.2 Parâmetros da Requisição

{
  "username": "ouvinte@mundolivrefm.com.br",
  "origem": "R98FM"
}

3. Resposta

{
  "error": false,
  "message": "E-mail enviado! Siga as instruções contidas nesse e-mail para trocar a sua senha."
}

Consulta de CEP

1. Introdução

Obtém informações de um CEP.

2. Requisição

  • Método: GET
  • URL: /cep/consultar?cep=80810110

3. Resposta

{
  "error": false,
  "logradouro": {
    "id": 408067,
    "tipoLogradouro": "R",
    "logradouro": "JULIO PERNETA",
    "bairro": "MERCES",
    "cidadeId": 6015,
    "cidade": "CURITIBA",
    "estado": "PR",
    "cep": "80810110"
  },
  "message": "Cadastro efetuado com sucesso!"
}

Cadastro de Novo Ouvinte

1. Introdução

Permite cadastro de novos usuários.

2. Requisição

  • Método: POST
  • URL: /cadastro
2.2 Parâmetros da Requisição
  • senha: Formato MD5.
  • origem: Valores possíveis (mesmos da autenticação).
  • consentimentos: IDs de consentimento da Privacy Tools.

{
  "username": "ouvinte_novo@mundolivrefm.com.br",
  "password": "e10adc3949ba59abbe56e057f20f883e",
  "nome": "Novo Ouvinte",
  "cpf": "70273308300",
  "dataNascimento": "05/03/2001",
  "cep": "80810110",
  "logradouro": "JULIO PERNETA",
  "bairro": "MERCES",
  "numero": "300",
  "complemento": "Sem complemento",
  "origem": "R98FM",
  "link": "https://98fmcuritiba.com.br",
  "consentimentos": {
    "a837d1f38828cb031eac7575cc8c3ccdb9d3a8e97bbf7ca5739203219a904835": {
      "title": "Pedido Musical - Política de Privacidade",
      "required": "N",
      "status": "A",
      "value": false,
      "retention": 120
    },
    "...": "..."
  }
}

3. Resposta

json

Copy

Download

{
  "error": false,
  "message": "Cadastro efetuado com sucesso!",
  "obs": "Aguarde o recebimento de um e-mail para confirmação e ativação do seu cadastro!"
}

Atualização de Perfil do Ouvinte

1. Introdução

Permite atualizar informações do cadastro.

2. Requisição

  • Método: POST
  • URL: /perfil/atualizar
2.2 Parâmetros da Requisição
  • Headers: Authorization (obtido no login).
  • Body: Similar ao cadastro, com campos atualizáveis.

3. Resposta

{
  "error": false,
  "message": "Cadastro atualizado com sucesso!"
}

Registro de Interação

1. Introdução

Registra interações como pedidos musicais.

2. Requisição

  • Método: POST
  • URL: /interacao/registrar
2.2 Parâmetros da Requisição
  • acao: Ex: "pedido-musical".
  • PT_USER: Hash única (SHA-256).

{
  "acao": "pedido-musical",
  "origem": "R98FM",
  "link": "https://98fmcuritiba.com.br",
  "assunto": "Pedido Musical - 98FM",
  "conteudo": {
    "NOME": "NOME DO OUVINTE",
    "ARTISTA": "SNOW PATROL",
    "MUSICA": "CHASING CARS",
    "CIDADE": "ADRIANÓPOLIS",
    "PT_USER": "0c4de185ce04126dae4dc2d05b972ec85de7e748ae171862bb20ca7ba2be02b8"
  }
}

3. Resposta

{
  "error": false,
  "message": "Interação registrada com sucesso!"
}

Histórico de Interações

1. Introdução

Obtém histórico de interações (ex: promoções).

2. Requisição

  • Método: GET
  • URL: /interacao/historico?origem=R98FM&offset=0&limit=10
2.2 Parâmetros da Requisição
  • Headers: Authorization.

3. Resposta

{
  "error": false,
  "historico": [
    {
      "id": 526061,
      "tipo": "Inscrição Promoção",
      "slug": "inscricao-promocao",
      "descricao": "Se inscreveu na promoção 'STOP 98FM (2021)'",
      "data": "2021-06-26 16:01"
    }
  ],
  "message": "Histórico retornado com sucesso!"
}

Inscrição em Promoção

1. Introdução

Realiza inscrições em promoções.

2. Requisição

  • Método: POST
  • URL: /promocao/inscricao
2.2 Parâmetros da Requisição
  • promocaoId: ID da promoção no Radioin.
  • resposta: Dados serializados.

{
  "promocaoId": "1331",
  "resposta": "a:5:{s:16:\"endereco-ouvinte\";s:56:\"R. Tocantins, 480 - Argentina, Criciúma - SC, 88813-540\";s:14:\"bairro-ouvinte\";s:17:\"Perpétuo Socorro\";s:16:\"telefone-ouvinte\";s:10:\"4199889966\";s:13:\"musicapedida\";s:20:\"Charlie Brown Junior\";s:12:\"cantor-banda\";s:18:\"Vou te levar daqui\"}",
  "acao": "inscricao-promocao",
  "origem": "R98FM",
  "link": "https://98fmcuritiba.com.br/promocao/sabado-premiado-2023/",
  "assunto": "Inscrição",
  "conteudo": {
    "ID_WP": "192866",
    "PROMOCAO": "Sábado Premiado 2023"
  },
  "consentimentos": {
    "34e179e8421475952ce2be53868275f6b9af06a45548e1516d5b5e8772c84d4d": "1"
  }
}

3. Resposta

{
  "error": false,
  "message": "Inscrição realizada com sucesso!"
}

Documentação – Streaming

Versão 1.0.0 – 15/12/2023

Links do Streaming

  • 98FM Curitiba:
    https://playerservices.streamtheworld.com/api/livestream-redirect/98FM_CWBAAC.aac
  • Mundo Livre FM (Curitiba):
    https://playerservices.streamtheworld.com/api/livestream-redirect/MUNDOLIVRE_CWBAAC_64.aac
  • Londrina:
    https://rrdns-continental.webnow.com.br/mllondrina.mp3
  • Maringá:
    https://rrdns-continental.webnow.com.br/cultura.aac

Desenvolvimento do Player

Utilize a tag <audio> do HTML5 ou bibliotecas JavaScript.

Exibição de Dados da Música Atual

  • 98FM Curitiba:
    https://98fmcuritiba-static.s3.amazonaws.com/player/infoplayer.json
  • Mundo Livre FM (Curitiba):
    https://mundolivrefm-static.s3.amazonaws.com/player/infoplayer.json
  • Londrina:
    https://mundolivrefm-static.s3.amazonaws.com/londrina/player/infoplayer.json
  • Maringá:
    https://mundolivrefm-static.s3.amazonaws.com/maringa/player/infoplayer.json

Formato do JSON (Exemplo)

{
  "artista": "Luan Santana",
  "musica": "Coração Sigano",
  "imagem": "https://www.98fmcuritiba.com.br/wp-content/uploads/2017/01/13230336/capa_programcao_musical98.png",
  "programa": "Musical",
  "locutor": "Juliano Ribeiro"
}