github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/itau/request.go (about) 1 package itau 2 3 const registerItau = ` 4 ## Accept: application/vnd.itau 5 ## access_token: {{.Authentication.AuthorizationToken}} 6 ## itau-chave: {{.Authentication.AccessKey}} 7 ## identificador: {{.Recipient.Document.Number}} 8 ## Content-Type: application/json 9 10 { 11 "tipo_ambiente": {{itauEnv}}, 12 "tipo_registro": 1, 13 "tipo_cobranca": 1, 14 "tipo_produto": "00006", 15 "subproduto": "00008", 16 "beneficiario": { 17 "cpf_cnpj_beneficiario": "{{extractNumbers .Recipient.Document.Number}}", 18 "agencia_beneficiario": "{{padLeft .Agreement.Agency "0" 4}}", 19 "conta_beneficiario": "{{padLeft .Agreement.Account "0" 7}}", 20 "digito_verificador_conta_beneficiario": "{{.Agreement.AccountDigit}}" 21 }, 22 "identificador_titulo_empresa": "{{unescapeHtmlString (truncate .Recipient.Name 25)}}", 23 "uso_banco": "", 24 "titulo_aceite": "S", 25 "pagador": { 26 "cpf_cnpj_pagador": "{{extractNumbers .Buyer.Document.Number}}", 27 "nome_pagador": "{{unescapeHtmlString (truncateOnly (onlyAlphabetics (onlyOneSpace .Buyer.Name)) 30)}}", 28 "logradouro_pagador": "{{unescapeHtmlString ( escapeStringOnJson (truncate (onlyOneSpace (concat .Buyer.Address.Street " " .Buyer.Address.Number " " .Buyer.Address.Complement)) 40)) }}", 29 "bairro_pagador": "{{unescapeHtmlString ( escapeStringOnJson (truncate (onlyOneSpace .Buyer.Address.District) 15))}}", 30 "cidade_pagador": "{{unescapeHtmlString ( escapeStringOnJson (truncate (onlyOneSpace .Buyer.Address.City) 20))}}", 31 "uf_pagador": "{{truncate (removeAllSpaces .Buyer.Address.StateCode) 2}}", 32 "cep_pagador": "{{escapeStringOnJson (truncate (extractNumbers .Buyer.Address.ZipCode) 8)}}", 33 "grupo_email_pagador": [ 34 { 35 "email_pagador": "" 36 } 37 ] 38 }, 39 "tipo_carteira_titulo": "{{.Agreement.Wallet}}", 40 "moeda": { 41 "codigo_moeda_cnab": "09", 42 "quantidade_moeda": "" 43 }, 44 "nosso_numero": "{{padLeft (toString .Title.OurNumber) "0" 8}}", 45 "digito_verificador_nosso_numero": "{{mod10ItauDv (padLeft (toString .Title.OurNumber) "0" 8) (padLeft .Agreement.Agency "0" 4) (padLeft .Agreement.Account "0" 7) .Agreement.Wallet}}", 46 "codigo_barras": "", 47 "data_vencimento": "{{enDate .Title.ExpireDateTime "-"}}", 48 "valor_cobrado": "{{padLeft (toString64 .Title.AmountInCents) "0" 16}}", 49 "seu_numero": "{{padLeft .Title.DocumentNumber "0" 10}}", 50 "especie": "{{ .Title.BoletoTypeCode}}", 51 "data_emissao": "{{enDate (today) "-"}}", 52 "tipo_pagamento": 1, 53 "indicador_pagamento_parcial": "false", 54 "quantidade_pagamento_parcial": "0", 55 "quantidade_parcelas": "0", 56 "instrucao_cobranca_1": "", 57 "quantidade_dias_1": "", 58 "data_instrucao_1": "", 59 "instrucao_cobranca_2": "", 60 "quantidade_dias_2": "", 61 "data_instrucao_2": "", 62 "instrucao_cobranca_3": "", 63 "quantidade_dias_3": "", 64 "data_instrucao_3": "", 65 "valor_abatimento": "", 66 "juros": { 67 "data_juros": "", 68 "tipo_juros": 5, 69 "valor_juros": "", 70 "percentual_juros": "" 71 }, 72 "multa": { 73 "data_multa": "", 74 "tipo_multa": 3, 75 "valor_multa": "", 76 "percentual_multa": "" 77 }, 78 "grupo_desconto": [{ 79 "data_desconto": "", 80 "tipo_desconto": 0, 81 "valor_desconto": "", 82 "percentual_desconto": "" 83 }], 84 "recebimento_divergente": { 85 "tipo_autorizacao_recebimento": "3", 86 "tipo_valor_percentual_recebimento": "", 87 "valor_minimo_recebimento": "", 88 "percentual_minimo_recebimento": "", 89 "valor_maximo_recebimento": "", 90 "percentual_maximo_recebimento": "" 91 }, 92 "grupo_rateio": [] 93 } 94 95 ` 96 97 const itauGetTicketRequest = `## Authorization:Basic {{base64 (concat .Authentication.Username ":" .Authentication.Password)}} 98 ## Content-Type: application/x-www-form-urlencoded 99 scope=readonly&grant_type=client_credentials&clientId={{.Authentication.Username}}&clientSecret={{.Authentication.Password}}` 100 101 const ticketResponse = `{ 102 "codigo":"{{errorCode}}", 103 "mensagem":"{{errorMessage}}", 104 "access_token": "{{access_token}}", 105 "Message":"{{errorMessage}}" 106 }` 107 108 const ticketErrorResponse = `{ 109 "Message":"{{errorMessage}}" 110 }` 111 112 func getRequestTicket() string { 113 return itauGetTicketRequest 114 } 115 116 func getTicketResponse() string { 117 return ticketResponse 118 } 119 120 func getTicketErrorResponse() string { 121 return ticketErrorResponse 122 } 123 124 func getRequestItau() string { 125 return registerItau 126 }