{
    "componentChunkName": "component---src-templates-categories-with-sidebar-index-tsx",
    "path": "/es-CO/docs/guides/modules/authentication/distributed",
    "result": {"data":{"allMdx":{"nodes":[{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Flow for distributed applications\",\n  \"template\": \"categories-with-sidebar\",\n  \"step\": 3\n};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar CallOut = makeShortcode(\"CallOut\");\nvar IFrame = makeShortcode(\"IFrame\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Use this flow when the application:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Is public and accessible via internet\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Needs explicit authorization from the store owner \")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, \"Tokens cannot exceed 8,000 characters. Ensure your integration provides adequate storage for these tokens.\")), mdx(\"h2\", {\n    \"id\": \"how-it-works\"\n  }, \"How it works\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"The store owner authenticates in the Partner Portal \"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"The owner authorizes your application to access specific store resources \"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Your application receives permission to interact with the authorized store data \")), mdx(\"p\", null, \"This method ensures that only applications approved by the owner access store resources. \"), mdx(\"h2\", {\n    \"id\": \"step-by-step\"\n  }, \"Step by step\"), mdx(\"p\", null, \"Check the step by step of the entire authorization code and access token process: \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Get a link code\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Make a request to the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"Authentication API\"), \". This code works as a temporary identifier of the application.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Store the verification code\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The API returns a verification code along with the link code. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Store this code securely\"), \" \\u2014 you will need it to get the access token. \")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Share the code with the user\"), \"  \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Display the link code and Partner Portal URL to the user. The store owner must enter this code in the Partner Portal to authorize the application.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Collect the authorization code\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"After authorization in the Portal, the owner receives an authorization code that must be provided to your application.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Request the access token\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Send the authorization code (provided by the user) and the verification code (obtained in step 2) to the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"Authentication API\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Store the received tokens\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The API provides an access token and a refresh token. Store them securely.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Use the token in requests\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Include the access token in requests to iFood APIs using HTTP Bearer-type authentication.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Renew the token before expiration\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Update the token by calling the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"token API\"), \" with:\"))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"grantType\"), \": \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"refresh_token\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Credentials: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientId\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientSecret\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The refresh token obtained in step 6 \")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Access revocation\"), \": Only the user who authorized the application can revoke access.\")), mdx(\"h2\", {\n    \"id\": \"api-reference\"\n  }, \"API Reference\"), mdx(\"h3\", {\n    \"id\": \"post-oauthusercode\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/userCode\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Description\"), \"\\nRequests a user code to link applications in the Partner Portal and grant permissions to access merchant resources. This code is essential for initiating the OAuth authorization flow.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL example\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"0\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/userCode\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"clientId=YOUR_CLIENT_ID\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Response fields \\u2014 Success (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Field\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Example\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"userCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"User code that links the application to the Partner Portal. Display to the user so they can enter it in the Partner Portal.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Additional verification code to be used when requesting the access token. Keep this code until the access token is issued.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"test123\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrl\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL of the Partner Portal that allows users to enter the user code and grant access to the application. Display to the user.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrlComplete\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Complete verification URL with the user code as a query parameter. Useful for environments that allow clicking and opening a browser.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code?c=HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"User code expiration in seconds. The code is valid for 10 minutes.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"600\"))))), mdx(\"h3\", {\n    \"id\": \"post-oauthtoken\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/token\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Description\"), \"\\nRequests a new access token to access API resources. By default, the token expires in 6 hours. For distributed applications, supports two grant types: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"authorization_code\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"refresh_token\"), \".\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL example \\u2014 Authorization Code\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"1\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=authorization_code&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&authorizationCode=AUTH_CODE&authorizationCodeVerifier=CODE_VERIFIER\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL example \\u2014 Refresh Token\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"2\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=refresh_token&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&refreshToken=REFRESH_TOKEN\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Request parameters\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Parameter\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Required\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"grantType\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Yes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"OAuth grant type. For distributed applications: \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientId\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Yes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Client identifier\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientSecret\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Yes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Client secret\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Only for \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Authorization code returned after application authorization\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Only for \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Verification code returned in the user code request. The request will fail if this code is not present or does not match the one returned.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refreshToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Only for \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Refresh token returned after requesting an access token. Available only in distributed applications.\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Response fields \\u2014 Success (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Field\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Example\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"accessToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"JWT representing the access token\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJlNjkwYjczZC01OTI4LTRkMTctODE2ZC01Y2Y5YjgyZTJhOWUiLCJhdWQiOiJvcmRlciIsInVzZXJfbmFtZSI6ImU2OTBiNzNkLTU5MjgtNGQxNy04MTZkLTVjZjliODJlMmE5ZSIsInNjb3BlIjpbIm9yZGVyIl0sInRlbmFudElkIjoiNmFjNjkxZDEtMjZjNi00ZmVkLWJmN2ItOTEwMzJkNTM4NWZkIiwiaXNzIjoiaUZvb2QiLCJtZXJjaGFudF9zY29wZSI6WyI2YjQ4N2EyNy1jNGZjLTRmMjYtYjA1ZS0zOTY3YzIzMzE4ODI6b3JkZXIiXSwiZXhwIjoxNjEyMjMwNDU5LCJpYXQiOjE2MTIyMDg4NTksIm1lcmNoYW50X3Njb3BlZCI6dHJ1ZSwiY2xpZW50X2lkIjoiZTY5MGI3M2QtNTkyOC00ZDE3LTgxNmQtNWNmOWI4MmUyYTllIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXX0.lYqdxjHoOksq8COqJ-VZxzd524MhVzH7hkMfp5zGTpqzp26z5XJwOPHAy7L6oyagUgRfxntKeu0Up_JHgJ-Vr0h5Y9wY4XHcK1yxpFXFB5f5ilGDB0hVN3UGa4GBqeVpCbAPQUl4VhbF2byeL9PuO4TfTZmoWyuec9-xEH_nbHg\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"type\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Token type. Currently, the only supported type is \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Token expiration time in seconds\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"21600\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Response fields \\u2014 Error Unauthorized (401)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Field\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Example\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Error code for unauthorized requests\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unauthorized\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Human-readable error description\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Bad credentials\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Response fields \\u2014 Error Internal Server (500)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Field\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Example\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Error code for internal errors\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"InternalServerError\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Human-readable error description\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unexpected error\"))))), mdx(\"h2\", {\n    \"id\": \"practical-implementation\"\n  }, \"Practical implementation\"), mdx(\"p\", null, \"The video below demonstrates the implementation of the application credential flow for distributed applications:\"), mdx(IFrame, {\n    src: \"https://www.youtube.com/embed/fzjOrxH5olk\",\n    title: \"YouTube video player\",\n    frameBorder: \"0\",\n    allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n    allowFullScreen: true,\n    mdxType: \"IFrame\"\n  }), mdx(\"style\", {\n    \"className\": \"grvsc-styles\"\n  }, \"\\n  .grvsc-container {\\n    overflow: auto;\\n    position: relative;\\n    -webkit-overflow-scrolling: touch;\\n    padding-top: 1rem;\\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\\n    padding-bottom: 1rem;\\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\\n    border-radius: 8px;\\n    border-radius: var(--grvsc-border-radius, 8px);\\n    font-feature-settings: normal;\\n    line-height: 1.4;\\n  }\\n  \\n  .grvsc-code {\\n    display: table;\\n  }\\n  \\n  .grvsc-line {\\n    display: table-row;\\n    box-sizing: border-box;\\n    width: 100%;\\n    position: relative;\\n  }\\n  \\n  .grvsc-line > * {\\n    position: relative;\\n  }\\n  \\n  .grvsc-gutter-pad {\\n    display: table-cell;\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  .grvsc-gutter {\\n    display: table-cell;\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter::before {\\n    content: attr(data-content);\\n  }\\n  \\n  .grvsc-source {\\n    display: table-cell;\\n    padding-left: 1.5rem;\\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\\n    padding-right: 1.5rem;\\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\\n  }\\n  \\n  .grvsc-source:empty::after {\\n    content: ' ';\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter + .grvsc-source {\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  /* Line transformer styles */\\n  \\n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\\n    content: ' ';\\n    position: absolute;\\n    width: 100%;\\n  }\\n  \\n  .grvsc-line-diff-add::before {\\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\\n  }\\n  \\n  .grvsc-line-diff-del::before {\\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\\n  }\\n  \\n  .grvsc-line-number {\\n    padding: 0 2px;\\n    text-align: right;\\n    opacity: 0.7;\\n  }\\n  \\n  .light-default-light {\\n    background-color: #FFFFFF;\\n    color: #000000;\\n  }\\n  .light-default-light .mtk1 { color: #000000; }\\n  .light-default-light .mtk17 { color: #A31515; }\\n  .light-default-light .grvsc-line-highlighted::before {\\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(0, 0, 0, 0.05));\\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(0, 0, 0, 0.2));\\n  }\\n\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#how-it-works","title":"How it works"},{"url":"#step-by-step","title":"Step by step"},{"url":"#api-reference","title":"API Reference","items":[{"url":"#post-oauthusercode","title":"POST /oauth/userCode"},{"url":"#post-oauthtoken","title":"POST /oauth/token"}]},{"url":"#practical-implementation","title":"Practical implementation"}]},"fields":{"filename":"en-US","pageId":"/content/pages/docs/guides/modules/authentication/distributed"},"frontmatter":{"title":"Flow for distributed applications","sidebarHighlight":null,"description":null,"category":null,"hiddenContentGuide":null,"step":3}},{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Flujo para aplicaciones distribuidas\",\n  \"template\": \"categories-with-sidebar\",\n  \"step\": 3\n};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar CallOut = makeShortcode(\"CallOut\");\nvar IFrame = makeShortcode(\"IFrame\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Use este flujo cuando la aplicaci\\xF3n:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Es p\\xFAblica y accesible por internet\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Necesita autorizaci\\xF3n expl\\xEDcita del propietario de la tienda \")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, \"Los tokens no pueden exceder 8.000 caracteres. Garantiza que tu integraci\\xF3n proporcione almacenamiento adecuado para estos tokens.\")), mdx(\"h2\", {\n    \"id\": \"cómo-funciona\"\n  }, \"C\\xF3mo funciona\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"El propietario de la tienda se autentica en el Portal del Socio \"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"El propietario autoriza tu aplicaci\\xF3n a acceder a recursos espec\\xEDficos de la tienda \"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Tu aplicaci\\xF3n recibe el permiso para interactuar con los datos de la tienda autorizada \")), mdx(\"p\", null, \"Este m\\xE9todo garantiza que solo aplicaciones aprobadas por el propietario accedan a los recursos de la tienda. \"), mdx(\"h2\", {\n    \"id\": \"paso-a-paso\"\n  }, \"Paso a paso\"), mdx(\"p\", null, \"Consulta el paso a paso de todo el proceso de c\\xF3digo de autorizaci\\xF3n y token de acceso: \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Obt\\xE9n un c\\xF3digo de v\\xEDnculo\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Haz una petici\\xF3n a la \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de Autenticaci\\xF3n\"), \". Este c\\xF3digo funciona como identificador temporal de la aplicaci\\xF3n.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Almacena el c\\xF3digo verificador\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"La API retorna un c\\xF3digo verificador junto con el c\\xF3digo de v\\xEDnculo. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Almacena este c\\xF3digo con seguridad\"), \" \\u2014 lo necesitar\\xE1s para obtener el token de acceso. \")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Comparte el c\\xF3digo con el usuario\"), \"  \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Muestra el c\\xF3digo de v\\xEDnculo y la URL del Portal del Socio al usuario. El propietario de la tienda debe insertar este c\\xF3digo en el Portal del Socio para autorizar la aplicaci\\xF3n.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Recolecta el c\\xF3digo de autorizaci\\xF3n\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Despu\\xE9s de la autorizaci\\xF3n en el Portal, el propietario recibe un c\\xF3digo de autorizaci\\xF3n que debe proporcionar a tu aplicaci\\xF3n.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Solicita el token de acceso\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Env\\xEDa el c\\xF3digo de autorizaci\\xF3n (proporcionado por el usuario) y el c\\xF3digo verificador (obtenido en el paso 2) a la \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de Autenticaci\\xF3n\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Almacena los tokens recibidos\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"La API proporciona un token de acceso y un refresh token. Almac\\xE9nalos con seguridad.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Usa el token en las peticiones\"), \" \"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Incluye el token de acceso en las peticiones a las APIs de iFood usando autenticaci\\xF3n HTTP del tipo Bearer.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Renueva el token antes de la expiraci\\xF3n\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Actualiza el token llamando la \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de token\"), \" con:\"))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"grantType\"), \": \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"refresh_token\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Credenciales: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientId\"), \" y \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientSecret\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"El refresh token obtenido en el paso 6 \")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Revocaci\\xF3n de acceso\"), \": Solo el usuario que autoriz\\xF3 la aplicaci\\xF3n puede revocar el acceso.\")), mdx(\"h2\", {\n    \"id\": \"referencia-de-la-api\"\n  }, \"Referencia de la API\"), mdx(\"h3\", {\n    \"id\": \"post-oauthusercode\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/userCode\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Descripci\\xF3n\"), \"\\nSolicita un c\\xF3digo de usuario para vincular aplicaciones en el Portal del Socio y otorgar permisos para acceder a recursos del comerciante. Este c\\xF3digo es esencial para iniciar el flujo OAuth de autorizaci\\xF3n.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de ejemplo\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"0\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/userCode\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"clientId=YOUR_CLIENT_ID\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 \\xC9xito (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ejemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"userCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de usuario que vincula la aplicaci\\xF3n al Portal del Socio. Muestra al usuario para que lo inserte en el Portal del Socio.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de verificaci\\xF3n adicional a usar al solicitar el token de acceso. Mant\\xE9n este c\\xF3digo hasta que se emita el token de acceso.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"test123\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrl\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL del Portal del Socio que permite a los usuarios insertar el c\\xF3digo de usuario y otorgar acceso a la aplicaci\\xF3n. Muestra al usuario.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrlComplete\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL de verificaci\\xF3n completa con el c\\xF3digo de usuario como par\\xE1metro de consulta. \\xDAtil para entornos que permiten hacer clic y abrir un navegador.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code?c=HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Expiraci\\xF3n del c\\xF3digo de usuario en segundos. El c\\xF3digo es v\\xE1lido por 10 minutos.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"600\"))))), mdx(\"h3\", {\n    \"id\": \"post-oauthtoken\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/token\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Descripci\\xF3n\"), \"\\nSolicita un nuevo token de acceso para acceder a recursos de la API. Por defecto, el token expira en 6 horas. Para aplicaciones distribuidas, admite dos tipos de grant: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"authorization_code\"), \" y \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"refresh_token\"), \".\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de ejemplo \\u2014 Authorization Code\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"1\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=authorization_code&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&authorizationCode=AUTH_CODE&authorizationCodeVerifier=CODE_VERIFIER\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de ejemplo \\u2014 Refresh Token\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"2\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  -d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=refresh_token&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&refreshToken=REFRESH_TOKEN\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Par\\xE1metros de solicitud\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Par\\xE1metro\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Requerido\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"grantType\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"S\\xED\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tipo de grant OAuth. Para aplicaciones distribuidas: \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientId\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"S\\xED\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Identificador del cliente\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientSecret\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"S\\xED\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Secreto del cliente\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Solo para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de autorizaci\\xF3n retornado despu\\xE9s de la autorizaci\\xF3n de la aplicaci\\xF3n\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Solo para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo verificador retornado en la solicitud de c\\xF3digo de usuario. La solicitud fallar\\xE1 si este c\\xF3digo no est\\xE1 presente o no coincide con el retornado.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refreshToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Solo para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Token de refresh retornado despu\\xE9s de solicitar un token de acceso. Disponible solo en aplicaciones distribuidas.\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 \\xC9xito (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ejemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"accessToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"JWT que representa el token de acceso\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJlNjkwYjczZC01OTI4LTRkMTctODE2ZC01Y2Y5YjgyZTJhOWUiLCJhdWQiOiJvcmRlciIsInVzZXJfbmFtZSI6ImU2OTBiNzNkLTU5MjgtNGQxNy04MTZkLTVjZjliODJlMmE5ZSIsInNjb3BlIjpbIm9yZGVyIl0sInRlbmFudElkIjoiNmFjNjkxZDEtMjZjNi00ZmVkLWJmN2ItOTEwMzJkNTM4NWZkIiwiaXNzIjoiaUZvb2QiLCJtZXJjaGFudF9zY29wZSI6WyI2YjQ4N2EyNy1jNGZjLTRmMjYtYjA1ZS0zOTY3YzIzMzE4ODI6b3JkZXIiXSwiZXhwIjoxNjEyMjMwNDU5LCJpYXQiOjE2MTIyMDg4NTksIm1lcmNoYW50X3Njb3BlZCI6dHJ1ZSwiY2xpZW50X2lkIjoiZTY5MGI3M2QtNTkyOC00ZDE3LTgxNmQtNWNmOWI4MmUyYTllIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXX0.lYqdxjHoOksq8COqJ-VZxzd524MhVzH7hkMfp5zGTpqzp26z5XJwOPHAy7L6oyagUgRfxntKeu0Up_JHgJ-Vr0h5Y9wY4XHcK1yxpFXFB5f5ilGDB0hVN3UGa4GBqeVpCbAPQUl4VhbF2byeL9PuO4TfTZmoWyuec9-xEH_nbHg\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"type\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tipo del token. Actualmente, el \\xFAnico tipo soportado es \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tiempo de expiraci\\xF3n del token en segundos\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"21600\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Error Unauthorized (401)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ejemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de error para solicitudes no autorizadas\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unauthorized\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n de error legible\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Bad credentials\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Error Internal Server (500)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ejemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de error para errores internos\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"InternalServerError\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descripci\\xF3n de error legible\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unexpected error\"))))), mdx(\"h2\", {\n    \"id\": \"implementación-práctica\"\n  }, \"Implementaci\\xF3n pr\\xE1ctica\"), mdx(\"p\", null, \"El video abajo demuestra la implementaci\\xF3n del flujo de credencial de aplicaci\\xF3n para aplicaciones distribuidas:\"), mdx(IFrame, {\n    src: \"https://www.youtube.com/embed/fzjOrxH5olk\",\n    title: \"YouTube video player\",\n    frameBorder: \"0\",\n    allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n    allowFullScreen: true,\n    mdxType: \"IFrame\"\n  }), mdx(\"style\", {\n    \"className\": \"grvsc-styles\"\n  }, \"\\n  .grvsc-container {\\n    overflow: auto;\\n    position: relative;\\n    -webkit-overflow-scrolling: touch;\\n    padding-top: 1rem;\\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\\n    padding-bottom: 1rem;\\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\\n    border-radius: 8px;\\n    border-radius: var(--grvsc-border-radius, 8px);\\n    font-feature-settings: normal;\\n    line-height: 1.4;\\n  }\\n  \\n  .grvsc-code {\\n    display: table;\\n  }\\n  \\n  .grvsc-line {\\n    display: table-row;\\n    box-sizing: border-box;\\n    width: 100%;\\n    position: relative;\\n  }\\n  \\n  .grvsc-line > * {\\n    position: relative;\\n  }\\n  \\n  .grvsc-gutter-pad {\\n    display: table-cell;\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  .grvsc-gutter {\\n    display: table-cell;\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter::before {\\n    content: attr(data-content);\\n  }\\n  \\n  .grvsc-source {\\n    display: table-cell;\\n    padding-left: 1.5rem;\\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\\n    padding-right: 1.5rem;\\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\\n  }\\n  \\n  .grvsc-source:empty::after {\\n    content: ' ';\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter + .grvsc-source {\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  /* Line transformer styles */\\n  \\n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\\n    content: ' ';\\n    position: absolute;\\n    width: 100%;\\n  }\\n  \\n  .grvsc-line-diff-add::before {\\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\\n  }\\n  \\n  .grvsc-line-diff-del::before {\\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\\n  }\\n  \\n  .grvsc-line-number {\\n    padding: 0 2px;\\n    text-align: right;\\n    opacity: 0.7;\\n  }\\n  \\n  .light-default-light {\\n    background-color: #FFFFFF;\\n    color: #000000;\\n  }\\n  .light-default-light .mtk1 { color: #000000; }\\n  .light-default-light .mtk17 { color: #A31515; }\\n  .light-default-light .grvsc-line-highlighted::before {\\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(0, 0, 0, 0.05));\\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(0, 0, 0, 0.2));\\n  }\\n\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#cómo-funciona","title":"Cómo funciona"},{"url":"#paso-a-paso","title":"Paso a paso"},{"url":"#referencia-de-la-api","title":"Referencia de la API","items":[{"url":"#post-oauthusercode","title":"POST /oauth/userCode"},{"url":"#post-oauthtoken","title":"POST /oauth/token"}]},{"url":"#implementación-práctica","title":"Implementación práctica"}]},"fields":{"filename":"es-CO","pageId":"/content/pages/docs/guides/modules/authentication/distributed"},"frontmatter":{"title":"Flujo para aplicaciones distribuidas","sidebarHighlight":null,"description":null,"category":null,"hiddenContentGuide":null,"step":3}},{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Fluxo para aplicativos distribuídos\",\n  \"template\": \"categories-with-sidebar\",\n  \"step\": 3\n};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar CallOut = makeShortcode(\"CallOut\");\nvar IFrame = makeShortcode(\"IFrame\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"fluxo-para-aplicativos-distribuídos\"\n  }, \"Fluxo para aplicativos distribu\\xEDdos\"), mdx(\"p\", null, \"Use este fluxo quando o aplicativo:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\xC9 p\\xFAblico e acess\\xEDvel pela internet\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Precisa de autoriza\\xE7\\xE3o expl\\xEDcita do propriet\\xE1rio da loja\")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, \"Os tokens n\\xE3o podem exceder 8.000 caracteres. Garanta armazenamento adequado para esses tokens.\")), mdx(\"h2\", {\n    \"id\": \"como-funciona\"\n  }, \"Como funciona\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"O propriet\\xE1rio da loja se autentica no Portal do Parceiro\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"O propriet\\xE1rio autoriza seu aplicativo a acessar recursos espec\\xEDficos da loja\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Seu aplicativo recebe permiss\\xE3o para interagir com os dados da loja autorizada\")), mdx(\"p\", null, \"Esse m\\xE9todo garante que apenas aplicativos aprovados pelo propriet\\xE1rio acessem os recursos da loja.\"), mdx(\"h2\", {\n    \"id\": \"passo-a-passo\"\n  }, \"Passo a passo\"), mdx(\"p\", null, \"Confira o passo a passo de todo o processo de c\\xF3digo de autoriza\\xE7\\xE3o e token de acesso:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Obtenha um c\\xF3digo de v\\xEDnculo\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Fa\\xE7a uma requisi\\xE7\\xE3o para a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de Autentica\\xE7\\xE3o\"), \". Este c\\xF3digo funciona como identificador tempor\\xE1rio do aplicativo.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Armazene o c\\xF3digo verificador\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"A API retorna um c\\xF3digo verificador junto com o c\\xF3digo de v\\xEDnculo. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Armazene esse c\\xF3digo com seguran\\xE7a\"), \" \\u2014 voc\\xEA precisar\\xE1 dele para obter o token de acesso.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Compartilhe o c\\xF3digo com o usu\\xE1rio\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Exiba o c\\xF3digo de v\\xEDnculo e a URL do Portal do Parceiro para o usu\\xE1rio. O propriet\\xE1rio da loja deve inserir esse c\\xF3digo no Portal do Parceiro para autorizar o aplicativo.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Colete o c\\xF3digo de autoriza\\xE7\\xE3o\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Ap\\xF3s a autoriza\\xE7\\xE3o no Portal, o propriet\\xE1rio recebe um c\\xF3digo de autoriza\\xE7\\xE3o que deve fornecer ao aplicativo.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Solicite o token de acesso\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Envie o c\\xF3digo de autoriza\\xE7\\xE3o (fornecido pelo usu\\xE1rio) e o c\\xF3digo verificador (obtido no passo 2) para a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de Autentica\\xE7\\xE3o\"), \".\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Armazene os tokens recebidos\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"A API retorna um token de acesso e um refresh token. Armazene-os com seguran\\xE7a.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Use o token nas requisi\\xE7\\xF5es\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Inclua o token de acesso nas requisi\\xE7\\xF5es \\xE0s APIs do iFood usando autentica\\xE7\\xE3o HTTP do tipo Bearer.\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Renove o token antes da expira\\xE7\\xE3o\")), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Atualize o token chamando a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/references#operations-OAuth-oauthTokenV1\"\n  }, \"API de token\"), \" com:\"))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"grantType\"), \": \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"refresh_token\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Credenciais: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientId\"), \" e \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"clientSecret\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"O refresh token obtido no passo 6\")), mdx(CallOut, {\n    variant: \"primary\",\n    mdxType: \"CallOut\"\n  }, mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Revoga\\xE7\\xE3o de acesso\"), \": Apenas o usu\\xE1rio que autorizou o aplicativo pode revogar o acesso.\")), mdx(\"h2\", {\n    \"id\": \"referência-da-api\"\n  }, \"Refer\\xEAncia da API\"), mdx(\"h3\", {\n    \"id\": \"post-oauthusercode\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/userCode\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Descri\\xE7\\xE3o\"), \"\\nSolicita um c\\xF3digo de usu\\xE1rio para vincular aplicativos no Portal do Parceiro e conceder permiss\\xF5es para acessar recursos do comerciante. Este c\\xF3digo \\xE9 essencial para iniciar o fluxo OAuth de autoriza\\xE7\\xE3o.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de exemplo\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"0\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/userCode\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"clientId=YOUR_CLIENT_ID\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Sucesso (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"userCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de usu\\xE1rio que vincula o aplicativo ao Portal do Parceiro. Exiba ao usu\\xE1rio para que ele insira no Portal do Parceiro.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de verifica\\xE7\\xE3o adicional a ser usado ao solicitar o token de acesso. Mantenha este c\\xF3digo at\\xE9 que o token de acesso seja emitido.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"test123\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrl\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL do Portal do Parceiro que permite aos usu\\xE1rios inserir o c\\xF3digo de usu\\xE1rio e conceder acesso ao aplicativo. Exiba ao usu\\xE1rio.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"verificationUrlComplete\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL de verifica\\xE7\\xE3o completa com o c\\xF3digo de usu\\xE1rio como par\\xE2metro de query. \\xDAtil para ambientes que permitem clicar e abrir um navegador.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://portal.ifood.com.br/apps/code?c=HJLX-LPSQ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Expira\\xE7\\xE3o do c\\xF3digo de usu\\xE1rio em segundos. O c\\xF3digo \\xE9 v\\xE1lido por 10 minutos.\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"600\"))))), mdx(\"h3\", {\n    \"id\": \"post-oauthtoken\"\n  }, \"POST \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"/oauth/token\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Descri\\xE7\\xE3o\"), \"\\nSolicita um novo token de acesso para acessar recursos da API. Por padr\\xE3o, o token expira em 6 horas. Para aplicativos distribu\\xEDdos, suporta dois tipos de grant: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"authorization_code\"), \" e \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"refresh_token\"), \".\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de exemplo \\u2014 Authorization Code\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"1\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=authorization_code&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&authorizationCode=AUTH_CODE&authorizationCodeVerifier=CODE_VERIFIER\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"cURL de exemplo \\u2014 Refresh Token\")), mdx(\"pre\", {\n    \"className\": \"grvsc-container light-default-light\",\n    \"data-language\": \"bash\",\n    \"data-index\": \"2\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"curl -X POST \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"https://merchant-api.ifood.com.br/authentication/v1.0/oauth/token\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-H \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"Content-Type: application/x-www-form-urlencoded\\\"\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \\\\\"))), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"grvsc-source\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"\\xA0\\xA0-d \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk17\"\n  }, \"\\\"grantType=refresh_token&clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&refreshToken=REFRESH_TOKEN\\\"\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Par\\xE2metros de requisi\\xE7\\xE3o\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Par\\xE2metro\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Obrigat\\xF3rio\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"grantType\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Sim\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tipo de grant OAuth. Para aplicativos distribu\\xEDdos: \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientId\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Sim\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Identificador do cliente\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"clientSecret\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Sim\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Segredo do cliente\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCode\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Apenas para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de autoriza\\xE7\\xE3o retornado ap\\xF3s a autoriza\\xE7\\xE3o do aplicativo\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorizationCodeVerifier\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Apenas para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"authorization_code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo verificador retornado na requisi\\xE7\\xE3o de c\\xF3digo de usu\\xE1rio. A requisi\\xE7\\xE3o falhar\\xE1 se este c\\xF3digo n\\xE3o estiver presente ou n\\xE3o corresponder ao retornado.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refreshToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Apenas para \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"refresh_token\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Token de refresh retornado ap\\xF3s a solicita\\xE7\\xE3o de um token de acesso. Dispon\\xEDvel apenas em aplicativos distribu\\xEDdos.\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Sucesso (200)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"accessToken\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"JWT representando o token de acesso\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJlNjkwYjczZC01OTI4LTRkMTctODE2ZC01Y2Y5YjgyZTJhOWUiLCJhdWQiOiJvcmRlciIsInVzZXJfbmFtZSI6ImU2OTBiNzNkLTU5MjgtNGQxNy04MTZkLTVjZjliODJlMmE5ZSIsInNjb3BlIjpbIm9yZGVyIl0sInRlbmFudElkIjoiNmFjNjkxZDEtMjZjNi00ZmVkLWJmN2ItOTEwMzJkNTM4NWZkIiwiaXNzIjoiaUZvb2QiLCJtZXJjaGFudF9zY29wZSI6WyI2YjQ4N2EyNy1jNGZjLTRmMjYtYjA1ZS0zOTY3YzIzMzE4ODI6b3JkZXIiXSwiZXhwIjoxNjEyMjMwNDU5LCJpYXQiOjE2MTIyMDg4NTksIm1lcmNoYW50X3Njb3BlZCI6dHJ1ZSwiY2xpZW50X2lkIjoiZTY5MGI3M2QtNTkyOC00ZDE3LTgxNmQtNWNmOWI4MmUyYTllIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXX0.lYqdxjHoOksq8COqJ-VZxzd524MhVzH7hkMfp5zGTpqzp26z5XJwOPHAy7L6oyagUgRfxntKeu0Up_JHgJ-Vr0h5Y9wY4XHcK1yxpFXFB5f5ilGDB0hVN3UGa4GBqeVpCbAPQUl4VhbF2byeL9PuO4TfTZmoWyuec9-xEH_nbHg\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"type\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tipo do token. Atualmente, o \\xFAnico tipo suportado \\xE9 \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"bearer\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"expiresIn\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tempo de expira\\xE7\\xE3o do token em segundos\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"21600\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Erro Unauthorized (401)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de erro para requisi\\xE7\\xF5es n\\xE3o autorizadas\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unauthorized\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o de erro leg\\xEDvel\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Bad credentials\"))))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Campos retornados \\u2014 Erro Internal Server (500)\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Campo\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exemplo\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.code\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"C\\xF3digo de erro para erros internos\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"InternalServerError\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"error.message\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Descri\\xE7\\xE3o de erro leg\\xEDvel\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Unexpected error\"))))), mdx(\"h2\", {\n    \"id\": \"implementação-prática\"\n  }, \"Implementa\\xE7\\xE3o pr\\xE1tica\"), mdx(\"p\", null, \"O v\\xEDdeo abaixo demonstra a implementa\\xE7\\xE3o do fluxo de credencial de aplicativo para aplicativos distribu\\xEDdos:\"), mdx(IFrame, {\n    src: \"https://www.youtube.com/embed/fzjOrxH5olk\",\n    title: \"YouTube video player\",\n    frameBorder: \"0\",\n    allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n    allowFullScreen: true,\n    mdxType: \"IFrame\"\n  }), mdx(\"style\", {\n    \"className\": \"grvsc-styles\"\n  }, \"\\n  .grvsc-container {\\n    overflow: auto;\\n    position: relative;\\n    -webkit-overflow-scrolling: touch;\\n    padding-top: 1rem;\\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\\n    padding-bottom: 1rem;\\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\\n    border-radius: 8px;\\n    border-radius: var(--grvsc-border-radius, 8px);\\n    font-feature-settings: normal;\\n    line-height: 1.4;\\n  }\\n  \\n  .grvsc-code {\\n    display: table;\\n  }\\n  \\n  .grvsc-line {\\n    display: table-row;\\n    box-sizing: border-box;\\n    width: 100%;\\n    position: relative;\\n  }\\n  \\n  .grvsc-line > * {\\n    position: relative;\\n  }\\n  \\n  .grvsc-gutter-pad {\\n    display: table-cell;\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  .grvsc-gutter {\\n    display: table-cell;\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter::before {\\n    content: attr(data-content);\\n  }\\n  \\n  .grvsc-source {\\n    display: table-cell;\\n    padding-left: 1.5rem;\\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\\n    padding-right: 1.5rem;\\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\\n  }\\n  \\n  .grvsc-source:empty::after {\\n    content: ' ';\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    user-select: none;\\n  }\\n  \\n  .grvsc-gutter + .grvsc-source {\\n    padding-left: 0.75rem;\\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\\n  }\\n  \\n  /* Line transformer styles */\\n  \\n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\\n    content: ' ';\\n    position: absolute;\\n    width: 100%;\\n  }\\n  \\n  .grvsc-line-diff-add::before {\\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\\n  }\\n  \\n  .grvsc-line-diff-del::before {\\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\\n  }\\n  \\n  .grvsc-line-number {\\n    padding: 0 2px;\\n    text-align: right;\\n    opacity: 0.7;\\n  }\\n  \\n  .light-default-light {\\n    background-color: #FFFFFF;\\n    color: #000000;\\n  }\\n  .light-default-light .mtk1 { color: #000000; }\\n  .light-default-light .mtk17 { color: #A31515; }\\n  .light-default-light .grvsc-line-highlighted::before {\\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(0, 0, 0, 0.05));\\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(0, 0, 0, 0.2));\\n  }\\n\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#fluxo-para-aplicativos-distribuídos","title":"Fluxo para aplicativos distribuídos","items":[{"url":"#como-funciona","title":"Como funciona"},{"url":"#passo-a-passo","title":"Passo a passo"},{"url":"#referência-da-api","title":"Referência da API","items":[{"url":"#post-oauthusercode","title":"POST /oauth/userCode"},{"url":"#post-oauthtoken","title":"POST /oauth/token"}]},{"url":"#implementação-prática","title":"Implementação prática"}]}]},"fields":{"filename":"pt-BR","pageId":"/content/pages/docs/guides/modules/authentication/distributed"},"frontmatter":{"title":"Fluxo para aplicativos distribuídos","sidebarHighlight":null,"description":null,"category":null,"hiddenContentGuide":null,"step":3}}]}},"pageContext":{"pageId":"/content/pages/docs/guides/modules/authentication/distributed","language":"es-CO","intl":{"language":"es-CO","languages":["en-US","pt-BR","es-CO"],"messages":{"advance":"Avanzar","api-reference":"Referencia de la API","api-status":"Status da API","back":"Retroceder","back-to-the-top":"Volver al Inicio","beta":"Beta","cancel":"Cancelar","changelog":"Registro de cambios","clear":"Limpiar","close":"Cerrar","communique":"Anuncios","community":"Comunidad","complete":"Completa","confirm":"Confirmar","confirmation":"Confirmación","continue":"Continuar","copy":"Copiar","create-account":"Crear una cuenta","delete":"Borrar","details":"Detalles","docs":"Docs","edit":"Editar","edit-logo":"Inserir logotipo","empty":"Vacío","empty-search":"No se han encontrado artículos","exit":"Cerrar la sesión","explore":"Explorar","field-required":"Campo requerido","glossary":"Glosario","go-back":"Regresar","guides":"Guías","header-title":"desarrolladores","ifood":"iFood","know-more":"Más información","load-more":"Carga más","loading":"Cargando","login":"Entrar","max-file-size":"Tamaño máximo <b>{size}</b>","more-actions":"Más acciones","new":"Novo","next":"Siguiente","no":"No","no-results-empty":"No se ha encontrado ningún resultado","no-results-found":"No se han encontrado resultados","no-results-found-description":"Intenta buscar con otro término","not-found":"No encontrado","of":"de","ok":"Ok","page-title":"Desarrollador de iFood","preview":"Vista previa","previous":"Anterior","refetch":"Recargar","remove":"Eliminar","required":"Obligatorio","save":"Guardar","search":"Buscar","search-app":"Buscar una aplicación","search-merchant":"Búsqueda por ID o NIT","see-api-reference":"Ver referencia de la API","see-details":"Ver detalles","see-docs":"Ver documentación","see-more":"Ver más","select":"Selecciona","social":"Social","step":"Passo","submit":"Enviar","subscribe":"Inscribirse","update":"Actualizar","warning":"Atención","yes":"Sí","404-page.action.go-to-new":"Acceder a la nueva documentación","404-page.action.go-to-old":"Acceder a la documentación antigua","404-page.description":"El Portal de Desarrolladores de iFood ha cambiado y con eso varias páginas han cambiado de dirección. Actualiza tus marcadores y accede directamente a la dirección.","404-page.title":"¡La dirección a la que has intentado acceder no se ha encontrado!","api-log.column.applicationSlug":"App Slug","api-log.column.clientId":"App ID","api-log.column.ifoodRequestId":"Request ID","api-log.column.response":"Code","api-log.column.responseTime":"Response Time","api-log.column.timestamp":"Timestamp","api-log.column.urlPath":"Path","api-log.column.useragent":"User Agent","api-log.column.verb":"Method","api-logs.filters.label.applicationSlug":"App Slug","api-logs.filters.label.clientId":"App ID","api-logs.filters.label.ifoodRequestId":"Request ID","api-logs.filters.label.response":"Response Code","api-logs.filters.label.responseTime":"Response Time","api-logs.filters.label.urlPath":"Path","api-logs.filters.label.useragent":"User Agent","api-logs.filters.label.verb":"Method","api-requests.page-title":"Solicitudes HTTP","app-type.CENTRALIZED":"Aplicación centralizada","app-type.DISTRIBUTED":"Aplicación distribuida","app-type.WIDGET":"Widget","app.logistic-message":"Quedan suspendidas provisionalmente las aprobaciones de solicitudes destinadas a operaciones logísticas subcontratadas hasta la disponibilidad de un nuevo módulo exclusivo, prevista para marzo de 2024.","apps.add-merchant":"Añadir Tienda","apps.add-restaurants":"Añadir","apps.app-created-modal.body-text":"A partir de ahora, cada vez que un usuario active tu aplicación el tendrá acceso a los datos de la tienda automáticamente. Consulta <a>este artículo</a> para conocer el procedimiento paso a paso para que una tienda active una aplicación.","apps.app-created-modal.see-credentials":"Ver credenciales","apps.app-created-modal.title":"Aplicación registrada con éxito","apps.app-form.request-scope-dialog.description":"Al agregar un nuevo módulo a la aplicación, el módulo agregado debe pasar por un proceso de aprobación. Luego de completar este paso, se enviará una nueva solicitud de permiso a todas las tiendas a las que la aplicación había solicitado acceso previamente y deberán autorizarlo dentro del portal de socios. ¿Quieres confirmar la incorporación?","apps.app-form.request-scope-dialog.description.distributed":"Al añadir un nuevo módulo a la aplicación, hay que volver a pedir permiso a todas las tiendas <a>siguiendo el flujo de las aplicaciones distribuidas</a> para que se permitan el nuevo módulo. ¿Confirmar la adición?","apps.app-form.request-scope-dialog.title":"Añadir nuevo módulo","apps.app-merchant-details-modal.data.cnpj":"NIT","apps.app-merchant-details-modal.data.id":"ID de la tienda","apps.app-merchant-details-modal.data.name":"Tienda","apps.app-merchant-details-modal.data.status":"Estado","apps.app-merchant-details-modal.merchant":"Tienda","apps.app-merchant-details-modal.scopes":"Ámbitos","apps.app-merchant-details-modal.title":"Detalles del permiso","apps.app-permission-row.alert.confirm":"¿Quieres continuar?","apps.app-permission-row.alert.description":"Al eliminar la autorización de este comerciante, no podrá usar su aplicación para acceder a las API de iFood.","apps.app-permission-row.alert.title":"¡Atención!","apps.app-permission-row.delete":"Borrar","apps.app-permission-row.request-permission":"Solicitar permiso","apps.app-permission-row.revoke":"Quitar autorización","apps.app-permission.permission-modal":"¿Quieres volver a solicitar el permiso de la tienda?","apps.application-status.BLOCKED":"Obstruido","apps.application-status.DEVELOPMENT":"En desarrollo","apps.application-status.HOMOLOGATION":"Aprobado","apps.application-status.PARTIALLY_HOMOLOGATION":"Parcialmente aprobado","apps.application-status.TEST":"Aplicación de prueba","apps.auth-code-builder.doc-link":"Consulta la <a>documentación</a> para saber cómo se genera el código de autorización y el flujo de aprobación de la tienda.","apps.auth-code-builder.subtitle":"Esta es la URL que debes proporcionar a los usuarios de la aplicación para generar un código de autorización para que la aplicación pueda acceder a los datos de la tienda.","apps.auth-code-builder.title":"Generación de Código de Autorización","apps.category-selection.description":"La categoría de la aplicación determina los módulos API a los que la aplicación tendrá acceso","apps.category-selection.developers-responsibilities":"Al continuar, soy consciente de la responsabilidad exclusiva de los Desarrolladores de Aplicaciones y sus respectivos subcontratistas por cualquier daño resultante de acciones u omisiones relacionadas con la Nueva Aplicación, incluidos incidentes de seguridad, conforme a las <a>Condiciones Generales del Programa de Desarrolladores de Aplicaciones</a>.","apps.category-selection.title":"Categoría de aplicación","apps.credentials-modal.api-key":"Clave API","apps.credentials-modal.api-secret":"Secreto de la API","apps.credentials-modal.title":"Credenciales de la aplicación","apps.credentials-type":"Tipo de credencial","apps.credentials-type.AUTHORIZATION_CODE":"Código de autorización","apps.credentials-type.CLIENT_CREDENTIALS":"Credenciales de los clientes","apps.credentials.client-id":"clientId","apps.credentials.client-secret":"clientSecret","apps.credentials.info":"A través de esta URL el responsable de la tienda puede ver la aplicación en el Portal de Aliados y autorizar el acceso.","apps.credentials.info-distributed":"Consulta la documentación sobre <a>cómo generar un código de autorización para aplicaciones distribuidas</a> y enviarlo a los usuarios de tu aplicación para autorizar el acceso.","apps.credentials.not-access":"Esta aplicación tiene activado el módulo de pedidos. Este módulo requiere que la aplicación sea homologada y solo entonces las credenciales estarán disponibles. Si ya has terminado el desarrollo de tu integración, <a>revisa cómo programar la homologación de tu aplicación.</a> Una vez aprobada la solicitud, tendrás acceso a las credenciales.","apps.credentials.url":"URL de permiso de aplicación","apps.delete-permission.title":"Quitar autorización de comerciante","apps.development-app.button":"Billete abierto","apps.development-app.description":"Hay solicitudes que no están aprobadas, para aprobarlas abre un ticket","apps.development-app.details.description":"Para aprobar esta solicitud, abra un ticket","apps.form.EDIT":"Guardar los cambios","apps.form.REGISTER":"Registro de la solicitud","apps.inactive-app":"Inactivo","apps.include-merchant-description":"Separe las IDs con una coma (Límite de 1000 ID). <b>Ex: 3bbb778d-c0c9-4216-90ae-1d7fc80676cb,3bbb778d-c0c9-4216-90ae-1d7fc80676cb</b>","apps.include-merchant-list":"Lista de tiendas","apps.include-merchant-list.scopes":"La aplicación tendrá acceso a los módulos: {scopes}","apps.include-merchant-list.title":"ID de tienda / comerciante","apps.include-merchant-search-modal.developers-responsibilities":"En caso de aprobación del pedido de acceso a los datos, estoy consciente de la responsabilidad exclusiva de los Desenvolvedores de Aplicativos por eventuales daños decorrentes de acciones o omisiones involucrando la integración con el(los) Merchant(s), inclusive por incidentes de seguridad.","apps.include-merchant-search-modal.id":"¿No conoces el ID de la tienda? <a>Accede aquí</a>","apps.include-merchant-search-modal.result":"El resultado de tu búsqueda aparecerá aquí.","apps.include-merchant-search-modal.search-search-box":"Búsqueda por ID o NIT de tienda","apps.include-merchant-search-modal.submit":"Solicitar permiso","apps.include-merchant-search-modal.title":"Solicitar permiso","apps.include-merchant-title":"Tiendas","apps.listing.app-name":"Nombre de la Aplicación","apps.listing.app-permissions":"Permisos de la aplicación","apps.listing.cnpj":"NIT","apps.listing.credentials":"Credenciales","apps.listing.merchant-id":"ID de la Tienda","apps.listing.merchant-name":"Nombre de la tienda","apps.listing.permissions":"Permisos","apps.listing.restaurant-name":"Nombre de la tienda","apps.listing.status":"Estado","apps.merchant-search-modal.cnpj":"NIT","apps.merchant-search-modal.merchant-id":"ID de la Tienda","apps.merchant-search-modal.restaurant-name":"Nombre de la Tienda","apps.merchant-search-table.cnpj":"<b>NIT:</b> {cnpj}","apps.merchant-search-table.id":"<b>ID:</b> {id}","apps.merchants-permission-request-success":"¡Solicitud enviada con éxito! Una vez que el responsable apruebe la solicitud, recibirás un correo electrónico de confirmación.","apps.modal.disable":"Desactivar la aplicación","apps.modal.disable.description":"La desactivación de la aplicación te impedirá utilizar la API y cualquier tienda que utilice la aplicación perderá el acceso a ella hasta que la vuelvas a activar.","apps.new":"Nueva aplicación","apps.no-app-merchants-centralized-no-app.subtitle":"La aplicación debe ser aprobada para recibir la autorización.","apps.no-app-merchants-centralized.subtitle":"Haz clic en 'Solicitar autorización' para que una tienda autorice el intercambio de datos.","apps.no-app-merchants-centralized.title":"La solicitud aún no ha sido autorizada por ninguna tienda","apps.no-app-merchants.subtitle":"Envía al comerciante un código de activación para que pueda acceder a tu aplicación. <a>Consulta la documentación sobre cómo generar un código de autorización para aplicaciones distribuidas.</a>","apps.no-app-merchants.title":"Todavía aún no hay usuarios que utilicen la aplicación","apps.permissions.merchant-row.actions.details":"Ver detalles","apps.permissions.merchant-row.actions.disable":"Desactivar","apps.permissions.owner-required.description":"Solo el propietario de la aplicación puede quitar autorizaciones.","apps.permissions.owner-required.title":"Acción restringida al propietario","apps.permissions.revoke.disabled-tooltip":"Solo el propietario de la aplicación puede quitar autorizaciones.","apps.permissions.search-merchants":"Filtrar","apps.register":"Registrar aplicación","apps.register-form.confirmation":"Después de confirmar el registro, los módulos seleccionados no pueden ser editados.","apps.register-form.confirmation-title":"Confirmar el registro de la aplicación","apps.register-form.scopes.pending":"Módulo no aprobado","apps.register-form.title.CENTRALIZED":"Registro de aplicación centralizada","apps.register-form.title.DISTRIBUTED":"Registro de aplicación distribuida","apps.register-from.app-type.CENTRALIZED":"Centralizada","apps.register-from.app-type.DISTRIBUTED":"Distribuida","apps.register-from.category.CATALOG":"Catalogar","apps.register-from.category.CATALOG.description":"Aplicación encargada de gestionar los artículos y categorías del catálogo de la tienda","apps.register-from.category.FINANCIAL":"Finanzas","apps.register-from.category.FINANCIAL.description":"Aplicación encargada de la conciliación financiera de las ventas realizadas","apps.register-from.category.GROCERIES":"Groceries","apps.register-from.category.GROCERIES.description":"Aplicaciones exclusivas para mercados, farmacias y pet-shops que operan en la plataforma iFood","apps.register-from.category.LOGISTIC":"Logística","apps.register-from.category.LOGISTIC.description":"Aplicación para operadores logísticos que operan integrados con la plataforma iFood","apps.register-from.category.PDV":"PDV","apps.register-from.category.PDV.description":"Aplicación de gestión de punto de venta responsable de automatizar algunos pasos de la operación de la tienda","apps.register-from.category.REVIEW":"Evaluaciones","apps.register-from.category.REVIEW.description":"Aplicación encargada de gestionar las valoraciones de pedidos realizadas por los usuarios","apps.register-from.full-description.title":"Descripción completa de la aplicación","apps.register-from.visibility.PRIVATE":"No listado","apps.register-from.visibility.PUBLIC":"Público en el Portal de Aliados","apps.remove-confirmation":"¿Estás seguro de que deseas eliminar a esta tienda?","apps.remove-merchant-confirmation":"Al eliminar la autorización, la tienda ya no tendrá acceso a tu aplicación. Para obtener una nueva autorización, deberás hacer clic en 'Solicitar autorización'.","apps.remove-merchant-confirmation-title":"¿Deseas realmente eliminar la autorización?","apps.request-authorization":"Solicitar autorización","apps.request-authorization.title":"Solicitar autorización para usar API","apps.search":"Buscar aplicaciones","apps.status.ACTIVE":"Activo","apps.status.INACTIVE":"Inactivo","apps.table-header.app-name":"Nombre de la aplicación","apps.table-header.app-status":"Estado","apps.table-header.app-type":"Tipo","apps.tabs.CREDENTIALS.title":"Credenciales","apps.tabs.DETAILS.title":"Detalles","apps.tabs.LOGS.title":"Logs","apps.tabs.MARKETPLACE.title":"Marketplace","apps.tabs.PERMISSIONS.title":"Permisos","apps.title":"Aplicaciones","apps.type-selection.CENTRALIZED.description":"Con una sola credencial (client credential) la aplicación tiene acceso a los datos de todos los aliados","apps.type-selection.CENTRALIZED.subtitle":"Instalación centralizada para todos los aliados","apps.type-selection.DISTRIBUTED.description":"Admite múltiples credenciales (authorization codes) para aliados específicos o grupos de aliados","apps.type-selection.DISTRIBUTED.subtitle":"Instalación distribuida para cada aliado","apps.type-selection.subtitle":"Elige el tipo de aplicación en función de cómo se distribuye a tus clientes.","apps.type-selection.title":"Tipo de aplicación","apps.user-count.plural":"({userCount} usuarios)","apps.user-count.singular":"(1 usuario)","back-button.back":"Volver","chat.button.send":"Enviar comentario","chat.description.blocked":"Ha superado el límite de búsqueda para un usuario que no ha iniciado sesión. Inicie sesión para continuar buscando.","chat.description.info":"Para eliminar el límite de mensajes, inicie sesión.","chat.description.quantity":"Mensajes disponibles: {quantity}","chat.error.join-channel":"Error al ingresar al canal de chat. Inténtalo de nuevo.","chat.error.load-ticket-details":"Error loading ticket details","chat.error.process-files":"Error al procesar los archivos. Inténtalo de nuevo.","chat.error.send-message":"Error al enviar el mensaje. Inténtalo de nuevo.","chat.highlight.description":"Agora ficou muito mais fácil acessar nossa documentação. Clique no botão abaixo para começar!","chat.highlight.title":"Experimente nossa nova busca inteligente","chat.input.placeholder":"Agregar comentario al ticket","chat.legend":"Mensaje respondido vía Inteligencia Artificial","chat.loading.messages":"Cargando mensajes...","chat.message":"¡Hola! Soy el asistente virtual en el Portal para desarrolladores y puedo ayudarlo con preguntas relacionadas con nuestras API. Para comenzar, escriba su pregunta:","chat.new-thread":"Nueva búsqueda","chat.prompt.placeholder":"Escriba su pregunta","chat.ticket.received":"Hola, {name}. Acabamos de recibir tu solicitud, el número de tu ticket es {ticketId}. Te avisaremos en cuanto el ticket sea actualizado.","chat.title":"Asistente de iFood","collections.sidebar-title":"Colecciones","core.footer.languages.en-US":"English","core.footer.languages.es-CO":"Español","core.footer.languages.pt-BR":"Português","core.footer.legal.copyright-notice":"© Copyright {year} - iFood - Todos los derechos reservados","core.footer.legal.medium":"Artículos en Medium","core.footer.legal.privacy":"Privacidad","core.footer.legal.terms-and-conditions":"Condiciones de uso","core.footer.newsletter":"Recibir noticias de la API.","core.footer.section-link.developer-sign-up":"Inscripción de Desarrolladores","core.footer.section-link.discover":"Descubre","core.footer.section-link.recommend-restaurant":"Recomendar una tienda","core.footer.section-link.restaurant-sign-up":"Registra tu tienda","core.footer.section-link.speak-with-us":"Habla con nosotros","core.footer.section-link.who-are-we":"Quiénes somos","core.footer.section-link.work-with-us":"Ven a iFood","core.header.account":"Cuenta","core.header.actions.sign-in":"Entrar","core.header.actions.sign-up":"Registro","core.header.community":"Comunidad","core.header.community.blog":"Blog","core.header.community.forum":"Foro","core.header.docs":"Docs","core.header.docs.api-reference":"Referencia de la API","core.header.docs.changelog":"Registro de cambios","core.header.docs.collections":"Colecciones","core.header.docs.first-steps":"Primeros pasos","core.header.docs.glossary":"Glosario","core.header.docs.guides":"Guías","core.header.docs.modules":"Módulos API","core.header.docs.more-links":"Mais links","core.header.docs.rate-limit":"Rate Limit","core.header.docs.RESTAURANT":"Restaurant","core.header.embeddables":"Widget","core.header.embeddables.docs":"Documentación","core.header.embeddables.integrators":"Para Integradores","core.header.embeddables.partners":"Para Socios","core.header.logged-in-actions.hi":"Hola, {userName}","core.header.maquinona":"Maquinona","core.header.my-requests":"Mis Solicitudes","core.header.nav-link.community":"Comunidad","core.header.nav-link.docs":"Docs","core.header.nav-link.faq":"Preguntas frecuentes","core.header.partner-terms-of-use":"Condiciones de uso","core.header.profile.FOREIGNER":"Extranjero","core.header.profile.PERSONAL":"Personal/Estudiante","core.header.profile.PROFESSIONAL":"Profesional","core.header.super":"Súper Integradores","core.header.support":"Soporte","core.header.support.api-status":"Estado de la API","core.header.support.cases":"Solicitudes","core.header.support.developer-terms-of-use":"Condiciones de uso","core.header.support.faq":"Preguntas frecuentes","dashboard.news.title":"Noticias","dashboard.profile-card.FOREIGNER.description":"Con este perfil puedes crear aplicaciones, homologar e invitar usuarios a tu equipo.","dashboard.profile-card.FOREIGNER.title":"Tu perfil es Extranjero","dashboard.profile-card.PERSONAL.description":"Con este perfil tienes acceso al ambiente de prueba, sin la posibilidad de invitar usuarios, crear y homologar aplicaciones para usar las APIs en producción.","dashboard.profile-card.PERSONAL.title":"Tu perfil es Personal/Estudiante","dashboard.profile-card.PROFESSIONAL.description":"Con este perfil puedes crear y homologar aplicaciones, usar API en producción e invitar usuarios a tu equipo.","dashboard.profile-card.PROFESSIONAL.title":"Tu perfil es Profesional","dashboard.steps.step1.description":"Para comenzar a utilizar nuestros servicios, es necesario realizar la autenticación de nuestras API's","dashboard.steps.step1.title":"Autenticarse en la API","dashboard.steps.step2.description":"Desarrolle su solución y asegúrese de que esté lista para ser homologada","dashboard.steps.step2.title":"Desarrollar y probar","dashboard.steps.step3.description":"Esta fase es importante para garantizar que su app cumpla con los requisitos mínimos","dashboard.steps.step3.title":"Homologar aplicación","dashboard.steps.step4.description":"Ahora que su app está lista, solicite el permiso para operar","dashboard.steps.step4.title":"Solicitar permisos","dashboard.steps.step5.description":"Cree su propio Widget para que sus socios puedan operar el día a día con más rapidez","dashboard.steps.step5.title":"Widget","dashboard.steps.step6.description":"Invite a otros usuarios para gestionar su negocio","dashboard.steps.step6.title":"Invitar usuarios","dashboard.steps.title":"Cómo empezar","dashboard.title":"Inicio","dashboard.warning":"A partir del 02/01/2022, los antiguos puntos finales de API (post-api) se cerrarán y dejarán de funcionar gradualmente. Actualice a sus clientes a la nueva API y, como último recurso, guíelos para que usen el Administrador de Pedidos hasta que se actualice el POS.","developer.account-stage-callout.ACCOUNT_DETAILS_PENDING.cta":"Verificar cuenta","developer.account-stage-callout.ACCOUNT_DETAILS_PENDING.description":"Complete el registro con los datos de su empresa y obtenga acceso a la creación y validación de aplicaciones, uso de APIs en producción e invite a usuarios a su equipo.","developer.account-stage-callout.ACCOUNT_DETAILS_PENDING.title":"Complete su registro para obtener todos los beneficios","developer.account-stage-callout.ACCOUNT_DETAILS_PENDING.user.description":"Solicite al propietario del equipo que complete el registro con los datos de la empresa y tenga acceso a la creación y aprobación de aplicaciones y creación de widgets, además de utilizar nuestras API en producción.","developer.account-stage-callout.ACCOUNT_REVIEW_FAILED.cta":"Póngase en contacto","developer.account-stage-callout.ACCOUNT_REVIEW_FAILED.description":"Su cuenta no fue verificada, para obtener más detalles póngase en contacto con nuestro equipo de atención al cliente.","developer.account-stage-callout.ACCOUNT_REVIEW_FAILED.title":"No fue posible verificar su cuenta","developer.account-stage-callout.ACCOUNT_REVIEW_IN_PROGRESS.description":"Revisaremos todo y nos pondremos en contacto pronto. Esté atento a los canales de atención y a su correo electrónico.","developer.account-stage-callout.ACCOUNT_REVIEW_IN_PROGRESS.title":"Su cuenta está siendo verificada","developer.account-stage-callout.PROFESSIONAL.ACCOUNT_DETAILS_PENDING.description":"Complete el catastro con los datos de la empresa y tenga acceso a la homologación de aplicaciones y uso de API en producción.","developer.error.content.body":"Hubo un error al cargar los datos de tu cuenta.","developer.error.content.exit":"Cerrar la sesión","developer.error.content.reload":"Inténtalo de nuevo","drawer-close.close":"Cerrar","drawer.title":"Menú","dropzone-placeholder-with-plus.loading":"Cargando...","dropzone-placeholder.drag-and-drop":"Arrastra y suelta","dropzone-placeholder.the-image-here":"la foto aquí","dropzone-preview.remove":"Eliminar","dropzone-root.change":"Cambiar","dropzone-root.choose-picture":"Seleccionar foto","dropzone-root.erase":"Borrar","dropzone-root.remove":"Eliminar","empty-state.failed-to-load.description":"Hubo un error al cargar la información, por favor inténtalo más tarde.","empty-state.failed-to-load.title":"Oops, algo salió mal","empty-state.rate-limit.description":"Se alcanzó el límite de solicitudes. Vuelve a intentarlo más tarde.","empty-state.rate-limit.title":"Oops, algo salió mal","error.app-not-found":"Oh, esta aplicación no existe","error.auth.ACCOUNT_DISABLED":"Fallo en el inicio de sesión: Cuenta bloqueada. Póngase en contacto con el administrador de la cuenta.","error.auth.EMAIL_NOT_CONFIRMED":"Fallo en el inicio de sesión: correo electrónico no confirmado","error.auth.INVALID_CREDENTIALS":"Fallo en el inicio de sesión: credenciales no válidas","error.auth.NET_ERR":"Fallo en el inicio de sesión: Comprueba tu conexión","error.auth.UNKNOWN":"Fallo en el inicio de sesión","error.change-password.INCORRECT_CURRENT_PASSWORD":"No fue posible cambiar la contraseña: aa contraseña actual es incorrecta","error.change-password.NET_ERR":"Fallo en el cambio de contraseña: comprueba tu conexión","error.change-password.UNKNOWN":"No fue posible cambiar la contraseña: inténtalo de nuevo más tarde","error.create-contact":"No fue posible registrar el correo electrónico. Vuelve a intentarlo más tarde","error.create-developer.ACCOUNT_ALREADY_REGISTERED":"No fue posible registrar el usuario: ya existe una cuenta con este correo electrónico","error.create-developer.ACCOUNT_ALREADY_REGISTERED_IN_PARTNER_PORTAL":"No fue posible completar el registro: el correo electrónico ingresado ya está asociado a una cuenta en el <strong>Portal del Socio</strong>. Para crear una cuenta en el <strong>Portal del Desarrollador</strong>, utilice un correo electrónico diferente.","error.create-developer.CNPJ_ALREADY_IN_USE":"Fallo en el registro del usuario: documento ya está en uso","error.create-developer.CPF_ALREADY_IN_USE":"Fallo en el registro del usuario: el CPF ya está en uso","error.create-developer.documentation-access-description":"Puede acceder a la documentación de buenas prácticas para la creación de cuentas en el Portal del Desarrollador haciendo <a>clic aquí</a>.","error.create-developer.INVITE_EXPIRED":"¡Invitación caducada! Solicite una nueva invitación al propietario de la cuenta.","error.create-developer.NET_ERR":"Fallo en el registro del usuario: Comprueba tu conexión","error.create-developer.PASSWORD_LEAKED":"Falha ao cadastrar o usuário: La contraseña ingresada se encontró en una base de datos de contraseñas previamente filtradas, por su seguridad, ingrese una contraseña diferente para continuar con el registro.","error.create-developer.PHONE_NOT_VALIDATED":"Fallo en el registro del usuario: Teléfono no validado.","error.create-developer.PHONE_NOT_VALIDATED_IN_LAST_1_HOUR":"Fallo en el registro del usuario: Validación de teléfono caducada.","error.create-developer.REGISTER_NOT_ALLOWED":"Fallo en el registro del usuario: No es posible crear una cuenta con este correo electrónico.","error.create-developer.SLUG_ALREADY_EXISTS":"Fallo en el registro del usuario: el Slug ya está en uso","error.create-developer.TEXT_VIOLATION_CODE":"Fallo en el registro del usuario: campos llenos de términos no permitidos.","error.create-developer.UNKNOWN":"Fallo en el registro del usuario: inténtalo de nuevo más tarde","error.delete-app":"Oops, algo salió mal. Intenta borrar la aplicación de nuevo más tarde","error.delete-app-merchants":"Oops, algo salió mal. Por favor, intenta borrar la tienda de nuevo más tarde","error.delete-app-merchants.OWNER_PERMISSION_REQUIRED":"Esta acción solo puede ser ejecutada por cuentas con perfil de Propietario. Por favor, contacta al propietario de la integración para realizar esta operación.","error.failed-to-fetch-invite":"Error al obtener los datos de la invitación, inténtalo de nuevo más tarde","error.get-app-merchants":"Oops, algo salió mal. Intenta buscar a las tiendas de nuevo.","error.message.description":"Tenemos problemas para mostrar esta página. Tal vez quieras intentar de nuevo.","error.message.reload":"Actualizar esta página","error.message.title":"Parece que algo salió mal","error.page-not-found":"Oh, esta página no existe","error.page-not-found.button":"Ir para el Inicio","error.page-not-found.description":"Comprueba si has escrito algo mal. Tal vez la dirección ya no esté disponible en la web.","error.RECAPTCHA_ERROR":"Hubo un error al validar el reCAPTCHA.","error.register-app":"Oops, algo salió mal. Intenta registrarte de nuevo.","error.register-app.SLUG_ALREADY_EXISTS":"Oops, algo salió mal. Slug já em uso","error.register-app.TEXT_VIOLATION_CODE":"No se pudo registrar la aplicación: campos llenos de términos no permitidos.","error.request-app-merchants":"Oops, algo salió mal. Intenta enviar tu solicitud de autorización más tarde","error.request.auth-error":"Correo electrónico y/o contraseña incorrectos.","error.request.build-test-order":"No fue posible enviar la solicitud de prueba, inténtalo de nuevo más tarde","error.request.create-developer":"No fue posible enviar los datos, inténtalo de nuevo más tarde","error.request.delete-app":"No fue posible eliminar la aplicación, inténtalo de nuevo más tarde","error.request.delete-app-merchants":"La eliminación de la tienda ha fallado, por favor, inténtalo de nuevo más tarde","error.request.email-not-confirmed":"Tu cuenta aún no ha sido activada, por favor revisa tu correo electrónico","error.request.email-not-confirmed-error":"La dirección de correo electrónico no ha sido confirmada","error.request.get-app":"Fallo al cargar la aplicación, por favor inténtalo más tarde","error.request.get-app-merchants":"Error al cargar la información, por favor, inténtalo más tarde","error.request.get-apps":"No fue posible cargar las aplicaciones, inténtalo de nuevo más tarde","error.request.get-developer-toolkit":"No fue posible obtener los datos de la tienda de pruebas, inténtalo de nuevo más tarde","error.request.get-test-restaurant":"No fue posible cargar la tienda de prueba, por favor, inténtalo más tarde","error.request.get-test-user":"No fue posible cargar el usuario de prueba, inténtalo de nuevo más tarde","error.request.include-app-merchants":"No fue posible incluir a las tiendas, por favor, inténtalo más tarde","error.request.login-error":"Fallo en el inicio de sesión","error.request.NET_ERR":"No se pudo completar su solicitud: verifique su conexión","error.request.register-app":"No fue posible registrar la aplicación, inténtalo de nuevo más tarde","error.request.request-merchant-permission.APPLICATION_PERMISSION_LIMIT_REACHED":"No se pueden agregar nuevos permisos. Las aplicaciones centralizadas tienen un límite de 20 mil comerciantes.","error.request.request-merchant-permission.MERCHANT_ALREADY_REQUESTED":"Fallo en la solicitud de autorización: la tienda ya está siendo utilizada por la aplicación","error.request.search-rate-limit":"Has alcanzado tu límite diario de búsquedas, por favor inicia sesión para continuar.","error.request.unexpected-error":"Error inesperado.","error.request.UNKNOWN":"No se pudo completar su solicitud: Vuelva a intentarlo más tarde","error.request.update-account":"Fallo en la actualización de los datos del cuenta","error.request.update-app-details":"No fue posible actualizar los datos de la aplicación, inténtalo de nuevo más tarde","error.request.update-developer":"Fallo en la actualización de los datos del perfil","error.request.update-developer.TEXT_VIOLATION_CODE":"Fallo en la actualización de los datos del perfil: campos llenos de términos no permitidos.","error.request.update-email":"No fue posible actualizar el correo electrónico, inténtalo de nuevo más tarde","error.requires.send-invite.ACCOUNT_ALREADY_REGISTERED":"Ya existe una cuenta con este correo registrado","error.requires.send-invite.ACCOUNT_ALREADY_REGISTERED_IN_PARTNER_PORTAL":"Ya existe una cuenta con este correo registrado en el portal del socio. Para continuar con el registro, utilice un correo electrónico diferente.","error.requires.send-invite.INVITE_HAS_BEEN_SENT":"Ya se envió la invitación","error.requires.send-invite.REGISTER_NOT_ALLOWED":"No se puede invitar al usuario con este correo electrónico","error.resend-email.NET_ERR":"No fue posible reenviar el correo electrónico: Comprueba tu conexión","error.resend-email.OUT_OF_ALLOWED_TIME":"El correo electrónico de confirmación ya ha sido enviado recientemente. Comprueba tu carpeta de spam","error.resend-email.UNKNOWN":"No fue posible reenviar el correo electrónico: Vuelve a intentarlo más tarde","error.reset-password.ACCOUNT_NOT_FOUND":"No fue posible restablecer la contraseña: No se ha encontrado una cuenta con este correo electrónico","error.reset-password.NET_ERR":"Fallo en el restablecimiento de la contraseña: comprueba tu conexión","error.reset-password.UNKNOWN":"El restablecimiento de la contraseña ha fallado: inténtalo de nuevo más tarde","error.send-consumer-email.EMAIL_ALREADY_EXIST":"Este correo electrónico ya está en uso.","error.send-consumer-email.NET_ERR":"No fue posible registrar el correo electrónico: comprueba tu conexión","error.send-consumer-email.UNKNOWN":"Fallo en el registro del correo electrónico","error.update-account.SLUG_ALREADY_EXISTS":"No se pudo actualizar la cuenta, slug existente","error.update-account.UNKNOWN":"No se pudo actualizar la cuenta, intente nuevamente más tarde","error.update-app-details":"Oops, algo salió mal. Intenta guardar de nuevo.","error.update-app-details.SLUG_ALREADY_EXISTS":"Opa, algo deu errado. Slug ya registrada.","error.update-app.INVALID_FIELDS":"No se pudo actualizar la aplicación, campos no válidos: {invalid}.","error.validation.password.no-lowercase-letters":"Tu contraseña debe contener al menos una letra minúscula.","error.validation.password.no-numbers":"Tu contraseña debe contener al menos un número.","error.validation.password.no-special-characters":"Sua senha deve conter ao menos um caractere especial.","error.validation.password.no-uppercase-letters":"Tu contraseña debe contener al menos una letra mayúscula.","error.validation.password.wrong-length":"Tu contraseña debe contener al menos {minimumLength} caracteres.","events.page-title":"Eventos","faq":"Preguntas frecuentes","faq.page-title":"Preguntas frecuentes","faq.splash.input-placeholder":"Escriba su pregunta","faq.splash.title":"Cómo podemos ayudar?","fields.account":"Cuenta","fields.app-name":"Nombre de la aplicación","fields.cnpj":"CNPJ","fields.confirm-password":"Confirmar contraseña","fields.country":"Selecciona el país","fields.current-password":"Tu contraseña actual","fields.description":"Breve descripción","fields.distribution":"Distribución / Licencias","fields.email":"Correo electrónico","fields.full-name":"Nombre completo","fields.home-page-url":"URL de la aplicación","fields.ID":"ID","fields.identification.CC/NIT":"CC/NIT","fields.identification.PF":"CPF","fields.identification.PJ":"CNPJ","fields.login-information":"Información de acceso","fields.new-password":"Nueva contraseña","fields.organization":"Equipo","fields.password":"Contraseña","fields.personal-information":"Información personal","fields.phone":"Teléfono","fields.select":"Selecciona","fields.sign-up-type":"Tipo de registro","fields.slug":"Slug","fields.small-description":"Introduce una breve descripción","fields.software-house-name":"Nombre de la Software House","fields.software-house-name.description":"Nombre comercial del integrador","fields.software-house-name.full-description":"Descripción de Software House","fields.software-house-name.full-description.description":"Descripción que aparecerá en la página del Integrador","fields.software-house.background-color":"Color de fondo","fields.software-house.background-color.description":"Elija el color de fondo de la página del integrador","fields.tech":"Tecnología","fields.url-placeholder":"https://ejemplo.com.co","form.max-length":"Máximo de {maxLength} caracteres.","header.embeddables.benefits":"Beneficios","header.embeddables.how-to":"Ajustes","header.embeddables.order-now":"Ordenar Ahora","header.embeddables.services":"Recursos","header.embeddables.which-is":"Qué es","home.blog-posts.medium":"Ver todo en Medium","home.blog-posts.title":"Código y contenido","home.content.answer-nps":"Tomar encuesta","home.content.block-card-1.body":"iFood Entrega le permite entregar todos los pedidos del socio, recibidos en sus canales de venta además de la aplicación.","home.content.block-card-1.title":"iFood Entrega","home.content.block-card-2.body":"Cree su widget con su marca e incorpórelo a su aplicación sin tener que pasar horas desarrollando nuevas integraciones para que las nuevas funciones estén disponibles para sus usuarios.","home.content.block-card-2.title":"Widgets personalizados","home.content.block-card-nps.body":"Participa en nuestra encuesta de satisfacción haciendo clic en el siguiente enlace:","home.content.block-card-nps.title":"¡Queremos escuchar de ti!","home.content.see-more":"Más información","home.footer-call-out.title":"Crea tu aplicación <b>y revoluciona el universo de la alimentación</b>","home.new-banner.card1.description":"Hemos mejorado nuestra área de soporte para facilitar la comunicación con nuestro equipo de atención al cliente.","home.new-banner.card1.link":"Ver servicio al cliente","home.new-banner.card1.title":"Servicio de atención al cliente","home.new-banner.card2.description":"Hemos renovado nuestra documentación y ahora es más sencillo integrar las aplicaciones.","home.new-banner.card2.link":"Ver documentación","home.new-banner.card2.title":"Documentación","home.new-banner.card3.description":"Para Recoger, programación de pedidos, financiero y, próximamente, Entrega Bajo Demanda.","home.new-banner.card3.link":"Ver nuevas funcionalidades","home.new-banner.card3.title":"Nuevas funcionalidades","home.new-banner.description":"Revisa algunas de las nuevas funcionalidades","home.new-banner.footer.title":"Consulta todas las novedades en este <a>enlace</a> o accede a la documentación antigua haciendo <a>clic aquí</a>.","home.new-banner.title":"¡Qué alegría tenerte aquí en el nuevo Portal del Desarrollador!","home.newsletter.description":"Recibe las últimas noticias sobre las API de iFood. Introduce tu correo electrónico y te avisaremos de cualquier cambio.","home.newsletter.info":"Puedes darte de baja en cualquier momento. Consulta nuestras <a>condiciones de privacidad</a>.","home.newsletter.subscribe":"Regístrese para recibir noticias de la API","home.newsletter.title":"Mantente al día con todas las novedades","home.numbers-showcase.showcase-item.deliveryman.subtitle":"Distribuidores activos en la plataforma","home.numbers-showcase.showcase-item.deliveryman.title":"+310 Mil","home.numbers-showcase.showcase-item.orders.subtitle":"Pedidos entregados cada mes","home.numbers-showcase.showcase-item.orders.title":"+100 Millones","home.numbers-showcase.showcase-item.restaurants.subtitle":"Establecimientos asociadas","home.numbers-showcase.showcase-item.restaurants.title":"+350 Mil","home.numbers-showcase.subtitle":"Estamos revolucionando el universo de la alimentación. ¡Esto es solo el principio!","home.partners-showcase.title":"Aliados certificados","home.splash.description":"Documentación sencilla y guías detalladas para que puedas integrar tu aplicación con iFood.","home.splash.embeddables-partners.description":"Tenga nuevas funciones en su sistema POS a través del widget. ¡Pregunte a su integrador ahora!","home.splash.embeddables.description":"Ofrezca nuevas funciones a través de widgets personalizados sin tener que desarrollar nuevas integraciones","home.splash.embeddables.title":"Widget de chat y notificaciones en tu aplicación","home.splash.see-more":"Saber más","home.splash.super.button":"Quiero conocer","home.splash.super.description":"Participa en el programa y sé uno de los mejores integradores recomendados por iFood. Además de garantizar beneficios exclusivos.","home.splash.super.title":"<b>Nuevo</b> ¡Programa Súper Integrador!","home.splash.title":"Desarrolla aplicaciones con nuestra API","invite.details.name":"Nombre de la cuenta: ","invite.details.phone":"Teléfono: ","invite.error.ACCOUNT_ALREADY_REGISTERED.description":"Esta invitación ya se ha utilizado.","invite.error.ACCOUNT_ALREADY_REGISTERED.title":"No será posible utilizar este enlace de invitación.","invite.error.INVITE_EXPIRED.description":"Los enlaces de invitación caducan después de 72 horas.","invite.error.INVITE_EXPIRED.title":"Este enlace de invitación ha caducado.","invite.error.INVITE_HAS_BEEN_ACCEPTED.description":"Esta invitación ya ha sido aceptada.","invite.error.INVITE_HAS_BEEN_ACCEPTED.title":"No será posible utilizar este enlace de invitación.","invite.error.INVITE_HAS_BEEN_CANCELLED.description":"Esta invitación ha sido cancelada por el propietario de la cuenta.","invite.error.INVITE_HAS_BEEN_CANCELLED.title":"No será posible utilizar este enlace de invitación.","invite.error.INVITE_NOT_FOUND.description":"Um convite com essas informações não foi encontrado.","invite.error.INVITE_NOT_FOUND.title":"No se pudieron cargar los datos de la invitación.","invite.error.MEMBER_NOT_FOUND.description":"Um convite com essas informações não foi encontrado.","invite.error.MEMBER_NOT_FOUND.title":"No se pudieron cargar los datos de la invitación.","invite.form-description":"Completa los campos con tus datos para acceder al Portal del Desarrollador.","invite.header-notice":"Estás a punto de unirte a un equipo","legacy":"Legado","legacy.description":"Con la introducción de nuevas categorías de aplicaciones, las versiones anteriores se clasificaron como Legacy. Su aplicación seguirá operativa, pero no estará en la última versión de integración que ofrecemos.","logs.api":"HTTP Requests","logs.events":"Events","max-permissions-modal.description":"No se pueden agregar nuevos permisos. Las aplicaciones centralizadas tienen un límite de 20 mil comerciantes. Puede registrar una nueva aplicación centralizada para agregar nuevos comerciantes.","max-permissions-modal.title":"Límite alcanzado","merchant.business-model.FULL_SERVICE":"Full Service","merchant.business-model.HYBRID":"Híbrido","merchant.business-model.MARKETPLACE":"Marketplace","merchant.permission-status.GRANTED":"Activado","merchant.permission-status.PARTIALLY_GRANTED":"Pendiente de autorización","merchant.permission-status.REQUESTED":"A la espera de la activación","merchant.permission-status.REVOKED":"Denegado","merchant.permission-status.REVOKED_BY_ACCOUNT_DEACTIVATION":"Revocado por desactivación de cuenta","merchant.permission-status.REVOKED_BY_DEVELOPER":"Deshabilitado por el desarrollador","merchant.permission-status.REVOKED_BY_RELATION_REMOVED":"Revocado debido a la eliminación del enlace","modal-close.close":"Cerrar","modules.CHAT":"Chat","modules.NOTIFICATIONS":"Notificaciones","modules.SETTINGS":"Ajustes","modules.TRACKING":"Tracking","notifications-action-bar.close":"Cerrar","notifications-action-bar.reload":"Recargar","nps.empty-state.description":"Inicie sesión para completar la encuesta","nps.empty-state.title":"Necesitas iniciar sesión","nps.message":"¡Queremos saber de usted! Participa en nuestra encuesta de satisfacción haciendo <a>clic aquí.</a>","nps.title":"Encuesta","onboarding.timeline.CONTRACT.title":"Contrato","onboarding.timeline.DEVELOPMENT.title":"Desarrollo","onboarding.timeline.HOMOLOGATION.title":"Homologación","onboarding.timeline.PRODUCTION.title":"Producción","pages.APP_HOME.title":"Inicio","pages.APPLICATIONS.title":"Mis aplicaciones","pages.LOGS.title":"Registros de la API","pages.MY_REQUESTS.title":"Mis Solicitudes","pages.PROFILE.title":"Perfil","pages.REGISTER_WIDGET.title":"Registro de Widgets","pages.TEAMMATES.title":"Usuarios","pages.TESTS.title":"Pruebas","pages.WIDGETS.title":"Widgets","pagination.display":"Mostrando","pagination.displaying":"Mostrando <b>{current} de {total}</b>","pagination.in":"de","partners":"Aliados","partners.list":"Aliados con aplicaciones aprobadas","partners.see-more":"Ver todos los aliados aprobados","phone-validation.country":"País","phone-validation.description":"Complete los campos con su información para acceder al portal del desarrollador","phone-validation.failed-to-resend-otp":"Error al reenviar el código, intente nuevamente más tarde","phone-validation.failed-to-send-otp":"Error al enviar el código, intente nuevamente más tarde","phone-validation.failed-to-validate-otp":"Error al validar el código, intente nuevamente más tarde","phone-validation.incorrect-number":"Numero incorrecto","phone-validation.number":"Número","phone-validation.otp-check-cta":"Ingrese el código de 6 dígitos que enviamos a:","phone-validation.otp-check-description":"Valide su teléfono para continuar con el registro","phone-validation.resend-timer":"Reenviar código","phone-validation.title":"Portal del Desarrollador","profile-select.description":"En el Portal del Desarrollador, puede registrarse con diferentes perfiles de acceso. Elija su perfil deseado para continuar.","profile-select.field.FOREIGNER.description":"Acceso al entorno de prueba. Nuevos permisos dependen de una verificación adicional.","profile-select.field.FOREIGNER.title":"Extranjero","profile-select.field.PERSONAL.description":"Acceso al entorno de prueba, sin la posibilidad de invitar usuarios, crear y homologar aplicaciones.","profile-select.field.PERSONAL.title":"Personal/Estudiante","profile-select.field.PROFESSIONAL.description":"Posibilidad de crear y homologar una nueva aplicación e invitar usuarios al equipo (se requiere validación de documentos de la empresa).","profile-select.field.PROFESSIONAL.title":"Profesional","profile-select.title":"¿Qué tipo de perfil?","profile.exhibition.description":"Personaliza tu portal con una breve descripción de Software House, agregando el logo de tu integrador y cambiando el fondo de tu página","profile.exhibition.title":"Personalizar","profile.legal-owner.identification":"CPF del responsable: {identification}","profile.legal-owner.name":"Nombre del responsable: {name}","profile.legal-owner.title":"Datos del responsable de la organización","profile.open-ticket-to-update":"¿Necesita cambiar algún dato? <a>Póngase en contacto</a> y abra un ticket","profile.organization-card.cnae":"CNAE: {cnae}","profile.organization-card.cnpj":"CNPJ: {identification}","profile.organization-card.fantasy-name":"Nombre de fantasía: {fantasyName}","profile.organization-card.goal":"Meta: {goal}","profile.organization-card.site":"Página Web de la compañía: {site}","profile.organization-details-form.company-site":"Sitio web de la empresa","profile.organization-details-form.owner-cpf":"CPF del propietario","profile.organization-details-form.owner-name":"Nombre del propietario","profile.organization-details-form.owner-phone":"Teléfono del responsable de la empresa","profile.organization-details-form.user-is-owner":"Soy la persona legalmente responsable de la empresa","profile.page-title":"Perfil","profile.password-changer.change":"Cambiar contraseña","profile.password-changer.success":"La contraseña ha sido cambiada con éxito.","profile.personal-information":"Información personal","profile.platform-usage-form.usage-title":"¿De qué manera pretende usar la plataforma de iFood?","profile.platform-usage-form.usage.FREELANCE_DEVELOPER":"Soy un desarrollador autónomo y quiero crear una aplicación integrada con iFood para un cliente","profile.platform-usage-form.usage.INTEGRATOR_ALREADY_INTEGRATED":"Soy parte de una empresa de software, ya tengo una aplicación que utilizan varios clientes y que ya está integrada con iFood","profile.platform-usage-form.usage.INTEGRATOR_IN_DEVELOPMENT":"Formo parte de una empresa de software, quiero crear una nueva aplicación y me gustaría integrarla con iFood","profile.platform-usage-form.usage.INTEGRATOR_READY_TO_INTEGRATE":"Formo parte de una tienda/cadena y tenemos nuestros propios sistemas que necesitan ser integrados con iFood","profile.platform-usage-form.usage.INTEGRATOR_WITH_CLIENTS":"Formo parte de una empresa de software, ya tengo una aplicación con varios clientes usándola y me gustaría integrarla con iFood","profile.platform-usage-form.usage.OTHER":"Otro","profile.professional-details-view.communication-description":"Información de contacto y responsable de su empresa","profile.professional-details-view.communication-title":"Medios de comunicación","profile.professional-details-view.description":"Datos según el CNPJ vinculados a su empresa","profile.professional-details-view.objectives-description":"Cuéntenos cuáles son sus objetivos relacionados con el uso de las APIs","profile.professional-details-view.objectives-title":"Objetivos","profile.professional-details-view.title":"Datos de la organización","profile.professional-profile.tabs.organization":"Organización","profile.professional-profile.tabs.user":"Usuario","profile.professional-profile.tabs.view":"Vista","profile.professional-registration-flow.error":"Error al enviar la información, intente de nuevo más tarde","profile.professional-registration-flow.organization.description":"Complete el registro para poder crear aplicaciones, invitar usuarios y tener acceso a entornos aprobados","profile.professional-registration-flow.organization.title":"Datos de la organización","profile.professional-registration-flow.success":"Datos enviados con éxito","profile.professional-registration-flow.usage-fields.description":"Cuéntenos cuáles son sus objetivos relacionados con el uso de las APIs","profile.professional-registration-flow.usage-fields.title":"Objetivos","profile.profile-complete-success.description":"We will review everything and get in touch soon. Keep an eye on the service channels and your email.","profile.profile-complete-success.go-back":"Go to home","profile.profile-complete-success.title":"We have received your information!","profile.register.foreign.details.description":"Complete el registro del responsable y medios de comunicación para continuar el registro","profile.register.foreign.details.fields.name":"Nombre de la empresa","profile.register.foreign.details.fields.phone":"Teléfono de contacto","profile.register.foreign.details.fields.url":"Sitio web de la empresa","profile.register.foreign.details.placeholder.name":"Ejemplo: ABCDE","profile.register.foreign.details.placeholder.phone":"+55 (11) 5555-5555","profile.register.foreign.details.placeholder.url":"www.site.com.br","profile.register.foreign.details.title":"Cuenta","profile.register.foreign.goals.description":"Cuéntenos cuáles son sus objetivos relacionados con el Portal","profile.register.foreign.goals.fields.description":"Hable un poco más sobre su empresa","profile.register.foreign.goals.fields.goal":"¿De qué manera pretende usar la plataforma de iFood?","profile.register.foreign.goals.fields.goal.DEVELOPER":"Soy un desarrollador autónomo y quiero crear una aplicación integrada a iFood para un cliente","profile.register.foreign.goals.fields.goal.OTHER":"Otro","profile.register.foreign.goals.fields.goal.SOFTWARE_HOUSE_NO_APP":"Formo parte de una empresa de software, quiero crear una nueva aplicación y me gustaría integrarla a iFood","profile.register.foreign.goals.fields.goal.SOFTWARE_HOUSE_WITH_APP":"Formo parte de una empresa de software, ya tengo una aplicación con varios clientes usándola y me gustaría integrarla a iFood","profile.register.foreign.goals.fields.goal.STORE":"Formo parte de una tienda/cadena y tenemos sistemas propios que necesitan ser integrados a iFood","profile.register.foreign.goals.placeholder.description":"Breve descripción de la empresa","profile.register.foreign.goals.title":"Objetivos","profile.register.foreign.operating.alert.button":"Ir a casa","profile.register.foreign.operating.alert.description":"Para tener acceso a la creación de aplicaciones, aprobación y poder invitar usuarios a tu equipo, debes tener al menos un cliente activo operando en la plataforma iFood.","profile.register.foreign.operating.alert.title":"Debes tener al menos un cliente operando en la plataforma iFood","profile.register.foreign.operating.description":"Complete el registro para poder crear una app, invitar usuarios y tener acceso a entornos homologados","profile.register.foreign.operating.fields.email":"Correo electrónico del responsable de la empresa cliente","profile.register.foreign.operating.fields.hasMerchant":"¿Ya tiene un cliente operando en la plataforma iFood?","profile.register.foreign.operating.fields.merchantName":"Nombre de la empresa cliente","profile.register.foreign.operating.fields.name":"Nombre del responsable de la empresa cliente","profile.register.foreign.operating.fields.no":"No","profile.register.foreign.operating.fields.phone":"Teléfono del responsable de la empresa cliente","profile.register.foreign.operating.fields.yes":"Sí","profile.register.foreign.operating.placeholder.email":"email@cliente.com.br","profile.register.foreign.operating.placeholder.merchantName":"Ejemplo: ABCDE","profile.register.foreign.operating.placeholder.name":"William Shakespeare","profile.register.foreign.operating.placeholder.phone":"+55 (11) 5555-5555","profile.register.foreign.operating.title":"Datos del Cliente","profile.register.foreign.ready.account":"Cuenta","profile.register.foreign.ready.account.fields.goal":"Objetivo: {value}","profile.register.foreign.ready.account.fields.name":"Nombre de la empresa: {value}","profile.register.foreign.ready.account.fields.phone":"Teléfono de contacto: {value}","profile.register.foreign.ready.account.fields.url":"Sitio web de la empresa: {value}","profile.register.foreign.ready.description":"Datos de acuerdo con el CNPJ vinculados a su empresa","profile.register.foreign.ready.operating":"Datos del cliente","profile.register.foreign.ready.operating.fields.email":"Correo electrónico del responsable de la empresa cliente: {value}","profile.register.foreign.ready.operating.fields.merchantName":"Nombre de la empresa cliente: {value}","profile.register.foreign.ready.operating.fields.name":"Nombre del responsable de la empresa cliente: {value}","profile.register.foreign.ready.operating.fields.phone":"Teléfono del responsable de la empresa cliente: {value}","profile.register.foreign.ready.title":"Datos de la organización","profile.register.tabs.exhibition":"Exhibición","profile.register.tabs.organization":"Organización","profile.register.tabs.user":"Usuario","profile.store-type.description":"Para probar las API necesitará una tienda de prueba. El tipo de tienda definirá el tipo de pedido que se generará. ¿Qué tipo de tienda te gustaría crear?","profile.store-type.MARKET.description":"Integraciones y sistemas que operan mercados y establecimientos comerciales similares.","profile.store-type.RESTAURANT.description":"Exclusivo para integraciones y sistemas que operan restaurantes y establecimientos de alimentos y bebidas.","profile.store-type.title":"Tipo de tienda de prueba","profile.update-form.change-password":"Cambiar la contraseña","profile.update-form.change-password.description":"Si quieres cambiar tu contraseña","profile.update-form.change-password.info":"¿Necesitas cambiar algún dato? <b>Póngase en contacto</b> y abra un ticket","profile.update-form.tech":"Informa la tecnología","profile.update-form.user-card.cpf":"CPF: {value}","profile.update-form.user-card.description":"Informacion del usuario","profile.update-form.user-card.email":"Correo electrónico: {value}","profile.update-form.user-card.phone":"Teléfono: {value}","profile.update-form.user-card.title":"Datos del usuario","register-application.app-name.description":"Nombre comercial de la aplicación","register-application.form.backgroundColor":"Color de fondo de la aplicación","register-application.form.backgroundColor.description":"Elija el color de fondo de la aplicación","register-application.form.card":"Tarjeta en el Portal de Socios","register-application.form.category":"Categoría","register-application.form.category.description":"Para cambiar la categoría, vaya a la página anterior","register-application.form.description":"Vea cómo se verá la información en el Portal de Socios","register-application.form.description.description":"Descripción que aparecerá en la ficha de la aplicación","register-application.form.description.max-size":"Máximo de {size} caracteres.","register-application.form.fullDescription":"Descripción completa","register-application.form.fullDescription.description":"Descripción que aparecerá en la página de la aplicación en el Portal de Socios","register-application.form.images":"Imágenes","register-application.form.images.description":"Elija hasta 5 imágenes que ayuden al socio a conocer mejor la aplicación","register-application.form.modules":"Algunos módulos pueden estar deshabilitados según la categoría.","register-application.form.modules.authorized":"Módulos autorizados","register-application.form.modules.description":"Elige los módulos a los que tendrá acceso la aplicación.","register-application.form.modules.requested":"Módulos com autorização pendente","register-application.form.modules.unauthorized":"Módulos pendientes de autorización","register-application.form.page-url.description":"URL del sitio web de la aplicación","register-application.form.photos.button-text":"Seleccione las imágenes","register-application.form.photos.description":"Arrastra las imágenes aquí en formato PNG o JPEG, o selecciónalas desde tu dispositivo. Tamaño máximo permitido: 5 MB.","register-application.form.scopes":"Ámbitos de aplicación","register-application.form.tech.description":"Elija la tecnología utilizada en la aplicación","register-application.form.visibility":"Visibilidad","register-application.form.visibility.description":"Elija si la aplicación será visible o no en la página de aplicaciones en el Portal del Socio. Puede <a>consultar aquí</a> la lista completa de requisitos para que su aplicación se muestre.","register-application.title":"Nueva aplicación","registration.account-details.cnae.dialog.title":"CNAE aceptadas","registration.account-details.cnae.list":"Ver CNAE aceptadas","registration.account-details.cpf-or-slug-conflict":"Fallo al registrar: CPF y/o Slug ya registrados","registration.account-details.cpf-or-slug-generic":"Fallo al validar los datos de la cuenta, intente de nuevo más tarde","registration.account-details.description":"Complete los campos para acceder al portal del desarrollador","registration.account-details.field.cpf":"CPF","registration.account-details.field.name":"Nombre completo","registration.account-details.field.slug":"Slug","registration.account-details.slug-help":"El slug debe tener un límite máximo de 20 caracteres, con letras en minúscula. No debe contener espacios ni dígitos especiales","registration.account-details.slug-tooltip":"Nombre amigable (slug) utilizado para análisis y reportes. Se llena automáticamente a medida que se completa el nombre.","registration.account-details.title":"Datos de registro","registration.confirmation-email-sent.cta":"Iniciar sesión","registration.confirmation-email-sent.subtitle":"Revise la bandeja de entrada o la carpeta de spam de <b>{email}</b> para verificar su correo electrónico y continuar.","registration.confirmation-email-sent.title":"Le hemos enviado un correo electrónico de verificación","registration.login-details.description":"Complete los campos con su información para acceder al portal del desarrollador","registration.login-details.failed-to-register":"Error al enviar sus datos, intente nuevamente más tarde","registration.login-details.field.confirm-word-to-login":"Confirmar contraseña","registration.login-details.field.developers-responsibilities":"Estoy consciente de la responsabilidad exclusiva de los Desarrolladores de Aplicaciones y de sus respectivos subcontratistas por cualquier daño resultante de sus acciones u omisiones, incluidos los incidentes de seguridad.","registration.login-details.field.email":"Correo electrónico","registration.login-details.field.email-placeholder":"nombre@email.com","registration.login-details.field.general-conditions":"Estoy de acuerdo con las Condiciones <a>Generales del Programa de Desarrolladores de Aplicaciones de iFood</a>.","registration.login-details.field.word-to-login":"Contraseña","registration.login-details.field.word-to-login-help":"La contraseña debe tener al menos 8 caracteres, 1 número y 1 carácter especial","registration.login-details.title":"Datos de inicio de sesión","registration.organization-details.cnpj-in-use.description":"Si forma parte de esta organización, contacte a la persona responsable ({accountOwner}) y pídale que le envíe una invitación.","registration.organization-details.cnpj-in-use.title":"CNPJ ya registrado","registration.organization-details.description":"Complete los campos para registrar su organización","registration.organization-details.failed-to-validate-generic":"Error al validar los datos de la empresa, intente nuevamente más tarde","registration.organization-details.field.cnae":"CNAE","registration.organization-details.field.cnpj":"CNPJ","registration.organization-details.field.fantasy-name":"Nombre de fantasía","registration.organization-details.field.fantasy-name-placeholder":"Ejemplo: ABCDE","registration.organization-details.field.social-reason":"Razón Social","registration.organization-details.field.social-reason-placeholder":"Ejemplo: ABCDE Brasil LTDA","registration.organization-details.title":"Sobre la empresa","search-results":"Resultados de la búsqueda","search-results.count":"Resultado de la búsqueda","sign-in.email-not-confirmed.body":"Busca en tu bandeja de entrada el correo electrónico de confirmación que te hemos enviado y sigue los pasos para poder iniciar sesión con éxito. <a>Haz clic aquí</a> para reenviar.","sign-in.email-not-confirmed.title":"Correo electrónico no confirmado","sign-in.email-sent":"Hemos enviado las instrucciones a tu correo electrónico","sign-in.error":"Ocurrió un Error.","sign-in.forgot-password":"¿Has olvidado tu contraseña?","sign-in.reset-password.content":"Te enviaremos un enlace por correo electrónico con instrucciones sobre cómo restablecer tu contraseña.","sign-in.reset-password.submit":"Restablecer contraseña","sign-in.reset-password.title":"Restablecer contraseña","sign-in.sign-up-notice":"¿Aún no te has registrado? <a>Registrar</a>","sign-in.submit":"Entrar","sign-in.title":"Acceder al Portal del Desarrollador","sign-up":"Registrar","sign-up.form-description":"Completa los campos con tus datos para acceder al Portal del Desarrollador.","sign-up.form.accept-term":"He leído y acepto las <a>Condiciones de Uso del Desarrollador</a>","sign-up.form.country.BR":"Brasil","sign-up.form.country.CO":"Colombia","sign-up.form.distribution-type.BOTH":"Ambos","sign-up.form.distribution-type.ON_PREMISES":"On-premises","sign-up.form.distribution-type.SAAS":"SAAS","sign-up.form.person-type.PF":"Persona física","sign-up.form.person-type.PJ":"Persona jurídica","sign-up.form.slug-description":"Nombre descriptivo (slug) utilizado para análisis e informes. Campo con minúsculas, no debe contener espacios, dígitos especiales y el límite máximo es de 20 caracteres.","sign-up.form.tech-type.C":"C","sign-up.form.tech-type.C_SHARP":"C#","sign-up.form.tech-type.CPP":"C++","sign-up.form.tech-type.DELPHI":"Delphi","sign-up.form.tech-type.JAVA":"Java","sign-up.form.tech-type.OTHER":"Otros","sign-up.form.tech-type.PHP":"PHP","sign-up.form.tech-type.PYTHON":"Python","sign-up.form.tech-type.RUBY":"Ruby","sign-up.sign-in-notice":"¿Ya tienes una cuenta? <a>Entrar</a>","sign-up.submit":"Registrar","success.build-test-order":"Solicitud enviada con éxito","success.copied":"¡Copiado!","success.create-contact":"¡Hecho! Tu correo electrónico ha sido registrado con éxito","success.create-developer":"¡Hecho! Comprueba el correo electrónico que te hemos enviado para activar tu cuenta.","success.delete-app":"Aplicación desactivada","success.delete-app-merchants":"Tienda eliminada con éxito","success.include-app-merchants":"Tienda añadida con éxito","success.register-app":"La aplicación ha sido registrada.","success.update-account":"Detalles de la cuenta actualizados con éxito","success.update-app-details":"Tus cambios se han guardado.","success.update-app-merchants":"Solicitud de permiso enviada con éxito","success.update-developer":"Se han actualizado los datos del perfil","success.update-email":"Correo electrónico actualizado con éxito","super-integrators.banner.all.title":"Super <b>Integradoras</b>","super-integrators.banner.ALMOST_THERE.title":"Quase lá! Complete mais alguns objetivos para se <b>tornar</b> uma Super Integradora!","super-integrators.banner.basic.goals":"{current} de {goals} <b>requisitos</b>","super-integrators.banner.CAN_EVOLVE.title":"Complete os objetivos para se <b>tornar</b> uma Super Integradora!","super-integrators.banner.goals":"{current} de {goals} <b>objetivos</b>","super-integrators.banner.IN_BASIC_CRITERIA.title":"Falta pouco para você se tornar <b>elegível</b> ao programa.","super-integrators.banner.lp.description":"Conheça o programa de Super Integradoras e seus benefícios!","super-integrators.banner.PENDING_SUPER.title":"<b>Em breve</b>, a sua integradora estará entre as melhores do iFood.","super-integrators.banner.super.title":"Sua integradora é <b>Super</b>","super-integrators.banner.SUPER.title":"Parabéns! Sua integradora está entre as melhores do iFood.","super-integrators.benefits.description":"Ao se tornar uma Super Integradora, você terá acesso a  uma série de benefícios exclusivos:","super-integrators.benefits.new.slider1.item1.title":"Ingressos para o iFood Move - Ganhe um ingresso para um dia de evento e aproveite para se atualizar com as maiores tendências do mercado","super-integrators.benefits.new.slider1.item2.title":"Criação de até 10 lojas testes via Developer Portal - Tenha mais opções para fazer seus testes","super-integrators.benefits.new.slider1.title":"Tenha mais visibilidade e oportunidade","super-integrators.benefits.new.slider2.item1.title":"Passagem e transporte no Fórum de Integradoras ","super-integrators.benefits.new.slider2.item2.title":"Oportunidade de receber vouchers do iFood para utilizar com sua equipe ou conforme preferência","super-integrators.benefits.new.slider2.title":"Mais engajamento","super-integrators.benefits.slider1.item1.description":"Mostre aos seus clientes que sua integradora está entre as melhores do iFood.","super-integrators.benefits.slider1.item1.title":"Selo exclusivo ”Integradora recomendada pelo iFood”","super-integrators.benefits.slider1.item2.description":"Seja recomendado no Portal do Parceiro e amplie suas  oportunidades de negócio.","super-integrators.benefits.slider1.item2.title":"Divulgação no Portal do Parceiro","super-integrators.benefits.slider1.item3.description":"Amplie sua visibilidade no mercado participando de eventos para restaurantes e integradoras.","super-integrators.benefits.slider1.item3.title":"Convites para eventos do iFood","super-integrators.benefits.slider1.title":"Destaque-se no mercado","super-integrators.benefits.slider2.item1.description":"Tenha acesso a um canal exclusivo com o time de relacionamento iFood.","super-integrators.benefits.slider2.item1.title":"Canal de comunicação exclusivo via slack","super-integrators.benefits.slider2.item2.description":"Tenha preferência no atendimento dos seus chamados.","super-integrators.benefits.slider2.item2.title":"SLA de primeira resposta reduzido","super-integrators.benefits.slider2.item3.description":"Faça vídeo chamadas agendadas para tirar dúvidas e/ou resolver problemas.","super-integrators.benefits.slider2.item3.title":"Suporte por vídeo chamada","super-integrators.benefits.slider2.title":"Receba um suporte personalizado","super-integrators.benefits.slider3.item1.description":"Receba relatórios periódicos do desempenho da sua integradora.","super-integrators.benefits.slider3.item1.title":"Acesso a relatórios de desempenho","super-integrators.benefits.slider3.item2.description":"Tenha acesso antecipado a novas funcionalidades e seja um dos primeiros a disponibilizar para seus clientes.","super-integrators.benefits.slider3.item2.title":"Prioridade como beta testers","super-integrators.benefits.slider3.item3.description":"Publique seu case de sucesso iFood no Blog do Desenvolvedor e dê visibilidade ao seu produto.","super-integrators.benefits.slider3.item3.title":"Publicação de case no blog do desenvolvedor","super-integrators.benefits.slider3.title":"Aumente suas oportunidades de negócio","super-integrators.benefits.slider4.item1.description":"Monitorea la salud de tu webhook en tiempo real en tu propio espacio de trabajo.","super-integrators.benefits.slider4.item1.title":"Notificaciones automáticas cuando haya problemas críticos.","super-integrators.benefits.slider4.item2.title":"Actúa rápido. Evita penalizaciones. Protege tu sello.","super-integrators.benefits.slider4.title":"Alertas de Webhook vía Slack","super-integrators.benefits.title":"Benefícios de ser uma Super Integradora","super-integrators.goals.ACHIEVED":"Alcançou","super-integrators.goals.description":"Cumpra os objetivos abaixo para se tornar elegível ao programa.","super-integrators.goals.ERROR_RATE.title":"Tasa de errores de API","super-integrators.goals.list":"Acessar lista","super-integrators.goals.not.ACHIEVED":"Ainda não alcançou","super-integrators.goals.report":"Acessar relatório","super-integrators.goals.super.description":"Cumpra os objetivos abaixo para se tornar uma Super Integradora","super-integrators.goals.super.title":"Objetivos para serem cumpridos","super-integrators.goals.super.update":"Última atualização: {lastUpdate}","super-integrators.goals.title":"Objetivos para cumprir","super-integrators.goals.update":"Última atualização: {lastUpdate}","super-integrators.how-it-works.description":"Entenda tudo sobre o programa e garanta um selo exclusivo para a sua integradora.","super-integrators.how-it-works.tab1.title":"O programa","super-integrators.how-it-works.tab2.title":"Elegibilidade","super-integrators.how-it-works.tab3.title":"Avaliação","super-integrators.how-it-works.tab4.title":"Ciclos e classificações","super-integrators.how-it-works.tab5.title":"Termos e condições","super-integrators.how-it-works.title":"Como funciona o programa?","super-integrators.indicators.ADVANCED_FUNCTIONALITIES.description":"Realize a integração de pelo menos","super-integrators.indicators.ADVANCED_FUNCTIONALITIES.description2":" 2 funcionalidades avançadas.","super-integrators.indicators.ADVANCED_FUNCTIONALITIES.title":"Funcionalidades avançadas","super-integrators.indicators.BASIC_FUNCTIONALITIES.description":"Realize a integração de pelo menos","super-integrators.indicators.BASIC_FUNCTIONALITIES.description2":" 14 funcionalidades básicas.","super-integrators.indicators.BASIC_FUNCTIONALITIES.title":"Funcionalidades básicas","super-integrators.indicators.description":"Após cumprir os requisitos de elegibilidade, sua integradora passará por uma avaliação com base nos 4 principais indicadores de experiência:","super-integrators.indicators.HOMOLOGATED_APP.title":"Número de lojas ativas","super-integrators.indicators.ORDER_CANCELATION_RATE.description":"Mantenha sua taxa de cancelamentos","super-integrators.indicators.ORDER_CANCELATION_RATE.description901":" abaixo de 0.10%.","super-integrators.indicators.ORDER_CANCELATION_RATE.description902":" abaixo de 0.40%.","super-integrators.indicators.ORDER_CANCELATION_RATE.title_901":"Taxa de cancelamento 901","super-integrators.indicators.ORDER_CANCELATION_RATE.title_902":"Taxa de cancelamento 902","super-integrators.indicators.title":"Me tornei elegível, e agora?","super-integrators.month.0":"Janeiro","super-integrators.month.1":"Fevereiro","super-integrators.month.10":"Novembro","super-integrators.month.11":"Dezembro","super-integrators.month.2":"Março","super-integrators.month.3":"Abril","super-integrators.month.4":"Maio","super-integrators.month.5":"Junho","super-integrators.month.6":"Julho","super-integrators.month.7":"Agosto","super-integrators.month.8":"Setembro","super-integrators.month.9":"Outubro","super-integrators.next.description":"Confira quando ocorrerá a próxima avaliação","super-integrators.next.title":"Próxima avaliação","super-integrators.performance-report.account":"Relatório de Performance {name}","super-integrators.performance-report.all":"Pedidos","super-integrators.performance-report.cancelled":"Cancelados","super-integrators.performance-report.cancelled.by-code":"Cancelados por código (901 e 902)","super-integrators.performance-report.cancelled.by-code.percent":"% Cancelados por código","super-integrators.performance-report.cancelled.orders_cancelled_901":"Cancelamentos por 901","super-integrators.performance-report.cancelled.orders_cancelled_901.percent":"Cancelamentos por 901 (%)","super-integrators.performance-report.cancelled.orders_cancelled_902":"Cancelamentos por 902","super-integrators.performance-report.cancelled.orders_cancelled_902.percent":"Cancelamentos por 902 (%)","super-integrators.performance-report.concluded":"Concluídos","super-integrators.performance-report.date":"Atualizado em {date}","super-integrators.performance-report.export-action":"Exportar Relatório","super-integrators.performance-report.export-error":"Falha ao exportar o relatório, tente novamente mais tarde.","super-integrators.performance-report.file-name":"Relatório de Desempenho {date}","super-integrators.performance-report.gmv":"Total de GMV","super-integrators.performance-report.gmv.orders-cancelled":"GMV dos pedidos cancelados","super-integrators.performance-report.gmv.orders-concluded":"GMV dos pedidos concluídos","super-integrators.performance-report.merchants":"Merchants por modelo de negócio","super-integrators.performance-report.orders_not_confirmed":"Pedidos não confirmados no PDV","super-integrators.performance-report.orders-cancelled":"Total de pedidos cancelados","super-integrators.performance-report.orders-concluded":"Total de pedidos concluídos","super-integrators.performance-report.orders-quantity":"Quantidade de pedidos","super-integrators.performance-report.reference":"Data de referência: {reference}","super-integrators.performance-report.ticket":"Ticket Médio","super-integrators.performance-report.title":"Relatório de Desempenho","super-integrators.performance-report.total":"Total de pedidos","super-integrators.program-goals.ACTIVE_STORES.ACHIEVED.footer":"Parabéns! <b>Você alcançou {targetValue} lojas</b> confirmando pedidos pelo iFood.","super-integrators.program-goals.ACTIVE_STORES.ACHIEVED.label":"{currentValue} lojas","super-integrators.program-goals.ACTIVE_STORES.PENDING.footer":"Tenha <b>{targetValue} lojas</b> confirmando pedidos pelo iFood nos últimos 6 meses.","super-integrators.program-goals.ACTIVE_STORES.PENDING.label":"{currentValue} lojas","super-integrators.program-goals.ACTIVE_STORES.title":"Quantidade de lojas ativas","super-integrators.program-goals.CONCLUDED_ORDERS.ACHIEVED.footer":"Parabéns! <b>Você alcançou 48 mil pedidos concluídos</b> no iFood.","super-integrators.program-goals.CONCLUDED_ORDERS.ACHIEVED.label":"{currentValue} pedidos","super-integrators.program-goals.CONCLUDED_ORDERS.PENDING.footer":"Tenha <b>48 mil pedidos concluídos</b> no iFood nos últimos 6 meses.","super-integrators.program-goals.CONCLUDED_ORDERS.PENDING.label":"{currentValue} pedidos","super-integrators.program-goals.CONCLUDED_ORDERS.title":"Quantidade de pedidos","super-integrators.program-goals.ERROR_RATE.ACHIEVED.footer":"Parabéns! <b>Você alcançou uma baixa taxa</b> de erros das APIs em todos os endpoints integrados.","super-integrators.program-goals.ERROR_RATE.ACHIEVED.label":"Baixa","super-integrators.program-goals.ERROR_RATE.PENDING.footer":"Tenha uma <b>baixa taxa de erros</b> das APIs em todos os endpoints integrados.","super-integrators.program-goals.ERROR_RATE.PENDING.label":"Alta","super-integrators.program-goals.ERROR_RATE.title":"Taxa de erro das APIs","super-integrators.program-goals.HOMOLOGATED_APP.ACHIEVED.footer":"Parabéns! <b>Você alcançou 6 meses</b> de aplicativo homologado.","super-integrators.program-goals.HOMOLOGATED_APP.ACHIEVED.label":"6 meses","super-integrators.program-goals.HOMOLOGATED_APP.PENDING.footer":"Tenha pelo <b>menos 6 meses</b> de aplicativo homologado.","super-integrators.program-goals.HOMOLOGATED_APP.PENDING.label":"6 meses","super-integrators.program-goals.HOMOLOGATED_APP.title":"Aplicativo homologado","super-integrators.program-goals.MANDATORY_FUNCTIONALITIES.ACHIEVED.footer":"Parabéns! <b>Você alcançou 2 funcionalidades</b> obrigatórias.","super-integrators.program-goals.MANDATORY_FUNCTIONALITIES.ACHIEVED.label":"2 funcionalidades","super-integrators.program-goals.MANDATORY_FUNCTIONALITIES.PENDING.footer":"Tenha <b>2 funcionalidades</b> integradas.","super-integrators.program-goals.MANDATORY_FUNCTIONALITIES.PENDING.label":"{currentValue} funcionalidade","super-integrators.program-goals.MANDATORY_FUNCTIONALITIES.title":"Funcionalidades obrigatórias","super-integrators.report.ADVANCED_FUNCTIONALITIES.description":"Quantidade de funcionalidades avançadas disponibilizadas pelo iFood que a sua integradora realizou a integração.","super-integrators.report.BASIC_FUNCTIONALITIES.description":"Quantidade de funcionalidades básicas disponibilizadas pelo iFood que a sua integradora realizou a integração.","super-integrators.report.description":"Aqui você visualiza os relatórios do ciclo vigente","super-integrators.report.docs":"Acessar documentação","super-integrators.report.empty.description":"Nenhuma api com taxa de erro alta","super-integrators.report.empty.title":"Nenhuma api com taxa de erro alta","super-integrators.report.error.description":"Falha ao buscar as informações, tente novamente mais tarde","super-integrators.report.error.title":"Falha na busca do relatório","super-integrators.report.history":"Histórico de integrações","super-integrators.report.integrated":"Integradas","super-integrators.report.pending":"Pendentes","super-integrators.report.total":"Total de funcionalidades integradas","super-integrators.requirements.app.description":"Tenha 1 aplicativo homologado pelo iFood há pelos menos <b>6 meses</b>.","super-integrators.requirements.app.title":"Aplicativo homologado","super-integrators.requirements.description":"Tenha os pré-requisitos abaixo para se tornar elegível ao programa","super-integrators.requirements.error-rate.description":"Tenha uma baixa <b>taxa de erros</b> nos endpoints integrados.","super-integrators.requirements.error-rate.title":"Taxa de erro nas APIs","super-integrators.requirements.infractions":"Tipos de Infrações","super-integrators.requirements.mandatory.description":"Tenha <b>2 funcionalidades</b> integradas","super-integrators.requirements.mandatory.title":"Funcionalidades obrigatórias","super-integrators.requirements.orders.description":"Tenha feito pelo menos <b>48 mil pedidos concluídos</b>","super-integrators.requirements.orders.title":"Quantidade de pedidos","super-integrators.requirements.store.description":"Tenha pelo menos <b>65 lojas</b> com pedidos concluídos","super-integrators.requirements.store.title":"Quantidade de lojas ativas","super-integrators.requirements.title":"Requisitos para o programa","super-integrators.rewards.description":"Aproveite os seus benefícios exclusivos como Super Integradora!","super-integrators.rewards.item1.label":"Baixar selo","super-integrators.rewards.item1.title":"Selo Exclusivo","super-integrators.rewards.item2.label":"Baixar relatório","super-integrators.rewards.item2.title":"Relatório de desempenho","super-integrators.rewards.item3.label":"Solicitar acesso","super-integrators.rewards.item3.title":"Canal de comunicação via slack","super-integrators.rewards.item4.label":"Agendar suporte","super-integrators.rewards.item4.title":"Suporte por vídeo chamada","super-integrators.rewards.item5.label":"Acessar portal","super-integrators.rewards.item5.title":"Divulgação no Portal do Parceiro","super-integrators.rewards.item6.label":"Solicitar publicação","super-integrators.rewards.item6.title":"Publicação de case no blog iFood","super-integrators.rewards.title":"Recompensas","super-integrators.status.blocks.ALMOST_THERE.description":"Seu desempenho está incrível e já <b>é quase Super!</b>","super-integrators.status.blocks.ALMOST_THERE.title":"Quase lá!","super-integrators.status.blocks.CAN_EVOLVE.description":"Seu desempenho <b>ainda pode evoluir.</b>","super-integrators.status.blocks.CAN_EVOLVE.title":"Pode evoluir","super-integrators.status.blocks.PENDING_SUPER.description":"Falta pouco! Depois da avaliação, sua integradora pode ficar entre <b>as melhores do iFood</b>.","super-integrators.status.blocks.SUPER.description":"Parabéns! Sua integradora está entre <b>as melhores do iFood.</b>","super-integrators.status.blocks.SUPER.title":"Incrível","super-integrators.status.description":"Veja o desempenho no ciclo atual","super-integrators.status.information":"A avaliação ocorre a cada 6 meses, no dia 1 de cada mês e considera os resultados de <b>{value}</b>","super-integrators.status.months.label":"{firstMonth} até {lastMonth}.","super-integrators.status.multiple.diff":"{days} dias","super-integrators.status.next":"Em <b>{value}</b>","super-integrators.status.single.diff":"1 dia","super-integrators.status.title":"Status de desempenho","super-integrators.super-goals.ADVANCED_FUNCTIONALITIES.ACHIEVED.footer":"Parabéns! Você realizou a integração de <b>{targetValue} funcionalidades avançadas.</b>","super-integrators.super-goals.ADVANCED_FUNCTIONALITIES.description":"Integração de funcionalidades iFood","super-integrators.super-goals.ADVANCED_FUNCTIONALITIES.PENDING.footer":"Realize a integração de pelo menos <b>{targetValue} funcionalidades avançadas.</b>","super-integrators.super-goals.ADVANCED_FUNCTIONALITIES.title":"Funcionalidades avançadas","super-integrators.super-goals.BASIC_FUNCTIONALITIES.ACHIEVED.footer":"Parabéns! Você realizou a integração de <b>{targetValue} funcionalidades básicas.</b>","super-integrators.super-goals.BASIC_FUNCTIONALITIES.description":"Integração de funcionalidades iFood","super-integrators.super-goals.BASIC_FUNCTIONALITIES.PENDING.footer":"Realize a integração de pelo menos <b>{targetValue} funcionalidades básicas.</b>","super-integrators.super-goals.BASIC_FUNCTIONALITIES.title":"Funcionalidades básicas","super-integrators.super-goals.ORDER_CANCELLATION_RATE_901.ACHIEVED.footer":"Parabéns! Mantenha sua taxa de cancelamentos <b>abaixo de {targetValue}.</b>","super-integrators.super-goals.ORDER_CANCELLATION_RATE_901.description":"Cancelamentos por falha na integração","super-integrators.super-goals.ORDER_CANCELLATION_RATE_901.PENDING.footer":"Mantenha sua taxa de cancelamentos 901 <b>abaixo de {targetValue}.</b>","super-integrators.super-goals.ORDER_CANCELLATION_RATE_901.title":"Taxa de cancelamentos 901","super-integrators.super-goals.ORDER_CANCELLATION_RATE_902.ACHIEVED.footer":"Parabéns! Mantenha sua taxa de cancelamentos <b>abaixo de {targetValue}.</b>","super-integrators.super-goals.ORDER_CANCELLATION_RATE_902.description":"Cancelamentos por falha na integração","super-integrators.super-goals.ORDER_CANCELLATION_RATE_902.PENDING.footer":"Mantenha sua taxa de cancelamentos 902 <b>abaixo de {targetValue}.</b>","super-integrators.super-goals.ORDER_CANCELLATION_RATE_902.title":"Taxa de cancelamentos 902","super-integrators.tabs.criteria.part1":"<b>Quais são os critérios de avaliação para minha Integradora?</b>","super-integrators.tabs.criteria.part2":"- <b>Taxa de cancelamentos 901 abaixo de 0,10%:</b> consideramos quando o pedido não foi enviado para a loja.","super-integrators.tabs.criteria.part3":"- <b>Taxa de cancelamentos 902 abaixo de 0,40%:</b> consideramos quando o pedido não foi confirmado pela loja.","super-integrators.tabs.criteria.part4":"- <b>Integração de, pelo menos, 14 funcionalidades básicas:</b> avaliamos a quantidade de funcionalidades básicas oferecidas pelo iFood que foram efetivamente integradas, com pelo menos 10 requisições bem sucedidas.","super-integrators.tabs.criteria.part5":"- <b>Integração de, pelo menos, 2 funcionalidades avançadas:</b> também levamos em conta a quantidade de funcionalidades avançadas disponibilizadas pelo iFood que foram integradas, com pelo menos 10 requisições bem sucedidas.","super-integrators.tabs.criteria.part6":"Para ser considerada uma Super Integradora, é necessário atingir e manter todos os critérios de avaliação até o final do ciclo de avaliação.","super-integrators.tabs.terms.part1":"O iFood se reserva o direito de modificar as regras do programa sem a necessidade de aviso prévio. Ao se cadastrar no Portal do Desenvolvedor, você automaticamente concorda com esta política.","super-integrators.tabs.terms.part2":"Para se manter informado sobre possíveis mudanças, aconselhamos que você consulte os termos e condições do programa regularmente. Os termos e condições estão disponíveis <b>aqui</b>.","super-integrators.tag.LOSE_SUPER.description":"A próxima avaliação será no dia <b>{withDay} e ainda faltam {count}</b> objetivos para serem completados. Acompanhe o seu desempenho abaixo.","super-integrators.tag.LOSE_SUPER.description.single":"A próxima avaliação será no dia <b>{withDay} e ainda falta 1</b> objetivo para ser completado. Acompanhe o seu desempenho abaixo.","super-integrators.tag.LOSE_SUPER.title":"Você pode perder o selo em {monthOnly}.","super-integrators.tag.PENDING.description":"O selo é entregue quando todos os objetivos são concluídos e mantidos no período de 6 meses. Você já concluiu os objetivos, agora é só manter os indicadores até a data da próxima avaliação, em <b>{withDay}.</b>","super-integrators.tag.PENDING.title":"Você está prestes a alcançar o selo de Super!","super-integrators.tag.SUPER.description":"Agora que você é Super, basta manter seu bom desempenho até a avaliação do dia <b>{withDay}</b> para continuar com o selo.","super-integrators.tag.SUPER.title":"Manter o selo de Super é fácil!","support-request.buttons.back":"Volver","support-request.buttons.next":"Siguiente","support-request.buttons.submit-request":"Enviar solicitud","support-request.fields.attachments-part-1":"Evidencia técnica","support-request.fields.attachments-part-2":"(opcional)","support-request.fields.description":"Descripción","support-request.fields.incidents-fields":"Campos para Incidentes","support-request.fields.integration-segment":"Segmento de integración","support-request.fields.questions-fields":"Campos para Preguntas","support-request.fields.request-type":"Tipo de solicitud","support-request.fields.requests-fields":"Campos para Solicitudes","support-request.fields.subject":"Asunto","support-request.fields.test-merchant-id":"ID de la tienda de pruebas","support-request.header.new-support-request":"Nueva solicitud de soporte","support-request.homologation.development-status":"Estado del desarrollo","support-request.homologation.development-status-placeholder":"Seleccione una opción","support-request.homologation.modules-title":"Módulos para homologación","support-request.homologation.terms-agreement":"He leído y acepto los criterios de homologación de los módulos seleccionados.","support-request.integration-phase-title":"¿En qué fase de integración te encuentras?","support-request.integration-phase.developing.description":"Estoy en el proceso de desarrollar mi integración","support-request.integration-phase.developing.title":"Desarrollo","support-request.integration-phase.production.description":"Soy un usuario activo y tengo clientes usando la API en producción","support-request.integration-phase.production.title":"Producción","support-request.integration-phase.tests.description":"Ya he desarrollado mi integración, pero estoy en la fase de homologación","support-request.integration-phase.tests.title":"Homologación","support-request.placeholders.description.homologation":"Describa su aplicación y otra información relevante para la aprobación...","support-request.placeholders.description.improvements":"Describa su sugerencia de mejora...","support-request.placeholders.description.question":"Proporcione detalles sobre su duda o problema...","support-request.placeholders.select-integration-segment":"Selecciona un segmento de integración","support-request.placeholders.select-option":"Selecciona una opción","support-request.placeholders.subject":"Resumen de su solicitud","support-request.suggestion-improvements.theme-label":"Tema de la sugerencia","support-request.suggestion-improvements.theme-placeholder":"Elige un tema que describa tu sugerencia","support-request.upload.description":"Agregue hasta 5 archivos que documenten su proceso.","support-request.upload.error.rejected-files":"Uno o más archivos exceden el tamaño máximo permitido.","support.close.feedback.button.back":"Volver","support.close.feedback.button.close":"Cerrar ticket","support.close.feedback.description-part-1":"Esta acción no se puede deshacer y deberá abrir un","support.close.feedback.description-part-2":"nuevo ticket si necesita soporte nuevamente.","support.close.feedback.title":"¿Desea cerrar el ticket #{ticketId}?","support.closed.feedback.description-part-1":"Para crear un nuevo ticket, accede al formulario","support.closed.feedback.description-part-2":"en la página de soporte.","support.closed.feedback.title":"Ticket cancelado con éxito.","support.dialog-form.login-access.alert.description-dev-only":"Este formulario atiende únicamente a desarrolladores con integración a la API de iFood (Merchant API).","support.dialog-form.login-access.alert.description-partner":"Si eres socio (restaurante, mercado, farmacia, tienda de mascotas, etc.) o necesitas ayuda con el Portal del Socio, utiliza el soporte oficial:","support.dialog-form.login-access.alert.support-link-url":"http://portal.ifood.com.br/ajuda","support.dialog-form.login-access.alert.title":"Canal exclusivo para desarrolladores","support.dialog-form.login-access.alert.warning-non-dev":"Las solicitudes de no desarrolladores no serán atendidas por este canal.","support.dialog-form.login-access.button":"Iniciar sesión","support.dialog-form.login-access.description":"Algunas funcionalidades de soporte están disponibles solo para el área logada.","support.dialog-form.login-access.developer-confirmation":"Confirmo que soy desarrollador y tengo integración con la API de iFood","support.dialog-form.login-access.EMAIL_CONFIRMATION_NOT_RECEIVED":"No recibí el correo de confirmación después de registrarme","support.dialog-form.login-access.email-label":"Correo electrónico","support.dialog-form.login-access.email-placeholder":"seu.email@empresa.com","support.dialog-form.login-access.email-support-text":"Correo electrónico registrado en el Portal del Desarrollador","support.dialog-form.login-access.NO_EMAIL_AUTH":"No recibí el código de autenticação por e-mail para autenticação de dois fatores (2FA)","support.dialog-form.login-access.NO_RESET_EMAIL":"No recibí el correo para restablecer mi contraseña","support.dialog-form.login-access.OTHER_PROBLEM":"Otros","support.dialog-form.login-access.other-problem-description":"Por favor, proporcione detalles sobre su problema","support.dialog-form.login-access.other-problem-description-label":"Descripción del problema","support.dialog-form.login-access.phone":"Ingrese el número de teléfono","support.dialog-form.login-access.phone-description":"+55 (99) 99999-9999","support.dialog-form.login-access.phone-label":"Ingrese el número de teléfono","support.dialog-form.login-access.phone-number-label":"Número de celular","support.dialog-form.login-access.problem-access.description":"Para preguntas relacionadas con problemas de acceso o la plataforma, por favor complete el formulario:","support.dialog-form.login-access.problem-access.title":"Problemas de acceso?","support.dialog-form.login-access.problem-type-label":"¿Qué error estás enfrentando?","support.dialog-form.login-access.rate-limit.description":"Ya hemos recibido una solicitud reciente suya. Espere aproximadamente 30 minutos antes de enviar nuevamente.","support.dialog-form.login-access.rate-limit.title":"Solicitud ya enviada","support.dialog-form.login-access.RESET_MFA":"No consigo configurar el aplicativo de autenticación (Authy, Google Authenticator, etc.)","support.dialog-form.login-access.SMS_ERROR":"No recibo el código SMS para realizar el registro","support.dialog-form.login-access.title":"Inicia sesión para acceder a la funcionalidad completa del área de soporte","support.error.feedback.button.close":"Cerrar","support.error.feedback.button.try-again":"Intentar nuevamente","support.error.feedback.description-part-1":"Algo salió mal y no fue posible completar el envío de su","support.error.feedback.description-part-2":"solicitud. Intente enviar nuevamente o abra un nuevo ticket.","support.error.feedback.title":"Tuvimos un error procesando su solicitud","support.request.success":"Solicitação enviada com sucesso!","support.success.feedback.button.conclude":"Concluir","support.success.feedback.description-part-1":"Pronto nuestro equipo se pondrá en contacto para ayudarle.","support.success.feedback.description-part-2":"Siga el progreso de su ticket","support.success.feedback.title":"¡Solicitud enviada con éxito!","tag.FOOD":"FOOD","tag.GROCERY":"GROCERY","teammates.accept-invite.accept":"Aceptar invitación","teammates.accept-invite.body":"Ha sido invitado para unirse a la cuenta: <b>{softwareHouseName}</b>","teammates.accept-invite.reject":"Rechazar invitación","teammates.accept-invite.reject-error":"No se pudo rechazar la invitación, inténtalo de nuevo más tarde","teammates.accept-invite.reject-success":"Invitación rechazada","teammates.accept-invite.title":"Invitación","teammates.cancel.invite":"Cancelar invitación","teammates.cancel.invite.dialog.description":"Cuando se cancela una invitación, el usuario no podrá unirse a la cuenta hasta que se envíe otra invitación.","teammates.cancel.invite.dialog.error":"Error al cancelar la invitación. Vuelva a intentarlo más tarde.","teammates.cancel.invite.dialog.success":"¡Invitación cancelada con éxito!","teammates.change-to-admin.description":"¿Realmente desea cambiar este usuario a poseedor?","teammates.change-to-admin.error":"Error al cambiar de usuario. Vuelva a intentarlo más tarde.","teammates.change-to-admin.success":"¡Usuario cambiado con éxito!","teammates.change-to-admin.title":"Cambiar a Poseedor","teammates.change-to-user.description":"¿Realmente desea cambiar este usuario a miembro?","teammates.change-to-user.error":"Error al cambiar de usuario. Vuelva a intentarlo más tarde.","teammates.change-to-user.success":"¡Usuario cambiado con éxito!","teammates.change-to-user.title":"Cambiar a miembro","teammates.confirm-accept.body":"Al aceptar la invitación, tendrá acceso a los datos (aplicaciones, tiendas de prueba) de la nueva cuenta y perderá el acceso a las aplicaciones y la tienda de prueba que tiene actualmente.","teammates.confirm-accept.error":"No se pudo aceptar la invitación, inténtalo de nuevo más tarde","teammates.confirm-accept.success":"¡Invitación aceptada!","teammates.confirm-accept.title":"Aviso","teammates.confirm-activate.description":"Cuando reactives a un usuario previamente desactivado, volverá a tener acceso a esa cuenta.","teammates.confirm-activate.error":"Error al reactivar usuario. Vuelva a intentarlo más tarde.","teammates.confirm-activate.success":"¡Usuario activado con éxito!","teammates.confirm-activate.title":"Activar usuario","teammates.confirm-deactivate.description":"Cuando desactivas a un usuario, perderá el acceso a esta cuenta hasta que lo vuelvas a activar.","teammates.confirm-deactivate.error":"Error al desactivar usuario. Vuelva a intentarlo más tarde.","teammates.confirm-deactivate.success":"¡Usuario desactivado con éxito!","teammates.confirm-deactivate.title":"Desactivar usuario","teammates.filter":"Buscar por nombre o correo electrónico","teammates.invalid-account.body":"No es posible cambiar su cuenta porque tiene una aplicación con comerciantes vinculados. Para poder unirte a otra cuenta, primero debes eliminar estas aplicaciones.","teammates.invalid-account.title":"¡Ups!","teammates.invite":"Invitar usuario","teammates.invite-error.description":"Hubo un problema al cargar los detalles de su invitación.","teammates.invite-error.retry":"Intentar nuevamente","teammates.invite.dialog.button":"Invitar","teammates.invite.dialog.description":"Ingrese el correo electrónico del usuario que desea invitar","teammates.invite.dialog.error":"Error al enviar la invitación. Vuelva a intentarlo más tarde.","teammates.invite.dialog.placeholder":"Ingrese correo electrónico","teammates.invite.dialog.success":"¡Invitación enviada con éxito!","teammates.invite.resend.error":"Error al reenviar la invitación. Vuelva a intentarlo más tarde.","teammates.invite.resend.error.ACCOUNT_ALREADY_REGISTERED_IN_PARTNER_PORTAL":"Ya existe una cuenta con este correo registrado en el portal del socio. Para continuar con el registro, utilice un correo electrónico diferente.","teammates.invite.resend.success":"Invitación enviada a {email}","teammates.listing-table.current-user":"Usuario actual","teammates.member-role.OWNER":"Poseedor","teammates.member-role.USER":"Miembro","teammates.member-status.ACCEPTED":"Ativo","teammates.member-status.CANCELLED":"Cancelado","teammates.member-status.DISABLED":"Desactivado","teammates.member-status.EXPIRED":"Venció","teammates.member-status.PENDING":"Invitación Pendiente","teammates.member-status.REJECTED":"Rechazado","teammates.resend":"Reenviar invitacíon","teammates.table-header.member":"Usuario","teammates.table-header.role":"Perfil","teammates.table-header.status":"Status","tests":"Pruebas","tests.alert.title":"Orden de prueba","tests.build-order-modal.DELIVERY":"Entrega","tests.build-order-modal.field-label":"Tipo de pedido","tests.build-order-modal.SCHEDULED":"Entrega programada","tests.build-order-modal.title":"Hacer un pedido de prueba","tests.build-order-modal.TO_GO":"Para Recoger","tests.message":"<a>Revisa cómo generar una orden de prueba.</a>","tests.new-order.button":"Generar orden de prueba","tests.new-order.email":"Email de prueba:","tests.new-order.error":"Error al intentar crear orden de prueba. Inténtalo de nuevo.","tests.new-order.id":"Solicitar ID:","tests.new-order.merchant":"Tienda:","tests.new-order.success":"Solicitud generada con éxito","tests.new-order.title":"Seleccionar tienda de prueba","tests.order-test":"<a>Obtenga más información sobre las categorías de pedidos</a>","tests.order-workflow":"Obtenga más información sobre cómo generar pedidos manualmente","tests.order-workflow.description":"La generación automática de pedidos de prueba para la categoría GROCERY está temporalmente deshabilitada. Para probar pedidos GROCERY, utilice la generación manual a través de la aplicación iFood.","tests.restaurant-info.link":"Configuración de la tienda","tests.restaurant-info.merchant-id":"ID de la Tienda","tests.restaurant-info.merchant-uuid":"UUID de la Tienda","tests.restaurant-info.no-test-merchant":"Tienda de prueba no registrada","tests.restaurant-info.store-type":"Tipo de tienda","tests.restaurant-info.title":"Tienda de prueba","tests.user-info.alert":"La cuenta no ha sido creada, por favor registra un nuevo correo electrónico.","tests.user-info.change-email":"Registrar el correo electrónico","tests.user-info.description":"Registra un correo electrónico para que puedas probar tu aplicación. El correo electrónico no puede ser el mismo que lo que utilizas en la aplicación iFood.","tests.user-info.new-email-field":"Introduce el nuevo correo electrónico","tests.user-info.no-test-user":"Usuario de prueba no registrado","tests.user-info.title":"Usuario de prueba","tickets.status.CREATED.title":"Creado","tickets.status.CLOSED.title":"Cerrados","tickets.status.IN_PROGRESS.title":"En revisión","tickets.status.RESOLVED.title":"Resuelto","tickets.status.CHAT_PENDING.title":"Esperando respuesta","tickets.status.ALL_REQUESTS.title":"Todas las solicitudes","tickets.details.button.close":"Cerrar ticket","tickets.details.chat.unavailable.description":"Tuvimos un problema al crear tu ticket. Por favor, créalo nuevamente.","tickets.details.chat.unavailable.title":"Chat no disponible","tickets.details.info.requester":"Solicitante","tickets.details.info.segment":"Segmento","tickets.details.info.stage":"Estado de la aplicación","tickets.details.section.attachments":"Archivos adjuntos","tickets.details.section.description":"Descripción","tickets.details.section.history":"Historial","tickets.empty-list.description.part1":"Tu lista de tickets aparecerá aquí cuando tengas una","tickets.empty-list.description.part2":"solicitud en curso.","tickets.empty-list.no-requests":"No hay solicitudes abiertas","tickets.empty-list.open-new-request":"Abrir nueva solicitud","tickets.error.description":"No se pudieron cargar los detalles del ticket. Inténtalo de nuevo.","tickets.error.title":"Error al cargar el ticket","tickets.filters.date.placeholder":"Fecha de creación","tickets.filters.label":"Filtrar por: ","tickets.filters.label.end":"Fin","tickets.filters.label.start":"Comienzo","tickets.filters.requestType.placeholder":"Tipo de solicitud","tickets.filters.search.placeholder":"Buscar por palabra clave","tickets.history.status.closed.description":"por el equipo de soporte.","tickets.history.status.closed.label":"Ticket cerrado","tickets.history.status.created.description":"por el equipo de soporte.","tickets.history.status.created.label":"Ticket en análisis","tickets.history.status.inProgress.description":"con el equipo de soporte.","tickets.history.status.inProgress.label":"Ticket en progreso","tickets.page.header.description":"El soporte aquí es exclusivo para empresas que desarrollan aplicaciones para iFood.","tickets.page.header.open-new-request":"Abrir solicitud","tickets.page.header.title":"Contacta a nuestro equipo de soporte","tickets.page.info.card.description":"Esta lista solo contiene tickets abiertos después de 01 de diciembre de 2025","tickets.page.info.card.title":"Periodo de visualización","tickets.status.OPEN.title":"Abiertos","tickets.status.waiting_reply":"Aguardando respuesta","tickets.table.header.date":"Fecha","tickets.table.header.status":"Estado de la solicitud","tickets.table.header.subject":"Asunto","tickets.table.header.ticket_number":"Nº de ticket","tickets.table.header.type":"Tipo de solicitud","ui.post-card.read-article":"Leer el artículo","v2.404.button":"Ir a la página de inicio","v2.404.description":"Verifica si escribiste algo incorrecto. Tal vez la dirección ya no esté disponible en la web.","v2.404.title":"Ups, esta página no existe","v2.button.loading":"Cargando...","v2.carousel.next":"Siguiente","v2.carousel.previous":"Anterior","v2.categories.button":"Acceder a guías","v2.categories.CATALOG.title":"Catálogo","v2.categories.description":"Presentamos las guías que simplifican la integración de tus aplicaciones a nuestros servicios por categoría","v2.categories.FARMACIA.description":"Aprende ahora mismo cómo integrar con nuestras APIs para crear soluciones innovadoras para los socios de farmacias.","v2.categories.FARMACIA.title":"Farmacia","v2.categories.FINANCIAL.title":"Financiero","v2.categories.FOOD.description":"Aprende ahora mismo cómo integrar con nuestras APIs para crear soluciones innovadoras para los socios de restaurantes.","v2.categories.FOOD.title":"Restaurante","v2.categories.GROCERIES.description":"Aprende ahora mismo cómo integrar con nuestras APIs para crear soluciones innovadoras para los socios de mercados.","v2.categories.GROCERIES.title":"Mercado","v2.categories.LOGISTIC.title":"Logística","v2.categories.PDV.title":"PDV","v2.categories.PETSHOP.description":"Aprende ahora mismo cómo integrar con nuestras APIs para crear soluciones innovadoras para los socios de tiendas de mascotas.","v2.categories.PETSHOP.title":"Tienda de mascotas","v2.categories.REVIEW.title":"Reseña","v2.categories.section.title":"Descubre las categorías de aplicación que puedes desarrollar:","v2.categories.SHOPPING.description":"Aprende ahora mismo cómo integrar con nuestras APIs para crear soluciones innovadoras para los socios de centros comerciales.","v2.categories.SHOPPING.title":"Centro comercial","v2.categories.title":"Explora nuestras categorías de integraciones","v2.changelog.description":"Revisa nuestras últimas actualizaciones:","v2.changelog.future":"Cambios planeados","v2.changelog.item1.button":"Acceder al área de soporte","v2.changelog.item1.title":"¿Surgió alguna duda? ¡Nuestro soporte te ayuda!","v2.changelog.item2.button":"Acceder a documentaciones","v2.changelog.item2.title":"Consulta nuestras documentaciones para iniciar tu integración","v2.changelog.last.button":"Acceder al registro de cambios","v2.changelog.last.title":"Nuestras últimas actualizaciones","v2.changelog.recents":"Cambios recientes","v2.changelog.see-all":"Ver contenido","v2.changelog.sidebar.modules":"Actualización por módulo","v2.changelog.sidebar.policy":"Política de cambios","v2.changelog.sidebar.title":"Visión general","v2.changelog.title":"Registro de cambios","v2.content-guide.title":"En esta página","v2.empty-state.description":"Ninguna actualización para {module}","v2.empty-state.title":"Ningún resultado encontrado","v2.footer.changelog":"Registro de cambios","v2.footer.contact":"Contáctanos","v2.footer.docs":"Documentaciones","v2.footer.faq":"Preguntas frecuentes","v2.footer.guides":"Guías de documentación","v2.footer.legal":"CNPJ 14.380.200/0001-21 - Avenida dos Autonomistas, nº 1496, Vila Yara, Osasco/SP CEP 06.020-902","v2.footer.medium":"Artículos en Medium","v2.footer.more":"Accede también","v2.footer.privacy":"Declaración de privacidad","v2.footer.references":"Referencia de API","v2.footer.terms-of-use":"Condiciones de uso del Programa para desarrolladores","v2.header.apis":"APIs","v2.header.docs":"Documentaciones","v2.header.items.docs":"Guía de documentación","v2.header.items.references":"Referencia de API","v2.header.sign-in":"Inicia sesión","v2.header.sign-up":"Regístrate","v2.header.sub-item.docs":"Acceder a documentaciones generales","v2.header.sub-item.guides":"Guía de documentaciones","v2.header.sub-item.references":"Referencia de API","v2.header.sub-item.solutions":"Comienza a utilizar nuestras soluciones","v2.header.sub-item.tools":"Otros recursos","v2.header.super":"Super integradoras","v2.header.support":"Soporte","v2.header.terms-of-use":"Termos de uso","v2.header.title":"iFood Marketplace","v2.header.widget":"Widget","v2.landing-page.faq.button":"Acceder a preguntas frecuentes","v2.landing-page.faq.description":"¡No te preocupes, estamos aquí para ayudarte!","v2.landing-page.faq.title":"¿Te quedó alguna duda?","v2.landing-page.hero.description":"Desarrolla aplicaciones con APIs que cubren todo el recorrido de negocios","v2.landing-page.hero.documentation":"Acceder a documentación","v2.landing-page.hero.partners":"Socios de diversas integradoras","v2.landing-page.hero.reference":"Acceder a referencia de API","v2.landing-page.hero.title.part1":"Conoce ahora nuestro","v2.landing-page.hero.title.part2":"universo de integraciones","v2.landing-page.newsletter.button":"Recibir novedades de las APIs","v2.landing-page.newsletter.description":"Recibe todas las novedades de las APIs de iFood","v2.landing-page.newsletter.title":"No te pierdas ninguna novedad","v2.landing-page.super.button":"Quiero ser una Super Integradora","v2.landing-page.super.description":"Conviértete en un socio estratégico e impulsa tu negocio con el programa de Super Integradoras.","v2.landing-page.super.item1.description":"Gana un sello exclusivo de 'Integradora aprobada por iFood'.","v2.landing-page.super.item1.title":"Sello exclusivo","v2.landing-page.super.item2.description":"Sé recomendado en el portal del socio y amplía tus oportunidades de negocio.","v2.landing-page.super.item2.title":"Divulgación en el Portal","v2.landing-page.super.item3.description":"Forma parte de un canal exclusivo para relación con las demás integradoras iFood.","v2.landing-page.super.item3.title":"Soporte personalizado","v2.landing-page.super.title":"Conoce los beneficios de nuestro programa de Super Integradoras","v2.modules-tabs.title":"Explora nuestras integraciones","v2.modules.ALL.title":"Ver todas las integraciones","v2.modules.AUTHENTICATION.description":"Lorem Ipsum es simplemente texto de relleno de la industria de la imprenta y la composición tipográfica. Lorem Ipsum ha sido el estándar de la industria","v2.modules.AUTHENTICATION.title":"Autenticación","v2.modules.AUTHENTICATION.title.resume":"Autenticación","v2.modules.CATALOG.description":"Gestiona menús y productos, incluyendo categorías, artículos, precios, disponibilidad y descripciones","v2.modules.CATALOG.title":"Catálogo","v2.modules.CATALOG.title.resume":"Gestión de menús","v2.modules.CONCILIATOR.description":"Acompaña y gestiona información financiera de los establecimientos, incluyendo ventas, transferencias, comisiones, movimientos financieros y conciliación de pagos de la plataforma iFood","v2.modules.CONCILIATOR.title":"Financiero","v2.modules.CONCILIATOR.title.resume":"Gestión financiera","v2.modules.EVENTS.description":"Recibe eventos de pedidos en tiempo real vía polling o webhook para acompañar cambios de estado","v2.modules.EVENTS.title":"Eventos","v2.modules.EVENTS.title.resume":"Gestión y entrega de eventos de pedidos","v2.modules.FINANCIAL.description":"Acompaña y gestiona información financiera de los establecimientos, incluyendo ventas, transferencias, comisiones, movimientos financieros y conciliación de pagos de la plataforma iFood","v2.modules.FINANCIAL.title":"Financiero","v2.modules.FINANCIAL.title.resume":"Gestión financiera","v2.modules.GROCERIES.description":"Lorem Ipsum es simplemente texto de relleno de la industria de la imprenta y la composición tipográfica. Lorem Ipsum ha sido el estándar de la industria","v2.modules.GROCERIES.title":"Supermercado","v2.modules.GROCERIES.title.resume":"Supermercado","v2.modules.ITEM.description":"Gestiona productos en iFood Marketplace, Shop y White Label. Actualiza precios, inventario, agrega nuevos productos, inactivaciones y configura promociones simples como De X Por Y y Mayorista","v2.modules.ITEM.title":"Artículo","v2.modules.ITEM.title.resume":"Gestión de productos","v2.modules.LOGISTICS.description":"Gestiona operaciones logísticas de entrega, asigna repartidores, rastrea estado de entregas y optimiza la distribución de pedidos","v2.modules.LOGISTICS.title":"Logística","v2.modules.LOGISTICS.title.resume":"Gestión operacional de entregas","v2.modules.MAQUINONA.description":"Procesa pagos vía débito, crédito, Pix y voucher con seguimiento en tiempo real. Gestiona transacciones y devoluciones de forma práctica y eficiente","v2.modules.MAQUINONA.title":"Maquinona","v2.modules.MAQUINONA.title.resume":"Maquinona","v2.modules.MERCHANT.description":"Configura datos de la tienda, horarios de funcionamiento, disponibilidad y otras operaciones comerciales esenciales","v2.modules.MERCHANT.title":"Comerciante","v2.modules.MERCHANT.title.resume":"Gestión de tiendas","v2.modules.ORDER.description":"Gestiona pedidos desde la recepción hasta la entrega","v2.modules.ORDER.title":"Pedido","v2.modules.ORDER.title.resume":"Gestión de pedidos","v2.modules.PICKING.description":"El módulo de Picking permite gestionar la separación de pedidos, incluyendo control de estado, edición de artículos y gestión completa del proceso de preparación, siendo una alternativa a la App Separador oficial de iFood","v2.modules.PICKING.title":"Picking","v2.modules.PICKING.title.resume":"Gestión de pedidos","v2.modules.PROMOTION.description":"Configura mecánicas promocionales complejas, como promociones Lleva X Paga Y, descuentos por porcentaje y otras estrategias de marketing para aumentar ventas","v2.modules.PROMOTION.title":"Promoción","v2.modules.PROMOTION.title.resume":"Gestión y creación de promociones","v2.modules.REVIEW.description":"Gestiona evaluaciones de productos y establecimientos, incluyendo moderación de contenido y respuesta a comentarios","v2.modules.REVIEW.title":"Reseña","v2.modules.REVIEW.title.resume":"Gestión de evaluaciones","v2.modules.SHIPPING.description":"Gestiona envío, seguimiento y contratación de servicios de entrega","v2.modules.SHIPPING.title":"Envío","v2.modules.SHIPPING.title.resume":"Envío de pedidos","v2.modules.WIDGET.description":"Personaliza e integra funcionalidades como chat, notificaciones y seguimiento en tu aplicación con interfaz flotante. Configura colores, posiciones y comportamiento vía Portal del Desarrollador","v2.modules.WIDGET.title":"Widget","v2.modules.WIDGET.title.resume":"Widget","v2.more-pages.title":"Mira a continuación:","v2.old-portal.description":"Estás en una nueva versión de la documentación del Portal para desarrolladores de iFood.","v2.old-portal.title":"Nuevo portal para desarrolladores de iFood","v2.old-portal.toggle":"Volver a la versión anterior","v2.pages.APP_HOME.title":"Inicio","v2.pages.APPLICATIONS.title":"Mis aplicaciones","v2.pages.CHANGELOG":"Registro de cambios","v2.pages.EXIT.title":"Cerrar sesión","v2.pages.INTRO":"Introducción","v2.pages.LOGS.title":"Registros de API","v2.pages.PROFILE.title":"Mi perfil","v2.pages.SUPER.title":"Super integradoras","v2.pages.SUPPORT":"Soporte","v2.pages.TEAMMATES.title":"Usuarios de la cuenta","v2.pages.TESTS.title":"Órdenes de prueba","v2.pages.WIDGETS.title":"Widgets","v2.recommended.item1.title":"Guía de documentación","v2.recommended.item2.title":"Referencia de API","v2.review-page.status.no":"No","v2.review-page.status.yes":"Sí","v2.review-page.title":"¿Esta página fue útil?","v2.scroll-progress.title":"Contenido leído","v2.search.all":"Todo ({count})","v2.search.dialog.placeholder":"Busca en la documentación","v2.search.docs":"Documentación ({count})","v2.search.empty-state.description":"Nada encontrado en esta categoría","v2.search.empty-state.title":"Ningún resultado encontrado","v2.search.placeholder":"Buscar en la documentación","v2.search.recommended":"Contenidos recomendados","v2.search.reference":"Referencia de API ({count})","v2.search.segmented.ai":"Preguntar a IA","v2.search.segmented.search":"Buscar","v2.solutions.APP_SEPARADOR.description":"La App Separador es la herramienta nativa de iFood que automatiza la gestión completa de pedidos.","v2.solutions.APP_SEPARADOR.title":"Separador de aplicaciones","v2.solutions.description":"Nosotros proporcionamos soluciones para tu negocio:","v2.solutions.ESCOPOS_DE_INTEGRAÇÃO.description":"Elija los módulos API adecuados para tiendas de comestibles, farmacias y tiendas de mascotas.","v2.solutions.ESCOPOS_DE_INTEGRAÇÃO.title":"Alcances de integración","v2.solutions.MAQUINONA.description":"Procesa pagos vía débito, crédito, Pix y voucher con seguimiento en tiempo real. Gestiona transacciones y devoluciones de forma práctica y eficiente.","v2.solutions.MAQUINONA.title":"Maquinona","v2.solutions.title":"Soluciones para para tu negocio","v2.solutions.WIDGET.description":"Personaliza e integra funcionalidades como chat, notificaciones y seguimiento en tu aplicación con interfaz flotante. Configura colores, posiciones y comportamiento vía Portal del Desarrollador.","v2.solutions.WIDGET.title":"Widget","v2.survey.button":"Evaluar ahora","v2.survey.description":"Evalúa tu experiencia en el nuevo portal de desarrolladores:","validations.cnpj-in-use":"CNPJ ya registrado anteriormente","validations.description-required":"La descripción es obligatoria","validations.development-completion-required":"Es necesario confirmar que el desarrollo ha sido completado","validations.field-required":"Este campo es obligatorio","validations.file-too-large":"Archivo demasiado grande","validations.integration-required":"El segmento de integración es obligatorio","validations.invalid-cnae":"CNAE inválido","validations.invalid-cnae-association":"Este CNPJ no tiene un CNAE válido para el registro","validations.invalid-cnpj":"Escribe un CNPJ válido","validations.invalid-cnpj-registration-state":"Estado de registro inválido","validations.invalid-cpf":"Escribe un CPF válido","validations.invalid-email":"Este no es un correo electrónico válido","validations.invalid-otp-chars":"Caracteres inválidos","validations.invalid-otp-length":"Tamanho do código inválido","validations.invalid-phone":"Número inválido","validations.invalid-slug":"Slug inválido","validations.invalid-slug-length":"Slug debe tener entre 3 y 100 caracteres","validations.max-files":"La cantidad máxima de archivos es 5","validations.negative-value-not-allowed":"El valor no puede ser menor que 0","validations.new-password-cannot-be-equal-to-old":"La nueva contraseña no puede ser la misma que la actual","validations.not-equal-passwords":"Las contraseñas no son idénticas","validations.presenceMaxMerchantBatchSize":"El número de comerciantes debe estar entre 1 y 1000.","validations.requestType-required":"El tipo de solicitud es obligatorio","validations.select-at-least-one-module":"Seleccione al menos un módulo","validations.software-house-integration-phase-required":"La fase de integración es obligatoria","validations.some-files-too-large":"El archivo es demasiado grande","validations.subject-required":"El asunto es obligatorio","validations.suggestion-theme-required":"El tema de la sugerencia es obligatorio","validations.support-request.attachments-max-limit":"Máximo de 5 archivos permitidos","validations.support-request.description-required":"La descripción es obligatoria","validations.support-request.subject-required":"El asunto es obligatorio","validations.support-request.test-merchant-required":"El ID de la tienda de pruebas es obligatorio","validations.terms-agreement-required":"Es necesario aceptar los términos","validations.test-merchant-name-required":"El nombre e ID del merchant de prueba son obligatorios","validations.TEXT_VIOLATION_CODE":"Campo inválido. Término político no permitido","validations.url-required":"Introduce una URL válida. Ej: https://www.aplicacion.com.co","validations.url-required.https":"La URL debe ser https","validations.url-unsecure":"Por razones de seguridad, esta URL no es compatible.","validations.value-greater-than":"El valor no puede ser mayor que {maxValue}","webhook-logs.change-time.absolute":"Alterar intervalo de busca ({start} a {end})","webhook-logs.change-time.relative":"Alterar intervalo de busca ({range})","webhook-logs.column-date":"Fecha","webhook-logs.column-source":"Detalles","webhook-logs.details.title":"Detalles del evento","webhook-logs.download":"Descargar la búsqueda actual ({rows} filas)","webhook-logs.error.invalid-parameters":"Parámetros de búsqueda inválidos. Verifique el estado del Webhook y los filtros.","webhook-logs.error.server-error":"Error al completar su solicitud: Por favor, intente de nuevo más tarde.","webhook-logs.error.timeout":"La búsqueda excedió el límite de tiempo permitido. Por favor, intente buscar con un intervalo menor.","webhook-logs.fetch-next-window":"Los eventos se truncan después de 10.000 entradas; haga clic aquí para recuperar eventos desde la siguiente ventana.","webhook-logs.missing-app-id":"Por favor, preencha o campo Aplicação","webhook-logs.select-columns":"Seleccionar Columnas ({n}/{of})","webhook-logs.subtitle":"Consulte los registros de su aplicación. Los eventos se mantienen hasta por 7 días y las búsquedas pueden devolver hasta 10.000 eventos. Para resultados más rápidos y relevantes, use los filtros para refinar su búsqueda.","webhook-logs.title":"Registros","webhook-logs.truncate-notice":"Nota: Una búsqueda solo arroja un máximo de 10.000, recomendamos elegir la ventana de búsqueda más pequeña posible.","webhook.alert":"El registro y la configuración de webhook solo están disponibles para aplicaciones de tipo centralizado.","webhook.batchQtd":"Número de comerciantes por lote","webhook.batchQtd.tooltip":"Número de comerciantes por solicitud.","webhook.blocked":"Obstruido. Su integración no está autorizada para utilizar el webhook.","webhook.byMerchant":"Gestionar presencia por comerciante","webhook.byMerchant.tooltip":"Por defecto la presencia se comprobará por cliente. Si su integración tiene un control preciso de la presencia por comerciante, habilite esta opción.","webhook.column.deliveredVia":"Delivered Via","webhook.column.deliveryId":"Delivery Id","webhook.column.deliveryStatus":"Delivery Status","webhook.column.error":"Error","webhook.column.eventId":"Event Id","webhook.column.fullCode":"Full Code","webhook.column.merchantId":"Merchant Id","webhook.column.orderId":"Order Id","webhook.column.requestId":"Request Id","webhook.column.sessionId":"Session Id","webhook.column.timestamp":"Timestamp","webhook.error":"Error al probar la conexión.","webhook.error.description":"No se pudieron recuperar datos del webhook. Vuelve a intentarlo más tarde","webhook.error.title":"No se pudieron recuperar datos del webhook","webhook.exception.APP_IN_DEVELOPMENT":"Solo las aplicaciones aprobadas tienen acceso a los registros.","webhook.exception.APP_NOT_ACTIVE":"Solo las aplicaciones activas tienen acceso a los registros.","webhook.exception.APP_NOT_CENTRALIZED":"Solo las aplicaciones centralizadas tienen acceso a los registros.","webhook.exception.APP_WITHOUT_ORDER_SCOPE":"Solo las aplicaciones con el módulo de Pedidos tienen acceso a los registros.","webhook.exception.APP_WITHOUT_ORDER_SCOPE_HOMOLOGATED":"Solo las aplicaciones con el módulo de Pedidos aprobado tienen acceso a los registros.","webhook.exception.title":"Los registros no están disponibles para esta aplicación","webhook.filters.label.applicationId":"App","webhook.filters.label.deliveredVia":" Delivered Via","webhook.filters.label.deliveryId":"Delivery Id","webhook.filters.label.deliveryStatus":"Delivery Status","webhook.filters.label.end":"Fin","webhook.filters.label.fullCode":"Full Code","webhook.filters.label.id":"Event Id","webhook.filters.label.merchantId":"Merchant Id","webhook.filters.label.orderId":"Order Id","webhook.filters.label.requestId":"Request Id","webhook.filters.label.sessionId":"Session Id","webhook.filters.label.start":"Comienzo","webhook.filters.label.timeRange":"Time Range","webhook.filters.time-range.1_HOUR":"Última hora","webhook.filters.time-range.1_YEAR":"Último año","webhook.filters.time-range.15_MINS":"Últimos 15 minutos","webhook.filters.time-range.24_HOURS":"Últimas 24 horas","webhook.filters.time-range.30_DAYS":"Últimos 30 días","webhook.filters.time-range.30_MINS":"Últimos 30 minutos","webhook.filters.time-range.7_DAYS":"Últimos 7 días","webhook.filters.time-range.90_DAYS":"Últimos 90 días","webhook.filters.time-range.CUSTOM":"Personalizado","webhook.info":"Para obtener más información, visita la <a>documentación del webhook</a>","webhook.name":"Webhook","webhook.notifications.title":"Alertas e notificaciones","webhook.orderCategories":"Categoría de pedido","webhook.presence":"Habilitar presencia","webhook.presence.tooltip":"Para que el restaurante esté online en la plataforma, es necesario responder a las solicitudes de ping. Al habilitar esta marca, se enviarán solicitudes de ping periódicas a su punto final.","webhook.settings.title":"Configuraciones","webhook.slack-notification.description":"Habilite notificaciones via Slack para su app","webhook.slack-notification.error":"Error al probar la notificación via Slack. Inténtelo de nuevo más tarde","webhook.slack-notification.success":"Notificación via Slack testada con éxito!","webhook.slack-notification.test":"Testar notificación","webhook.slack-notification.title":"Notificación via Slack","webhook.slack-notification.url":"URL de notificación via Slack","webhook.status":"Estado","webhook.status.blocked":"Obstruido","webhook.status.disabled":"Desactivado","webhook.status.enabled":"Activo","webhook.success":"Exitoso al probar la conexión.","webhook.test":"Conexión de prueba","webhook.test-tooltip":"Simulación de solicitud de KEEPALIVE. Por razones de seguridad, servicios como webhook.site o *.ngrok.io no pueden ser utilizados en el webhook.","webhook.url":"URL de webhook","widgets.created-dialog.description-1":"Copie el código de inserción para habilitar el widget en su aplicación.","widgets.created-dialog.description-2":"Este mismo código de inserción se puede usar para múltiples usuarios simplemente cambiando la identificación del comerciante.","widgets.created-dialog.title":"Configuraciones guardadas con éxito","widgets.details-page.doc-button":"Más información sobre cómo autorizar un widget","widgets.details-tab.edit-error":"No se pudo actualizar el widget: inténtelo de nuevo más tarde.","widgets.details-tab.edit-success":"Widget actualizado con éxito!","widgets.details.tabs.DETAILS.title":"Ajustes","widgets.details.tabs.PERMISSIONS.title":"Permisos","widgets.embedded-code-dialog.body":"Copie el código a continuación e insértelo en el código fuente de su aplicación web, agregando Ids de comerciantes.","widgets.embedded-code-dialog.copy":"Copiar codigo","widgets.embedded-code-dialog.copy-success":"Código copiado con éxito","widgets.embedded-code-dialog.header":"Código de fusión","widgets.empty-state.description":"Crea tu widget con tu identidad visual e incorpóralo a tu aplicación sin tener que pasar horas desarrollando nuevas integraciones para poner nuevas funciones a disposición de tus usuarios","widgets.empty-state.know-more":"Sepa mas","widgets.empty-state.new-widget":"Crear widget","widgets.empty-state.title":"Cree soluciones innovadoras en solo unas pocas líneas de código!","widgets.page.listing-table.widget-id":"ID de widget","widgets.page.listing-table.widget-name":"Nombre del widget","widgets.page.register-widget":"Widget de registro","widgets.page.search-placeholder":"Buscar por nombre de widget o ID","widgets.permissions-empty-state.description":"<a>Consulte la documentación</a> sobre cómo el usuario debe autorizar el widget en el primer acceso.","widgets.permissions-empty-state.title":"El widget aún no ha sido autorizado por ningún usuario","widgets.permissions-tab.listing-table.merchant-cnpj":"CNPJ","widgets.permissions-tab.listing-table.merchant-id":"ID del comerciante","widgets.permissions-tab.listing-table.merchant-name":"Nombre del comerciante","widgets.permissions-tab.search-placeholder":"Buscar por nombre de comerciante o ID","widgets.register.error":"No se pudo crear el widget: inténtelo de nuevo más tarde","widgets.register.error.TEXT_VIOLATION_CODE":"No se pudo crear el widget: campos llenos de términos no permitidos.","widgets.register.success":"Widget creado con éxito!","widgets.widget-form.color":"Color","widgets.widget-form.color.placeholder":"#3E3E3E","widgets.widget-form.customization-description":"Personalizar el estilo del widget.","widgets.widget-form.customization-title":"Personalización","widgets.widget-form.description":"Descripción del widget","widgets.widget-form.description.placeholder":"Introduzca una breve descripción","widgets.widget-form.functionalities-description":"Elija las funciones que se habilitarán en el widget.","widgets.widget-form.functionalities-title":"Funcionalidades","widgets.widget-form.margin.placeholder":"Ejemplo: 20","widgets.widget-form.marginX":"Margin X (horizontal)","widgets.widget-form.marginY":"Margin Y (vertical)","widgets.widget-form.modules":"Funcionalidades","widgets.widget-form.modules.CHAT.description":"Habla con tus clientes","widgets.widget-form.modules.CHAT.label":"Chat","widgets.widget-form.modules.KDS.description":"Kitchen Display System","widgets.widget-form.modules.KDS.label":"KDS","widgets.widget-form.modules.NOTIFICATIONS.description":"Recibe notificaciones en tiempo real de lo que sucede con tu tienda en la plataforma","widgets.widget-form.modules.NOTIFICATIONS.label":"Notificaciones","widgets.widget-form.modules.SETTINGS.description":"Cambiar la configuración de los widgets instalados","widgets.widget-form.modules.SETTINGS.label":"Ajustes","widgets.widget-form.modules.TRACKING.description":"Ver el estado de los pedidos en tiempo real","widgets.widget-form.modules.TRACKING.label":"Rastreo de orden","widgets.widget-form.modules.UNAVAILABILITIES.description":"Crear y eliminar un descanso temporal de las tiendas","widgets.widget-form.modules.UNAVAILABILITIES.label":"Tienda de pausa","widgets.widget-form.name":"Nombre del widget","widgets.widget-form.name.placeholder":"Ingresa un nombre","widgets.widget-form.placement":"Posición del botón","widgets.widget-form.placement.BOTTOM_LEFT.label":"Izquierda","widgets.widget-form.placement.BOTTOM_RIGHT.label":"Derecha","widgets.widget-form.placement.placeholder":"Seleccione una opción","widgets.widget-form.slug":"Slug","widgets.widget-form.slug.placeholder":"widget-nome-amigavel","widgets.widget-form.slug.tooltip":"Nombre descriptivo (slug) utilizado para análisis e informes. Campo con minúsculas, no debe contener espacios, dígitos especiales y el límite máximo es de 20 caracteres.","widgets.widget-form.view-embedded-code":"Ver código de inserción","widgets.widget-form.widget-preview-description":"Vea cómo se verá la configuración del widget en su pantalla!","widgets.widget-form.widget-preview-title":"Preview"},"routed":true,"originalPath":"/docs/guides/modules/authentication/distributed","redirect":true,"defaultLanguage":"pt-BR"}}},
    "staticQueryHashes": ["1090893247","141439865","371262153"]}