Código de implementação da tag Ebit para iOS (Swift)


Instruções gerais:

  • Para que a Ebit seja capaz de receber os dados de um pedido feito pelo seu app, basta nos enviar uma http request do tipo GET com os dados do pedido.
  • A URL para qual a http request deve ser enviada é https://www.ebitempresa.com.br/bitrate/banners/ .
  • Juntamente à URL acima, devem ser concatenados os dados de sua loja na ebit e os dados do pedido seguindo um padrão de chave e valor.
  • A documentação completa e a especificação desses dados podem ser encontradas em: Especificação dos Parâmetros.
  • A URL de uma http request válida terá o padrão a seguir. Note que os valores em verde devem ser substituídos pelos dados do pedido de acordo com a documentação.

    https://www.ebitempresa.com.br/bitrate/banners/b1storeId5.gif?storeId=storeId&transactionId=transactionId&platform=platform&gender=gender&zipCode=zipCode&parcels=parcels&deliveryTax=deliveryTax&deliveryTime=deliveryTime&totalSpent=totalSpent&value=value&quantity=quantity&productName=productName&paymentType=paymentType&sku=sku&productCondition=productCondition&deliveryType=deliveryType&mktSaleId=mktSaleId&ean=ean&age=age&birthday=birthday&cardFlag=cardFlag&invoiceEmissor=invoiceEmissor&l5=categoryl5&man=manufacturer&brd=brand&brds=subbrand .

  • Importante! Atente-se aos atributos que podem receber mais de um valor (ex.: productName). Deste modo teríamos cada valor separado por "|" (pipe).

    https://www.ebitempresa.com.br/bitrate/banners/b1storeId5.gif?storeId=storeId&transactionId=transactionId&platform=platform&gender=gender&zipCode=zipCode&parcels=parcels&deliveryTax=deliveryTax&deliveryTime=deliveryTime&totalSpent=totalSpent&value=preco1|preco2|preco3&quantity=12|2|1&productName=item1|item2|item3&paymentType=paymentType&sku=sku1|sku2|sku3&productCondition=0|1|1&deliveryType=deliveryType&mktSaleId=0|loja1|loja2&ean=ean1|ean2|ean3&age=age&birthday=birthday&cardFlag=cardFlag&invoiceEmissor=invoiceEmissor&l5=categoria1|categoria2|categoria3&man=fabricante1|fabricante2|fabricante3&brd=marca1|marca2|marca3&brds=submarca1|submarca2|submarca3 .

  • Também é importante atentar-se para a codificação dos caracteres especiais e espaços por tratar-se de uma URL. Para mais informações consulte referencial teórico.
  • Note que nossos servidores não retornam nenhuma informação relevante para esta requisição. Desta forma apenas um status code "200 OK" deve ser suficiente para as devidas tratativas no código.

Exemplo de uma http request do tipo GET em Swift.


  • A URL utlizada abaixo é apenas um exemplo, favor consultar instruções acima para saber como montá-la.
  • Caso opte por não fornecer algum(ns) dos parâmetros, basta não informar um valor para a chave, como é o caso do parâmetro invoiceEmissor no exemplo abaixo. Que não recebe um valor por tratar-se de um pagamento utilizando cartão e não boleto. Não se esqueça de que alguns parâmetros são obrigatórios.
  • Note que nossos servidores não retornam nenhuma informação relevante para esta requisição. Desta forma apenas um status code "200 OK" deve ser suficiente para as devidas tratativas no código.

let url = URL(string: "https://www.ebitempresa.com.br/bitrate/banners/b185.gif?storeId=8&transactionId=999034101&platform=ANDROID&gender=N&zipCode=05599-100&parcels=3&deliveryTax=25&deliveryTime=5&totalSpent=450&value=100|100|250&quantity=12|2|1&productName=produto01|produto02|produto03&paymentType=05&sku=8895|8894|8893&productCondition=0|1|1&deliveryType=5&mktSaleId=0|loja1|loja2&ean=7898357417892|7898357417891|7898357417890&age=14&birthday=31/07/2006&cardFlag=6&invoiceEmissor=&l5=categoria1|categoria2|categoria3&man=fabricante1|fabricante2|fabricante3&brd=marca1|marca2|marca3&brds=submarca1|submarca2|submarca3")!

let task = URLSession.shared.dataTask(with: url) { (data, response, error) in

    if let error = error {

        print("error: \(error)")

    } else {

        if let response = response as? HTTPURLResponse {

            print("statusCode: \(response.statusCode)")

        }

        if let data = data, let dataString = String(data: data, encoding: .utf8) {

            print("data: \(dataString)")

        }

    }

}

task.resume()