> ## Documentation Index
> Fetch the complete documentation index at: https://br.developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get sample CRM card detail response

> Retorna um exemplo de resposta de detalhes do cartão. Esta é a carga útil com detalhes exibidos para um cartão que será mostrado a um usuário. Um aplicativo deve enviar isso em resposta à solicitação de busca de dados.

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produtos suportados",
    description: "Requer um dos seguintes produtos ou superior.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Grátis",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<Accordion title="Supported products" defaultOpen="true" icon="cubes">
  <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
</Accordion>


## OpenAPI

````yaml specs/legacy/v3/crm-public-app-crm-cards-v3.json GET /crm/v3/extensions/cards-dev/sample-response
openapi: 3.0.1
info:
  title: Cartões de CRM do aplicativo público
  description: >-
    Allows an app to extend the CRM UI by surfacing custom cards in the sidebar
    of record pages. These cards are defined up-front as part of app
    configuration, then populated by external data fetch requests when the
    record page is accessed by a user.
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-api-use-case: >-
    Adicione um cartão personalizado aos registros de contato para exibir dados
    do seu software externo de rastreamento de bugs.
  x-hubspot-related-documentation:
    - name: Custom Cards Guide
      url: https://developers.hubspot.com/docs/guides/api/crm/extensions/crm-cards
  x-hubspot-introduction: >-
    Crie cartões personalizados para dados de sistemas externos em registros do
    CRM. Requer um aplicativo público. Esses cartões do CRM são diferentes das
    extensões de UI que você pode criar com projetos.
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
paths:
  /crm/v3/extensions/cards-dev/sample-response:
    get:
      tags:
        - Basic
      summary: Obter amostra de resposta de detalhes do cartão
      description: >-
        Retorna um exemplo de resposta de detalhes do cartão. Esta é a carga
        útil com detalhes exibidos para um cartão que será mostrado a um
        usuário. Um aplicativo deve enviar isso em resposta à solicitação de
        busca de dados.
      operationId: get-/crm/v3/extensions/cards-dev/sample-response_getCardsSampleResponse
      parameters: []
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegratorCardPayloadResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
components:
  schemas:
    IntegratorCardPayloadResponse:
      required:
        - totalCount
      type: object
      properties:
        allItemsLinkUrl:
          type: string
          description: >-
            O URL de uma página que o integrador construiu que exibe todos os
            detalhes deste cartão. Este URL será exibido para os usuários em um
            link "Ver mais [x]" se houver mais de cinco itens em sua resposta,
            onde "[x]" é o valor de "temLabel".
        cardLabel:
          type: string
          description: >-
            O rótulo a ser usado para o link "allItemsLinkUrl" (por exemplo,
            "Ver mais tickets"). Se não for fornecido, o título do cartão será
            usado.
        responseVersion:
          type: string
          description: A versão numérica da resposta.
          enum:
            - v1
            - v3
        sections:
          type: array
          description: Uma lista de até cinco subcategorias de cartões válidas.
          items:
            $ref: '#/components/schemas/IntegratorObjectResult'
        topLevelActions:
          $ref: '#/components/schemas/TopLevelActions'
        totalCount:
          type: integer
          description: >-
            O número total de propriedades do cartão que serão enviadas nesta
            resposta.
          format: int32
      description: >-
        The card details payload, sent to HubSpot by an app in response to a
        data fetch request when a user visits a CRM record page.
    IntegratorObjectResult:
      required:
        - actions
        - id
        - title
        - tokens
      type: object
      properties:
        actions:
          type: array
          description: >-
            Uma lista de ações associadas ao cartão, que pode incluir hooks de
            ação, hooks de ação de confirmação ou iframes.
          items:
            oneOf:
              - $ref: '#/components/schemas/ActionHookActionBody'
              - $ref: '#/components/schemas/IFrameActionBody'
        id:
          type: string
          description: O identificador exclusivo do cartão.
        linkUrl:
          type: string
          description: Um URL usado no título do cartão
        title:
          type: string
          description: >-
            O título de nível superior para este cartão. Exibido para os
            usuários na UI do CRM.
        tokens:
          type: array
          description: >-
            Um conjunto de tokens que representam propriedades específicas
            relacionadas ao cartão.
          items:
            $ref: '#/components/schemas/ObjectToken'
    TopLevelActions:
      required:
        - secondary
      type: object
      properties:
        primary:
          description: >-
            Define a ação principal de um cartão, que pode ser um hook de ação
            ou um iframe.
          oneOf:
            - $ref: '#/components/schemas/ActionHookActionBody'
            - $ref: '#/components/schemas/IFrameActionBody'
        secondary:
          type: array
          description: >-
            Especifica uma lista de ações secundárias para um cartão, cada uma
            das quais pode ser um hook de ação ou um iframe.
          items:
            oneOf:
              - $ref: '#/components/schemas/ActionHookActionBody'
              - $ref: '#/components/schemas/IFrameActionBody'
        settings:
          $ref: '#/components/schemas/IFrameActionBody'
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: A categoria de erro
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto sobre a condição do erro
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Um identificador exclusivo para a solicitação. Inclua este valor em
            relatórios de erro ou tickets de suporte
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: mais informações sobre o erro
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de nomes de links para URIs associados que contêm
            documentação sobre o erro ou as etapas de correção recomendadas
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    ActionHookActionBody:
      title: ACTION_HOOK
      required:
        - httpMethod
        - propertyNamesIncluded
        - type
        - url
      type: object
      properties:
        confirmation:
          $ref: '#/components/schemas/ActionConfirmationBody'
        httpMethod:
          type: string
          description: >-
            O método HTTP a ser usado ao fazer a chamada, que pode ser definido
            como GET, POST, PUT, DELETE ou PATCH. Se usar GET ou DELETE
          enum:
            - CONNECT
            - DELETE
            - GET
            - HEAD
            - OPTIONS
            - PATCH
            - POST
            - PUT
            - TRACE
        label:
          type: string
          description: >-
            O rótulo desta propriedade como você gostaria que fosse exibido aos
            usuários.
        propertyNamesIncluded:
          type: array
          description: >-
            Uma lista de nomes de propriedades que serão incluídas na ação.
            Consulte a documentação para obter mais informações.
          items:
            type: string
        type:
          type: string
          description: O tipo de status.
          default: ACTION_HOOK
          enum:
            - ACTION_HOOK
        url:
          type: string
          description: O endpoint do URL que será chamado quando a ação for acionada.
      x-hubspot-sub-type-impl: true
    IFrameActionBody:
      title: IFRAME
      required:
        - height
        - propertyNamesIncluded
        - type
        - url
        - width
      type: object
      properties:
        height:
          type: integer
          description: A altura do iframe em pixels.
          format: int32
        label:
          type: string
          description: >-
            O rótulo desta propriedade como você gostaria que fosse exibido aos
            usuários.
        propertyNamesIncluded:
          type: array
          description: >-
            Uma lista de nomes de propriedades que serão incluídos no URL do
            iframe.
          items:
            type: string
        type:
          type: string
          description: O tipo de status.
          default: IFRAME
          enum:
            - IFRAME
        url:
          type: string
          description: O endpoint do URL que será carregado no iframe quando acionado.
        width:
          type: integer
          description: A largura do iframe em pixels.
          format: int32
      x-hubspot-sub-type-impl: true
    ObjectToken:
      required:
        - value
      type: object
      properties:
        dataType:
          type: string
          description: O tipo de dados representado por esta propriedade.
          enum:
            - BOOLEAN
            - CURRENCY
            - DATE
            - DATETIME
            - EMAIL
            - LINK
            - NUMERIC
            - STATUS
            - STRING
        label:
          type: string
          description: >-
            O rótulo desta propriedade como você gostaria que fosse exibido aos
            usuários.
        name:
          type: string
          description: >-
            Um identificador interno para esta propriedade. Este valor deve ser
            TODO exclusivo.
        value:
          type: string
          description: O valor da propriedade
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: O código de status associado ao detalhe do erro
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto sobre a condição do erro
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: O nome do campo ou parâmetro no qual o erro foi encontrado.
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro
    ActionConfirmationBody:
      required:
        - cancelButtonLabel
        - confirmButtonLabel
        - prompt
      type: object
      properties:
        cancelButtonLabel:
          type: string
          description: O rótulo do botão que cancela a ação.
        confirmButtonLabel:
          type: string
          description: O rótulo do botão que confirma a ação.
        prompt:
          type: string
          description: A mensagem exibida ao usuário para confirmar a ação.
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'

````