Métodos de Autenticação

Há diferentes formas de se autenticar para determinadas versões das nossas rotas. Saiba como em cada uma delas

PDV

v1

Importante: Para todas as requisições, sem exceção, estes parâmetros devem ser informados.

EmParâmetroTipoDescriçãoExemplo
headerAuthorizationbase64Código fornecido pela CRMBonus previamenteeHB0b2NvZGVkYXNpbHZhcnM=
headerCelularbase64Celular do consumidorMTE5NzExMTExMTE=
headerCodEmpresabase64Código fornecido pela CRMBonus previamentebXljb2RlbWVwcmVzYWRvYw==
🚧

/pages/api_inicio

Para esta rota, além dos parâmetros acima, deve-se informar o cod_loja (int) — também informado previamente pela CRMBonus — no body da requisição.

cURL exemplo — POST /pages/api_inicio

curl --request POST \
     --url https://giftback-sandbox.crmbonus.com/pages/api_inicio \
     --header 'Authorization: eHB0b2NvZGVkYXNpbHZhcnM=' \
     --header 'Celular: MTE5NzExMTExMTE=' \
     --header 'CodEmpresa: bXljb2RlbWVwcmVzYWRvYw==' \
     --header 'Content-Type: application/json' \
     --header 'System-Name: my-system-name' \
     --header 'accept: application/json' \
     --data '
{
  "cod_loja": 100164,
  "customer_name": "João Silva",
  "customer_cel": "11985728710",
  "customer_email": "[email protected]",
  "customer_birth": "30-12-1990",
  "customer_cpf": "40541655086",
  "category_custom": "categoria_exemplo"
}
{
  "status": true,
  "message": "sucesso",
  "data": {
    "loja_id": 100164,
    "customer_id": 27066748,
    "solicita_pin": true,
    "sms": "SANDBOX: PIN 7873 -  - "
  }
}

Referência da rota do exemplo:/pages/api_inicio .

v2

Utiliza-se OAuth2. Portanto, primeiro, deve-se requisitar uma rota com usuário e senha e utilizar o access_token retornado para as rotas subsequentes.

Gerar access_token e refresh_token

Endereços para diferentes ambientes

AmbienteEndereçoEndpointReferência da rota
Produçãohttps://apipdv.crmbonus.com/auth/auth
Homologaçãohttps://auth-homol.crmbonus.com/auth/auth

Requisição para ambos ambientes

EmParâmetroTipoDescriçãoExemplo
bodyusernamestringUsuário fornecido previamente pela CRMBonusmyuser
bodypasswordstringSenha fornecida previamente pela CRMBonusmypassword

cURL exemplo — POST /auth

curl --request POST \
     --url https://auth-homol.crmbonus.com/auth \
     --header 'Content-Type: application/json' \
     --header 'System-Name: my-system' \
     --header 'accept: application/json' \
     --data '
{
  "username": "myuser",
  "password": "mypassword"
}
'
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6123XVCJ9.eyJzZXNzaW9uSWQiOiJjMTQ1MjIwMy0yN2FiLTQyMjUtYWMxYS1kMzMyNTU2OGZkM2YiLCJjb21wYW55Q29kZSI6ImNlbmFyaW8zIiwidXNlcklkIjoiODQxODM0ZmUtNDU1OC00NWQ4LTk5NWYtOWYxMjcwNWIxZmRkIiwiaWF0IjoxNzIzNTg0MzA0LCJleHAiOjE3MjM1ODc5MDR9.urv0IUZJcklHX8wQp1lftIP8plu1RNmCfJ8xXsEhc4Y",
  "access_token_expires_in": 3600,
  "refresh_token": "eyJhbGciOiJIUzI1Ni4323nR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiJjMTQ1MjIwMy0yN2FiLTQyMjUtYWMxYS1kMzMyNTU2OGZkM2YiLCJ1c2VySWQiOiI4NDE4MzRmZS00NTU4LTQ1ZDgtOTk1Zi05ZjEyNzA1YjFmZGQiLCJpYXQiOjE3MjM1ODQzMDQsImV4cCI6MTcyNDE4OTEwNH0.YMu_hQN_2IQ4OT7cq9xCYzMY3Wl3-TN5_OCjPiWFxCk",
  "refresh_token_expires_in": 604800
}

Utilizar access_token

Utilize-o no header com o parâmetro authorization e informe Bearer antes do access_token.

cURL exemplo

curl --request POST \
     --url https://apipdv-homol.crmbonus.com/user/verify \
     --header 'Content-Type: application/json' \
     --header 'System-Name: my-system' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6123XVCJ9.eyJzZXNzaW9uSWQiOiJjMTQ1MjIwMy0yN2FiLTQyMjUtYWMxYS1kMzMyNTU2OGZkM2YiLCJjb21wYW55Q29kZSI6ImNlbmFyaW8zIiwidXNlcklkIjoiODQxODM0ZmUtNDU1OC00NWQ4LTk5NWYtOWYxMjcwNWIxZmRkIiwiaWF0IjoxNzIzNTg0MzA0LCJleHAiOjE3MjM1ODc5MDR9.urv0IUZJcklHX8wQp1lftIP8plu1RNmCfJ8xXsEhc4Y' \
     --data '
{
  "cpf": "81160034109"
}
--header 'Request-Hash: 94c9efbb6daaa86995263caf10cb4e17'
{
    "status": true,
    "message": "Success",
    "data": {
        "user_id": "0zXtCRB91brXqq92ud5KqQ==",
        "request_pin": true
    }
}

Referência da rota do exemplo: /user/verify


E-commerce v1 e v2

O método de autenticação, tanto da v1 quanto v2, são semelhantes ao da PDV v1, removendo apenas o parâmetro Celular do header. Sendo assim:

EmParâmetroTipoDescriçãoExemplo
headerAuthorizationstringUsuário fornecido previamente pela CRMBonuseHB0b2NvZGVkYXNpbHZhcnM=
headerCodEmpresastringSenha fornecida previamente pela CRMBonusbXljb2RlbWVwcmVzYWRvYw==

cURL exemplo — POST /verificaSaldo (v1)

curl --request POST \
     --url https://giftback-sandbox.crmbonus.com/apiEcommerce/verificaSaldo \
     --header 'Authorization: eHB0b2NvZGVkYXNpbHZhcnM=' \
     --header 'CodEmpresa: bXljb2RlbWVwcmVzYWRvYw==' \
     --header 'Content-Type: application/json' \
     --header 'accept: application/json' \
     --data '
{
  "celular": 11999998888
}
'
{
  "status": true,
  "bonus_resgatado": 50,
  "bonus_regra_max_resgate": 300,
  "ids_bonus": "yOpmJwgzyyrQ0oJ/Msdasd2CsPh6/0W3hdFh6koRdQYwn+ghYmnmk8bukjiF/NY/4jj0HHRVCIKuJyJR6aZbRFw==",
  "user_id": "Yhh4o37q2pGfAd213ajzRoFEPw/LkltjRbdbdPiyx1Gn9yajWQNV//nYj4mf8tHfeK/v3wa7kOU8wCOUg7EdXQ==",
  "user_name": "Paulo Silva",
  "html_table_bonus": "",
  "total_saldo_futuro": 0,
  "txt_sms": [],
  "porcentagem_bonus": "30",
  "bonus_resgate_inicial": "",
  "texto_validade_cupom": 2,
  "steps_slider": ""
}

Referência da rota do exemplo: /verificaSaldo


BI

O método de autenticação dos endpoints de BI consiste em:

EmParâmetroTipoDescriçãoExemplo
headerAuthorizationbase64Usuário fornecido previamente pela CRMBonuseHB0b2NvZGVkYXNpbHZhcnM=
headerTokenbase64Token fornecido previamente pela CRMBonuszJhMDk3MTc4MmUwZDc4MTI5ZmY0Y2RmZDRmY2VmNDE=

cURL exemplo — GET /bonusGerados

curl --request GET \
     --url https://sandbox-api.crmbonus.com/bonusGerados \
     --header 'Authorization: zJhMDk3MTc4MmUwZDc4MTI5ZmY0Y2RmZDRmY2VmNDE=' \
     --header 'Token: 1JNJkJvbnVzQVBJIzIwMjA=' \
     --header 'accept: application/json'
     --data '
{
  "w_data": "2025-11-01T00:00:00 TO 2025-11-19T00:00:00",
  "page": 1
}
'
{
  "status": true,
  "total_rtv": 0,
  "porcentagem": 100,
  "total_gerado": 500,
  "total_dinheiro": "30.730,82",
  "total_venda": "30.730,82",
  "total_consumidor_ativo": 390,
  "total_prime_sms": 0,
  "total_prime_assinatura": 0,
  "count_sms_venda_prime": 0,
  "count_assinaturas_prime": 0,
  "list": [
    {
      "cliente": {
        "cliente_id": 2462510,
        "cliente": "Paulo Ricardo",
        "celular": "55 (11) 99981-3222",
        "cpf": "98584522245",
        "email": "[email protected]",
        "birth": "1996-07-09",
        "genero": "M"
      },
      "bonus_id": 234976873,
      "origin": null,
      "loja_id": 1289,
      "tipo_loja": "Própria",
      "loja_nome": "LOJA TESTE",
      "loja_cod_linx": "34asdva2181da5ee2850f5c6ef2e9792",
      "cod_loja_interno": "11499",
      "cnpj": "03.570.154/0001-28",
      "is_multi_resgate": 1,
      "lojas_multi_resgate": [],
      "data": "06/05/2024",
      "validade_inicio": "2024-05-08 00:00:00",
      "validade_fim": "2024-06-07 23:59:59",
      "total": "48.47",
      "total_bonus_usado": "35.99",
      "data_utilizacao_bonus": "2024-05-16",
      "id_loja_utilizacao": 1389,
      "nome_loja_utilizacao": "LOJA XPTO",
      "cnpj_loja_utilizacao": "01.570.124/0001-32",
      "nome_vendedor": "LARISSA BARBOSA",
      "nf": "",
      "ticket": "00286712",
      "terminal": "",
      "total_bonus_gerado": "48.47",
      "total_bonus_resgatado": "48.47",
      "pin": "4899",
      "is_pin_master": "Sim",
      "is_reativacao": "Nao",
      "date_reativacao": "",
      "data_compra": "2024-05-06 10:11:46",
      "campanha_id": 2542,
      "campanha_nome": "Campanha",
      "campanha_tipo": "fidelidade",
      "porcentagem_acumulo": 12,
      "ids_bonus_used": "206310085",
      "valor_compra": 439.93,
      "valor_pago": 403.91
    }
  ],
  "paging": {
    "total": 2534,
    "pages": 6,
    "currentPage": 1,
    "per_page": 500
  }
}