[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"schema-global-basic:pt-PT":3,"developer-center-document-stjk6a2euo5bb9rnu5xidl9y-pt-PT":52},{"@graph":4,"@context":51},[5],{"@id":6,"name":7,"@type":8,"itemListElement":9},"https://www.esignglobal.com/#pages","Principais secções do site","ItemList",[10,15,19,23,27,31,35,39,43,47],{"item":11,"@type":13,"position":14},{"@id":12},"https://www.esignglobal.com/customer-story#list","ListItem",1,{"item":16,"@type":13,"position":18},{"@id":17},"https://www.esignglobal.com/integrations#overview",2,{"item":20,"@type":13,"position":22},{"@id":21},"https://www.esignglobal.com/features#overview",3,{"item":24,"@type":13,"position":26},{"@id":25},"https://www.esignglobal.com/pricing#catalog",4,{"item":28,"@type":13,"position":30},{"@id":29},"https://www.esignglobal.com/eSignature-Legality#guide",5,{"item":32,"@type":13,"position":34},{"@id":33},"https://www.esignglobal.com/contact-sales#contact",6,{"item":36,"@type":13,"position":38},{"@id":37},"https://www.esignglobal.com/developers#overview",7,{"item":40,"@type":13,"position":42},{"@id":41},"https://www.esignglobal.com/resources#hub",8,{"item":44,"@type":13,"position":46},{"@id":45},"https://www.esignglobal.com/news#center",9,{"item":48,"@type":13,"position":50},{"@id":49},"https://www.esignglobal.com/blog#hub",10,"https://schema.org",{"apiTree":53,"documentTree":356,"securityTree":439,"detail":440},[54],{"id":55,"documentId":56,"title":57,"sort":14,"parent_id":58,"only_as_menu":59,"type":60,"nodeId":56,"routeId":56,"children":61},1937,"o4686obgtwjoscs5s6xooyi1","Documentação da API","0",true,"api",[62,73,136,177,202,219,249,275,291,351],{"id":63,"documentId":64,"title":65,"sort":14,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":64,"routeId":64,"children":66},1493,"b1jzh5soo88eektjgjg0z9cj","oAuth2",[67],{"id":68,"documentId":69,"title":70,"sort":14,"parent_id":64,"only_as_menu":71,"type":60,"nodeId":69,"routeId":69,"children":72},1989,"mmcjntoocjtwl1frc6khk3k4","Autorização oAuth",false,[],{"id":74,"documentId":75,"title":76,"sort":50,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":75,"routeId":75,"children":77},1454,"emn5khbfwir61or7uzo7mrde","Gestão de Envelopes",[78,83,88,94,100,106,112,118,124,130],{"id":79,"documentId":80,"title":81,"sort":14,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":80,"routeId":80,"children":82},3225,"q9infiuohmf1fui6dj083hxj","Criação rápida de envelope",[],{"id":84,"documentId":85,"title":86,"sort":50,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":85,"routeId":85,"children":87},2755,"xlp3m1z044jtkeopyh7ccm5e","Criar Envelope",[],{"id":89,"documentId":90,"title":91,"sort":92,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":90,"routeId":90,"children":93},1885,"ewmccs9nc11erxmwmg7ye609","Abrir envelope",20,[],{"id":95,"documentId":96,"title":97,"sort":98,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":96,"routeId":96,"children":99},1839,"k1tcxkpirnvc17wubklucx6d","Terminar Envelope",40,[],{"id":101,"documentId":102,"title":103,"sort":104,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":102,"routeId":102,"children":105},1735,"xup11xm3pvlk7lkvejly03t4","Obter o endereço de assinatura",50,[],{"id":107,"documentId":108,"title":109,"sort":110,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":108,"routeId":108,"children":111},3159,"pgwry228y585ip83zux1m7ky","Consultar Detalhes do Envelope",60,[],{"id":113,"documentId":114,"title":115,"sort":116,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":114,"routeId":114,"children":117},2509,"n383yqr1z4cw0g2tncva1i9l","Cancelar Envelope",70,[],{"id":119,"documentId":120,"title":121,"sort":122,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":120,"routeId":120,"children":123},1506,"kfn3jzvf0coqrmgsyal5s3h7","Envelope de lembrete",80,[],{"id":125,"documentId":126,"title":127,"sort":128,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":126,"routeId":126,"children":129},1862,"fsagl9dy4ybdzgef0sfek43a","Obter o endereço da página de assinatura de pré-visualização",90,[],{"id":131,"documentId":132,"title":133,"sort":134,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":132,"routeId":132,"children":135},2456,"yohj3fn3f4ydc19bda85u0au","Criar vista de envio de envelope",100,[],{"id":137,"documentId":138,"title":139,"sort":92,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":138,"routeId":138,"children":140},1787,"ouy9r6x8lqhj09nuza6s28kq","Gestão de ficheiros",[141,146,151,156,162,167,172],{"id":142,"documentId":143,"title":144,"sort":14,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":143,"routeId":143,"children":145},1963,"uklome95b6imdx8l1s4kvpne","Carregar ficheiro",[],{"id":147,"documentId":148,"title":149,"sort":50,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":148,"routeId":148,"children":150},1813,"r3sk47rnpk5laxqcvasszzj7","Obter coordenadas com base em palavras-chave",[],{"id":152,"documentId":153,"title":154,"sort":92,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":153,"routeId":153,"children":155},3181,"dygf6h69qejdsxxzzi1zzetb","Baixar arquivo",[],{"id":157,"documentId":158,"title":159,"sort":160,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":158,"routeId":158,"children":161},1683,"b0uxzdvf2umyejj9td3go60x","Adicionar documento para assinatura",30,[],{"id":163,"documentId":164,"title":165,"sort":98,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":164,"routeId":164,"children":166},1553,"c2s5iyao8xl60jnu9fyld71b","Eliminar documento assinado",[],{"id":168,"documentId":169,"title":170,"sort":104,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":169,"routeId":169,"children":171},1657,"mq2v1gptzmgbxdnpt2naew0z","Adicionar anexo",[],{"id":173,"documentId":174,"title":175,"sort":110,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":174,"routeId":174,"children":176},1709,"pd7zcrwaudxp9n5nhmax66th","Remover anexo",[],{"id":178,"documentId":179,"title":180,"sort":160,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":179,"routeId":179,"children":181},1467,"v8y4g3ok61tys8mwr0fjmq5g","Gestão de Participantes",[182,187,192,197],{"id":183,"documentId":184,"title":185,"sort":14,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":184,"routeId":184,"children":186},3230,"maun35qmz3kx9haku23zhmme","Adicionar Assinante",[],{"id":188,"documentId":189,"title":190,"sort":50,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":189,"routeId":189,"children":191},1532,"xp595dh8tlzle8lt9bo3lyyt","Remover Signatário",[],{"id":193,"documentId":194,"title":195,"sort":92,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":194,"routeId":194,"children":196},2863,"h434ytbkhv0177b778achv7u","Adicionar Cc",[],{"id":198,"documentId":199,"title":200,"sort":160,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":199,"routeId":199,"children":201},1519,"jw2f0dtk7ddfpbrwn2oo9rmc","Remover Cc",[],{"id":203,"documentId":204,"title":205,"sort":206,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":204,"routeId":204,"children":207},3063,"qx2bl5kl3s0bwzvdkmzp71zh","Modelo de envelope",35,[208,214],{"id":209,"documentId":210,"title":211,"sort":212,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":210,"routeId":210,"children":213},3097,"m53jxnuxwkayx1b7mnk3adca","Consultar detalhes do modelo de envelope",0,[],{"id":215,"documentId":216,"title":217,"sort":50,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":216,"routeId":216,"children":218},3130,"smkcnczbyllcva0e51xbud5p","Iniciar assinatura usando modelo de envelope",[],{"id":220,"documentId":221,"title":222,"sort":98,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":221,"routeId":221,"children":223},1605,"ais40oqq7r11n67gc0vrbd3v","Serviço de Modelos",[224,229,234,239,244],{"id":225,"documentId":226,"title":227,"sort":14,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":226,"routeId":226,"children":228},3206,"s7f24t0vc3oh7xjc1vd54min","Obter detalhes do controle do modelo do assinante",[],{"id":230,"documentId":231,"title":232,"sort":18,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":231,"routeId":231,"children":233},2639,"pqznounxwcdqpjjlo427cp2v","Obter detalhes do modelo",[],{"id":235,"documentId":236,"title":237,"sort":50,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":236,"routeId":236,"children":238},2014,"nlabl9lmcchamxb4xb2sotgf","Preencher o modelo para gerar o ficheiro",[],{"id":240,"documentId":241,"title":242,"sort":92,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":241,"routeId":241,"children":243},1761,"h6u1p3mm2q9jh22drwhx7w3x","Consultar lista de modelos",[],{"id":245,"documentId":246,"title":247,"sort":160,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":246,"routeId":246,"children":248},1631,"upq57humugxijzhzsfl01e2r","Consultar detalhes da tarefa de síntese de ficheiros",[],{"id":250,"documentId":251,"title":252,"sort":253,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":251,"routeId":251,"children":254},2196,"r6a999am8z6ay9r6q78m9szt","Gestão de Carimbos",45,[255,260,265,270],{"id":256,"documentId":257,"title":258,"sort":14,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":257,"routeId":257,"children":259},2248,"ap2udsj6jmd3f7nq1t2wtb6n","Criar Carimbo",[],{"id":261,"documentId":262,"title":263,"sort":18,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":262,"routeId":262,"children":264},2222,"e27cq9n53oiassrm9dusczah","Editar Carimbo",[],{"id":266,"documentId":267,"title":268,"sort":22,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":267,"routeId":267,"children":269},2298,"nhodhim2gs6b0fnmhai68jl2","Remover Carimbo",[],{"id":271,"documentId":272,"title":273,"sort":26,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":272,"routeId":272,"children":274},2274,"za70ia3hau1jmhh1odey7648","Consultar lista de selos",[],{"id":276,"documentId":277,"title":278,"sort":279,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":277,"routeId":277,"children":280},2561,"vjgy9wyqpueas3ifwl4sqtxo","Comparação de Contratos",49,[281,286],{"id":282,"documentId":283,"title":284,"sort":14,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":283,"routeId":283,"children":285},2587,"ncci0s4sdebcqnpez9hta140","Obter a página de resultados da comparação de contratos",[],{"id":287,"documentId":288,"title":289,"sort":30,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":288,"routeId":288,"children":290},2723,"czpws8dh6ef4ynxxwmgu796b","Consultar Detalhes da Comparação de Contratos",[],{"id":292,"documentId":293,"title":294,"sort":104,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":293,"routeId":293,"children":295},1579,"e3esec8grw834hdls3c5uket","Evento de retorno de chamada",[296,301,306,311,316,321,326,331,336,341,346],{"id":297,"documentId":298,"title":299,"sort":14,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":298,"routeId":298,"children":300},2428,"oqef89swtse7xva7ihxd4eah","Notificação de Abertura de Envelope",[],{"id":302,"documentId":303,"title":304,"sort":50,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":303,"routeId":303,"children":305},2092,"m2b3cny59zr2019zx101vlq6","Notificação de assinatura concluída pelo signatário",[],{"id":307,"documentId":308,"title":309,"sort":92,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":308,"routeId":308,"children":310},2066,"ktoxlvvrj5777zxi5oqoebun","Notificação de todos os signatários assinarem",[],{"id":312,"documentId":313,"title":314,"sort":160,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":313,"routeId":313,"children":315},2040,"c4g7knax4y890stvlk89zrgl","Notificação de conclusão da assinatura do envelope",[],{"id":317,"documentId":318,"title":319,"sort":206,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":318,"routeId":318,"children":320},2482,"z5a7ce3eu1vayhclx05l4boz","Signatário Ver Notificações de Envelope",[],{"id":322,"documentId":323,"title":324,"sort":98,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":323,"routeId":323,"children":325},2118,"f6udt0g3kk1ty67u8o9dn0s3","Notificação de revogação do envelope",[],{"id":327,"documentId":328,"title":329,"sort":104,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":328,"routeId":328,"children":330},2144,"xn1qw8wfeosuql9e4qd983gx","Aviso de Expiração do Envelope",[],{"id":332,"documentId":333,"title":334,"sort":110,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":333,"routeId":333,"children":335},2170,"hzf0ipligf96y2hsh4yrz8q7","Assinar notificação de interrupção da tarefa",[],{"id":337,"documentId":338,"title":339,"sort":116,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":338,"routeId":338,"children":340},1911,"dkyp87hoikayfcnpi7misr3z","Notificação de Resultado da Síntese de Ficheiros",[],{"id":342,"documentId":343,"title":344,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":343,"routeId":343,"children":345},2613,"zcv1ch0olb5ecpzo2u7jfw0e","Notificação de retorno de chamada dos resultados da comparação de contratos",[],{"id":347,"documentId":348,"title":349,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":348,"routeId":348,"children":350},2691,"il87aup17m7ydala24kjkhev","Falha ao entregar o envelope",[],{"id":352,"documentId":353,"title":354,"sort":110,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":353,"routeId":353,"children":355},1480,"lqqpn7hfhf3xzgf2d9vz9h7u","Tabela de códigos de erro",[],[357],{"id":358,"documentId":359,"title":360,"sort":14,"parent_id":58,"only_as_menu":59,"type":361,"nodeId":359,"routeId":359,"children":362},557,"kmxyx6s30cspdrb6lpq2vlmw","Guia do Programador","document",[363,368,385,390],{"id":364,"documentId":365,"title":366,"sort":14,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":365,"routeId":365,"children":367},609,"nqxvj8fpudh1phhwzjxyrqie","Guia de Integração",[],{"id":369,"documentId":370,"title":371,"sort":26,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":370,"routeId":370,"children":372},754,"rwuzqa9wdd8ifr9d2psn2oll","Guia de Integração de Parceiros do Ecossistema ISV",[373,379],{"id":374,"documentId":375,"title":376,"sort":377,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":375,"routeId":375,"children":378},736,"stjk6a2euo5bb9rnu5xidl9y","Guia de Integração do Fluxo de Código de Autorização OAuth2.0",41,[],{"id":380,"documentId":381,"title":382,"sort":383,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":381,"routeId":381,"children":384},773,"i640wop6allavqk5recnkqal","Descrição do Escopo das Interfaces de Aplicações do Ecossistema ISV",42,[],{"id":386,"documentId":387,"title":388,"sort":30,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":387,"routeId":387,"children":389},596,"pu5by7nny465eng8uuhqfau6","Avisos",[],{"id":391,"documentId":392,"title":393,"sort":50,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":392,"routeId":392,"children":394},583,"vfj16znziy18o17n4sc5y7ng","Evento Webhook",[395,400,405,411,417,423,428,434],{"id":396,"documentId":397,"title":299,"sort":398,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":397,"routeId":397,"children":399},456,"zf1p4cqkhirgzmjqq9pk0a3i",11,[],{"id":401,"documentId":402,"title":304,"sort":403,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":402,"routeId":402,"children":404},482,"fznrramnzm5xmc8xs34bqck1",12,[],{"id":406,"documentId":407,"title":408,"sort":409,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":407,"routeId":407,"children":410},508,"yiz759dqo68gqbyhvq2zfquk","Notificação de todos os signatários terem assinado",13,[],{"id":412,"documentId":413,"title":414,"sort":415,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":413,"routeId":413,"children":416},378,"caadherlspjkiayulikfh1og","Notificação de assinatura de envelope concluída",14,[],{"id":418,"documentId":419,"title":420,"sort":421,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":419,"routeId":419,"children":422},404,"wxwcvoo5k3tx99cf3at6iiwm","Notificação de Revogação de Envelope",15,[],{"id":424,"documentId":425,"title":329,"sort":426,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":425,"routeId":425,"children":427},430,"anv65ys13nincm1kmfp7v512",16,[],{"id":429,"documentId":430,"title":431,"sort":432,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":430,"routeId":430,"children":433},622,"fjy4rotdw8b6r66mkflvur4c","Notificação de Rejeição da Aprovação do Signatário",110,[],{"id":435,"documentId":436,"title":349,"sort":437,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":436,"routeId":436,"children":438},534,"gcgzjrnf215vhmixw7obvrtd",120,[],[],{"id":374,"documentId":375,"title":376,"content":441,"sort":377,"is_visible":59,"parent_id":370,"only_as_menu":71,"createdAt":442,"updatedAt":443,"publishedAt":444,"locale":445,"seo":446},"\u003Carticle class=\"4ever-article\" style=\"-webkit-text-stroke-width:0px;caret-color:rgb(0, 0, 0);color:rgb(0, 0, 0);font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-thickness:auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;\">\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>Sequência de Chamadas\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Cfigure class=\"image\">\u003Cimg alt=\"image.png\" src=\"https://static.esignglobal.com/image_4047164e07.png\" srcset=\"https://static.esignglobal.com/thumbnail_image_4047164e07.png 245w, https://static.esignglobal.com/small_image_4047164e07.png 500w, https://static.esignglobal.com/medium_image_4047164e07.png 750w\" sizes=\"100vw\" width=\"750\">\u003C/figure>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Visão Geral\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">O OAuth 2.0 é um protocolo de autorização amplamente utilizado que permite que aplicativos de terceiros acessem recursos por meio da autorização do usuário, sem expor suas credenciais. No fluxo de código de autorização do OAuth 2.0, o cliente deve direcionar o usuário ao ponto de extremidade de autorização (Authorization Endpoint) do servidor de autorização para obter a permissão de autorização do usuário.\u003C/span>\u003C/p>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Este documento visa detalhar como montar e utilizar o endereço de autorização conforme o protocolo OAuth 2.0, fornecendo exemplos práticos e observações importantes.\u003C/span>\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>1. Montagem da URL para Obter o Código de Autorização\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Estrutura Básica do Endereço de Autorização\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">O endereço de autorização é a URL utilizada pelo cliente para enviar uma solicitação ao servidor de autorização. Ele é composto pelos seguintes componentes:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://&lt;authorization-server-domain&gt;/oauth?\n    response_type=&lt;response_type&gt;&amp;\n    clientId=&lt;client_id&gt;&amp;\n    redirectUri=&lt;redirect_uri&gt;&amp;\n    scope=&lt;scope&gt;&amp;\n    state=&lt;state&gt;\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Descrição dos Parâmetros\u003C/span>\u003C/h3>\u003Cfigure class=\"table\" style=\"width:731px;\">\u003Ctable class=\"ck-table-resized\" style=\"border-collapse:collapse;table-layout:fixed;\">\u003Ccolgroup>\u003Ccol style=\"width:33.33%;\" width=\"216\">\u003Ccol style=\"width:33.33%;\" width=\"114\">\u003Ccol style=\"width:33.34%;\" width=\"401\">\u003C/colgroup>\u003Ctbody>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Nome do Parâmetro\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Obrigatório?\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Descrição\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Obrigatório\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Tipo de autorização, geralmente \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">(indica o uso do fluxo de código de autorização)\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:41px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Obrigatório\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Identificador único do cliente,\u003C/span>\u003Cspan style=\"color:rgb(0,0,0);font-size:12pt;\">\u003Cspan data-type=\"text\">ou seja,&nbsp;APP ID\u003C/span>\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Obrigatório\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Endereço de destino para redirecionamento após a conclusão da autorização, deve ser igual ao endereço de callback registrado durante o cadastro do cliente\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:65px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Obrigatório\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Escopo de permissão solicitado, atualmente suporta\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">stamp\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">comparisons\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">, após a autorização, pode-se solicitar as openapi existentes da eSignGlobal. Múltiplos scope podem ser separados por espaço\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Opcional\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">String aleatória utilizada para prevenir ataques CSRF, gerada pelo cliente e verificada quanto à sua consistência no momento do callback\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Etapas para montar o endereço de autorização\u003C/span>\u003C/h2>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Definir o endereço do servidor de autorização\u003C/strong>  Ambiente de sandbox: https://account-sml.esignglobal.com/oauth\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">  Ambiente de produção: https://account.esignglobal.com/oauth\u003C/span>\u003C/p>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Definir os valores dos parâmetros\u003C/strong>  Com base nas necessidades reais, defina os valores de cada parâmetro. Abaixo está um exemplo:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">your-client-id-12345\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">random-state-value\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Concatenar parâmetros de consulta\u003C/strong> Após anexar os parâmetros acima ao endereço do servidor de autorização na forma de pares chave-valor, utilize \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">&amp;\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> para conectar cada parâmetro. Observe que os valores dos parâmetros devem ser codificados em URL.\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Exemplo de resultado da concatenação:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://account-sml.esignglobal.com/oauth?\n    response_type=code&amp;\n    clientId=your-client-id-12345&amp;\n    redirectUri=https%3A%2F%2Fyour-app.com%2Fcallback&amp;\n    scope=signature&amp;\n    state=random-state-value\u003C/code>\u003C/pre>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Verificar o resultado da concatenação\u003C/strong> Certifique-se de que o endereço concatenado atenda aos seguintes requisitos:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">A ordem dos parâmetros pode ser arbitrária\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Os valores dos parâmetros foram corretamente codificados em URL\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Todos os parâmetros obrigatórios estão incluídos\u003C/span>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>\u003Cfigure class=\"image\">\u003Cimg alt=\"2.png\" src=\"https://static.esignglobal.com/2_4d2f50b136.png\" srcset=\"https://static.esignglobal.com/thumbnail_2_4d2f50b136.png 245w, https://static.esignglobal.com/small_2_4d2f50b136.png 500w, https://static.esignglobal.com/medium_2_4d2f50b136.png 750w, https://static.esignglobal.com/large_2_4d2f50b136.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Código de exemplo\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Abaixo estão exemplos de código para concatenar o endereço de autorização em várias linguagens de programação comuns:\u003C/span>\u003C/p>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Exemplo em Python\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"python\" data-theme=\"default\">import urllib.parse\n\n# 定义参数\nbase_url = \"https://account-sml.esignglobal.com/oauth\"\nparams = {\n    \"response_type\": \"code\",\n    \"clientId\": \"your-client-id-12345\",\n    \"redirectUri\": \"https://your-app.com/callback\",\n    \"scope\": \"signature\",\n    \"state\": \"random-state-value\"\n}\n\n# 拼接地址\nquery_string = urllib.parse.urlencode(params)\nauthorization_url = f\"{base_url}?{query_string}\"\nprint(authorization_url)\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Exemplo em JavaScript\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"javascript\" data-theme=\"default\">// 定义参数\nconst baseUrl = \"https://account-sml.esignglobal.com/oauth\";\nconst params = new URLSearchParams({\n    response_type: \"code\",\n    clientId: \"your-client-id-12345\",\n    redirectUri: \"https://your-app.com/callback\",\n    scope: \"signature\",\n    state: \"random-state-value\"\n});\n\n// 拼接地址\nconst authorizationUrl = `${baseUrl}?${params.toString()}`;\nconsole.log(authorizationUrl);\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Exemplo em Java\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"java\" data-theme=\"default\">import java.net.URLEncoder;\nimport java.nio.charset.StandardCharsets;\n\npublic class OAuthUrlBuilder {\n\n    public static void main(String[ ] args) throws Exception {\n\n        // 定义参数\n        String baseUrl = \"https://account-sml.esignglobal.com/oauth\";\n        String responseType = \"code\";\n        String clientId = \"your-client-id-12345\";\n        String redirectUri = \"https://your-app.com/callback\";\n        String scope = \"signature\";\n        String state = \"random-state-value\";\n\n        // 拼接查询参数\n        String queryString = String.format(\n            \"response_type=%s&amp;clientId=%s&amp;redirectUri=%s&amp;scope=%s&amp;state=%s\",\n            URLEncoder.encode(responseType, StandardCharsets.UTF_8),\n            URLEncoder.encode(clientId, StandardCharsets.UTF_8),\n            URLEncoder.encode(redirectUri, StandardCharsets.UTF_8),\n            URLEncoder.encode(scope, StandardCharsets.UTF_8),\n            URLEncoder.encode(state, StandardCharsets.UTF_8)\n        );\n\n        // 生成完整的授权地址\n        String authorizationUrl = baseUrl + \"?\" + queryString;\n        System.out.println(authorizationUrl);\n    }\n}\u003C/code>\u003C/pre>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">&nbsp;\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Observações\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Ao montar e utilizar o endereço de autorização, observe os seguintes pontos:\u003C/span>\u003C/p>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Correção da codificação URL\u003C/strong>  Todos os valores dos parâmetros devem ser codificados em URL (\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">percent-encoding\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">), para garantir que caracteres especiais (como \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">:\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">/\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">?\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ) não comprometam a estrutura da URL. Por exemplo, \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> deve ser codificado como \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https%3A%2F%2Fyour-app.com%2Fcallback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Consistência do endereço de callback\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> O valor do parâmetro deve corresponder exatamente ao endereço de callback registrado no servidor de autorização pelo cliente, incluindo o protocolo (\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">http\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ou \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">), nome de host, porta e caminho. Caso contrário, o servidor de autorização rejeitará a solicitação.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">\u003Cstrong>state\u003C/strong>\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">\u003Cstrong> Segurança do parâmetro\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> O parâmetro é utilizado para prevenir ataques de falsificação de solicitação entre sites (CSRF). O cliente deve gerar uma string aleatória e imprevisível e, após o usuário concluir a autorização, verificar se o valor do callback em \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> corresponde ao valor enviado inicialmente.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Adequação do escopo de permissão\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> O parâmetro define o escopo de permissão solicitado pelo cliente. Deve-se selecionar um escopo mínimo conforme a necessidade real, evitando solicitações excessivas de recursos do usuário, o que aumenta a confiança do mesmo.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Diferenciação de ambientes\u003C/strong>  Nas fases de desenvolvimento e teste, geralmente utiliza-se um ambiente sandbox (como \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account-sml.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ), após o lançamento oficial, é necessário alternar para o ambiente de produção (como \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> ), garantindo o uso do endereço correto do servidor de autorização em diferentes ambientes.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Processamento de informações após autorização bem-sucedida\u003C/strong>  Após a conclusão da autorização, o serviço de autorização eSignGlobal retornará concatenando por meio de\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">os parâmetros concatenados\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">e\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">, através de\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">é possível identificar o data center onde os dados do autorizador estão localizados; ao executar solicitações openapi, é necessário direcionar a requisição ao data center correspondente.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Tratamento de erros\u003C/strong>  Se o usuário recusar a autorização ou ocorrer outro erro, o servidor de autorização retornará através de \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  as informações de erro (como \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  e \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error_description\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  nos parâmetros), o cliente deve tratar adequadamente esses erros e fornecer feedback claro ao usuário.\u003C/span>\u003C/div>\u003C/li>\u003C/ol>\u003C/article>","2026-04-30T10:46:30.259Z","2026-05-07T11:04:18.685Z","2026-05-06T06:08:45.656Z","pt-PT",null]