Para empresas que possuem seu próprio aplicativo móvel e que desejam realizar as conversões de seus indicadores através de seu aplicativo, a Beeviral oferece um SDK para simplificar a execução desta tarefa sem precisar lidar com nossa API, abstraindo essas complexidades através de métodos simples e objetivos.


Atualmente, oferecemos o SDK para as seguintes plataformas com seus respectivos manuais de instalação e uso:


- Android nativo (https://beeviral.freshdesk.com/a/solutions/articles/65000187296);

- iOS nativo (https://beeviral.freshdesk.com/a/solutions/articles/65000187297);

- Flutter (https://beeviral.freshdesk.com/a/solutions/articles/65000187298);



Basicamente, o SDK é composto por dois métodos objetivos:


- ConversionService.initialize: Este método é responsável por inicializar o SDK e deve ser executado antes da execução de qualquer outro método do SDK. 


É um método que recebe dois parâmetros: 

- O primeiro recebe o token único que cada cliente da Beeviral recebe e que pode ser encontrado no menu Configurações>Integrações. O token necessário está entro da box de "API Token".


- O segundo recebe uma classe chamada ConversionOptions e que, por sua vez, recebe o parâmetro "statusOfConversion" que, por padrão, envia o indicador para ser processado como "Indicado", mas que pode ser configurado com o status que desejar dentre os disponíveis;

O segundo parâmetro desta classe serve para configurar a validade do clique do indicado e que por padrão não possui validade.


- ConversionService.doConversion: Este método é responsável pro realizar, de fato, a conversão dos indicadores desejados e deve ser executado apenas caso o método descrito anteriormente já tenha sido executado, caso contrário, um erro será retornado.


É um método que recebe como parâmetro os campos obrigatórios e opcionais descritos abaixo:


name: Define o nome do indicado (Obrigatório)
email: 
Define o e-mail do indicado (Opcional)
phone: 
Define o número de telefone do indicado (Opcional)
status: 
Define o Status, podendo ser "Indicado", "Convertido", "Inativo", etc (Opcional)
orderid: 
Define um ID interno, geralmente um ID de compra ou resgate efetuado (Opcional)
externalid: 
Define um identificador externo (chave externa) única (Opcional)
bvid: 
Define o ID do indicador (Opcional)
valorconversao: 
Define um valor para a conversão, se for o caso (Opcional)
contentclient: 
Define os campos adicionais referentes ao indicador que devem ser passados via uma String de formato JSON (Opcional)
contentsale: 
Define os campos adicionais referentes à indicação que devem ser passados via uma String de formato JSON (Opcional)


*Observação: Para o SDK usado para aplicativos que utilizam o Android nativo, há um parâmetro a mais de contexto, que deve ser passado o contexto da aplicação Android.