Esta chamada de API é utilizada para o cadastro de faturas no sistema. Para utilizar esta chamada, é necessário antes ter cadastrado o cliente e os produtos desejados.


A chamada dessa API deve ser autenticada por meio de token no header da requisição, token este que deve ser gerado utilizando a API de Autenticação.


Todas as requisições à API devem utilizar o método HTTP POST. A API recusa qualquer outro método que não seja o POST nas requisições.

ENVIO DO TOKEN


O token deve ser enviado no header da requisição, no seguinte formato:

“Authorization” : “Bearer seu_token_gerado_aqui”

Exemplo: 

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI5OGYxMzcwODIxMDE5NGM0NzU2ODdiZTYxMDZhM2I4NCIsImVtcHJlc2EiOiI5OGYxMzcwODIxMDE5NGM0NzU2ODdiZTYxMDZhM2I4NCIsImxvZ2luIjoidGVzdGVzQGR1cGF5LmNvbS5iciIsImNsaWVudGUiOm51bGwsImdydXBvIjoiMiIsImV4cCI6MTU2MDE3MTg5MiwiaWF0IjoxNTU5OTk5MDkyfQ.DKycS9HX68c0wDTAoGq2Y3rts-Dqtm_cOugsVKpMq9U


MÉTODO DA API: newInvoice


Parâmetros a serem enviados:


method = “newInvoice”
customerId = Id do cliente da fatura.
dueDate = Data do vencimento da fatrua.
paymentAccepted = Método de pagamento da fatura. Recebe "B" para boletos e "C" para cartão de crédito.
tokenType = Utilizado somente para cartão de crédito, indica o tipo do token que foi gerado previamente do cartão, sendo "U" para token para uma única transação ou "M" para o token do método de pagamento memorizado para este cliente.
paymentToken = Token gerado pela rotina de Criação de Método de Pagamento.
plots = Quantidade de parcelas.
interval = Intervalo entre as parcelas.
intervalType = Tipo do Intervalo, podendo ser: M (Mês(es)) e D (Dia(s)),
categoryId = Código da categoria da fatura.
description = Descrição da fatura.
instruction = Instruções do boleto.
products = Array de produtos.
    productId = Id do produto
    quantity = Quantidade do produto.
    unitValue = Valor do produto.


URL DA API

https://painel.dupay.com.br/api_v1/?vkey=5343f84566a14db9f4a8f79c713085c3


Os dados devem ser enviados preferencialmente por JSON e a resposta da API sempre será em JSON.


Exemplo de chamada:

{
    "method": "newInvoice",
    "customerId": 2995,
    "dueDate": "2019-06-21",
    "paymentAccepted": "B",
    "tokenType": "",
    "paymentToken": "",
    "plots": "1",
    "interval": "1",
    "intervalType": "M",
    "categoryId": "1",
    "description": "Descrição da Fatura",
    "instruction": "Pagar preferencialmente no local",
    "products": [
        {
            "productId": 916,
            "quantity": 1,
            "unitValue": "59.90"
        }
    ]
}


Todas as chamadas da API da Dupay respondem em JSON e possui algumas variáveis padrões na resposta. São elas:

status = Retorna 0 para falha e 1 para sucesso na chamada da API
message = Mensagem informativa em caso de falha na chamada da API
data = Dados retornados pela API em caso de sucesso na chamada.

Segue abaixo um exemplo de retorno do JSON:

{
    "status": 1,
    "message": "Fatura gerada com sucesso",
    "data": {
        "invoiceId": "20903",
        "status": "1",
        "statusName": "Aguard. Pagto",
        "subTotal": "59.90",
        "value": "59.90",
        "dueDate": "2019-06-21",
        "lastDueDate": "2019-06-21",
        "createDate": "2019-06-17 13:45:56",
        "products": "PRODUTO DE TESTE VIA API",
        "paymentDate": null,
        "digitableLine": "03399.78686 99500.000007 58007.401019 1 79270000005990",
        "barcode": "03391792700000059909786899500000005800740101",
        "paymentAccepted": "B",
        "lrText": null,
        "lrCode": null,
        "pdfInvoice": "https://painel.dupay.com.br/_lib/file/doc/faturas/20/20903.pdf"
    }
}