none
Dictionaries com Objeto RRS feed

  • Pergunta

  • Estou com um pequeno problema para criar um dictionay com objeto.

    A documentação da API está descrita neste link:

    https://asaasv3.docs.apiary.io/#reference/0/cobrancas/criar-nova-cobranca

    Nesta documentação ele pede para que os campos fine e interest sejam do tipo objeto. Então, teoricamente, preciso de uma forma que meu Dicitionary seja dinâmico, alguns itens string e outros objeto.

    var values = new Dictionary<string, string>
                                {
                                  {"customer", item.Cliente.CodigoTerceiro},
                                  {"billingType", tipoCobranca},
                                  {"value", item.ValorFinal.ToString().Replace(",",".")},
                                  {"dueDate", item.DataVencimento.ToString("yyyy-MM-dd")},
                                  {"description", parametroConf.AssuntoEmailBoleto},
                                  {"externalReference", item.IdMovimentacao.ToString()},
                                  {"fine{value:" , percentualMulta.ToString() + "}"}
                                  {"fine", percentualMulta.ToString().Replace(",",".")},
                                  {"interest", percentualJuros.ToString().Replace(",",".")}
                                };

    Acontece que a API não aceita.
    Enquanto não estava usando a parte de multa (fine) e juros (interest) funcionou perfeitamente.
    Mas quando inseri essas 2 últimas linhas dá um erro genérico (400).

    quinta-feira, 18 de junho de 2020 14:53

Todas as Respostas

  • Consegui alterando para o seguinte:

    object data = new
                    {
                        customer = identificadorCliente,
                        billingType = tipoCobranca,
                        value = movimentacao.ValorFinal.ToString().Replace(",", "."),
                        nextDueDate = movimentacao.DataVencimento.ToString("yyyy-MM-dd"),
                        cycle = "MONTHLY",
                        description = parametroConf.AssuntoEmailBoleto,
                        externalReference = movimentacao.IdContrato.ToString(),
                        fine = new { value = percentualMulta.ToString().Replace(",", ".") },
                        interest = new { value = percentualJuros.ToString().Replace(",", ".") }
                    };

                    var myContent = JsonConvert.SerializeObject(data);
                    var buffer = System.Text.Encoding.UTF8.GetBytes(myContent);
                    var byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

    quinta-feira, 18 de junho de 2020 17:08