Códigos Promocionais

Modelo

Um código promocional inclui os seguintes campos:

  • available: string que representa o saldo disponível do código promocional
  • used: string que representa a quantidade usada do código promocional
  • company: hash que representa os detalhes da empresa
  • customer: hash que representa os detalhes do cliente
  • constraint: hash que representa os detalhes de restrição do código promocional
  • created: inteiro que representa o timestamp de criação da associação
  • id: inteiro que representao o identificador da associação
  • promocode: hash que representa os detalhes do código promocional

Associação

Para associar um código promocional a um usuário é necessário criar um objeto com:

  • key: string que representa o código promocional.

Chamada:

POST http://stating.loggi.com/api/v1/promo-para-usuario/

Payload:

{
    "key": "VEMPRALOGGI-2014"
}

Resposta

Ao associar um código promocional a um usuário, uma resposta com status code 201 é recebida, por exemplo:

{
    "available": "20.00",
    "company": {
        "id": 894,
        "name": "Promo Emitter"
    },
    "constraint": {
        "expire_on": 1411441200
    },
    "created": 1411061259,
    "customer": {
        "email": "joao+emitter@loggi.com",
        "name": "Joao Paulo Dubas Emitter",
        "telephone_number": "12398761234"
    },
    "id": 5,
    "promocode": {
        "discount": "20.00",
        "id": 2386,
        "key": "VEMPRALOGGI-2014"
    },
    "used": "0.00"
}

Erros

Ao tentar associar um código promocional que não existe, uma resposta com status_code 400 é recebida, por exemplo:

{
    "errors": {
        "key": ["Cupom <key> não existe"]
    }
}

Listagem

Para listar os códigos promocionais que o usuário possui base:

Chamada:

GET http://stating.loggi.com/api/v1/promo-para-usuario/

Resposta:

{
    "meta": {
        "aggregate": {
            "promocode_available": "20.00",
            "promocode_total": "20.00",
            "promocode_used": "0.00"
        },
        "limit": 20,
        "offset": 0,
        "referral_code": "WIS6P1",
        "social": {
            "email-marketing": "http://development.loggi.com:8081/s/WIS6P1-m/",
            "email-transaction": "http://development.loggi.com:8081/s/WIS6P1-e/",
            "facebook": "http://development.loggi.com:8081/s/WIS6P1-f/",
            "google": "http://development.loggi.com:8081/s/WIS6P1-g/",
            "twitter": "http://development.loggi.com:8081/s/WIS6P1-t/"
        },
        "total_count": 1
    },
    "objects": [
        {
            "available": "20.00",
            "company": {
                "id": 894,
                "name": "Promo Emitter"
            },
            "constraint": {
                "expire_on": 1411441200
            },
            "created": 1411061259,
            "customer": {
                "email": "joao+emitter@loggi.com",
                "name": "Joao Paulo Dubas Emitter",
                "telephone_number": "12398761234"
            },
            "id": 5,
            "promocode": {
                "discount": "20.00",
                "id": 2386,
                "key": "VEMPRALOGGI-2014"
            },
            "used": "0.00"
        }
    ]
}