Leitura de entidades do Kustomer
Pré-requisito
Um objeto do Kustomer do qual você deseja ler. Você precisará do nome do objeto, como Marcas ou Cartões. A tabela a seguir mostra as entidades compatíveis.
Entidades compatíveis quanto à origem:
| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar * | Oferece suporte a particionamento |
|---|---|---|---|---|---|
| Marcas | Não | Sim | Não | Sim | Não |
| Cartões | Não | Sim | Não | Sim | Não |
| Configurações de chat | Não | Não | Não | Sim | Não |
| Empresas | Sim | Sim | Sim | Sim | Sim |
| Conversas | Sim | Sim | Sim | Sim | Sim |
| Clientes | Sim | Sim | Sim | Sim | Sim |
| Pesquisas de clientes fixadas | Não | Sim | Não | Sim | Não |
| Posição das pesquisas de clientes | Não | Não | Não | Sim | Não |
| Hooks de e-mail | Não | Sim | Não | Sim | Não |
| Webhooks | Não | Sim | Não | Sim | Não |
| Artigos da base de conhecimento | Não | Sim | Não | Sim | Não |
| Categorias da base de conhecimento | Não | Sim | Não | Sim | Não |
| Formulários da base de conhecimento | Não | Sim | Não | Sim | Não |
| Rotas da base de conhecimento | Não | Sim | Não | Sim | Não |
| Tags da base de conhecimento | Não | Sim | Não | Sim | Não |
| Modelos da base de conhecimento | Não | Sim | Não | Sim | Não |
| Temas da base de conhecimento | Não | Sim | Não | Sim | Não |
| Klasses | Não | Sim | Não | Sim | Não |
| KViews | Não | Sim | Não | Sim | Não |
| Mensagens | Sim | Sim | Sim | Sim | Sim |
| Observações | Sim | Sim | Sim | Sim | Sim |
| Notificações | Não | Sim | Não | Sim | Não |
Exemplo:
Kustomer_read = glueContext.create_dynamic_frame.from_options( connection_type="kustomer", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "brands", "API_VERSION": "v1" }
Detalhes das entidades e dos campos do Kustomer
Para obter mais informações sobre os detalhes das entidades e dos campos, consulte:
API do Kustomer v1
| Entidade | Campo | Tipo de dados | Operadores compatíveis |
|---|---|---|---|
| Marcas | id | String | N/D |
| nome | String | N/D | |
| iconUrl | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| padrão | Booleano | N/D | |
| Cartões | id | String | N/D |
| nome | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| description | String | N/D | |
| url | String | N/D | |
| contexts | Lista | N/D | |
| Configurações de chat | id | String | N/D |
| settingsVersion | Inteiro | N/D | |
| widgetType | String | N/D | |
| version | Inteiro | N/D | |
| teamName | String | N/D | |
| greeting | String | N/D | |
| autoreply | String | N/D | |
| embedIconUrl | String | N/D | |
| embedIconColor | String | N/D | |
| fallbackEmailSubject | String | N/D | |
| fallbackEmailIntroduction | String | N/D | |
| enabled | Booleano | N/D | |
| outboundChatEnabled | Booleano | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| offhoursMessage | String | N/D | |
| offhoursImageUrl | String | N/D | |
| closableChat | Booleano | N/D | |
| noHistory | Booleano | N/D | |
| disableAttachments | Booleano | N/D | |
| volumeControl | Struct | N/D | |
| singleSessonChat | Booleano | N/D | |
| showTypingIndicatorWeb | Booleano | N/D | |
| Empresas | id | String | N/D |
| nome | String | =, !=, CONTAINS | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| tags | Lista | N/D | |
| domínios | Lista | N/D | |
| emails | Lista | N/D | |
| phones | Lista | N/D | |
| whatsapps | Lista | N/D | |
| socials | Lista | N/D | |
| urls | Lista | N/D | |
| locais | Lista | N/D | |
| roleGroupVersions | Lista | N/D | |
| rev | Inteiro | N/D | |
| Conversas | id | String | N/D |
| nome | String | =, !=, CONTAINS | |
| preview | String | N/D | |
| canais | Lista | N/D | |
| status | String | =, !=, CONTAINS | |
| messageCount | Inteiro | =, !=, >, >=, <, <= | |
| snoteCount | Inteiro | =, !=, >, >=, <, <= | |
| satisfaction | Inteiro | =, !=, >, >=, <, <= | |
| satisfactionLevel | Struct | N/D | |
| createdAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| updatedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| modifiedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| lastActivityAt | DateTime | N/D | |
| spam | Booleano | N/D | |
| ended | Booleano | =, != | |
| endedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| endedReason | String | CONTAINS | |
| endedByType | String | N/D | |
| importedAt | String | N/D | |
| tags | Lista | N/D | |
| suggestedTags | Lista | N/D | |
| sentimento | String | N/D | |
| predições | Lista | N/D | |
| suggestedShortcuts | Lista | N/D | |
| firstMessageIn | Struct | N/D | |
| firstMessageOut | Struct | N/D | |
| lastMessageIn | Struct | N/D | |
| lastMessageOut | Struct | N/D | |
| lastMessageAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| lastMessageUnrespondedTo | Struct | N/D | |
| lastMessageUnrespondedToSinceLastDone | Struct | N/D | |
| assignedUsers | Lista | N/D | |
| assignedTeams | Lista | N/D | |
| firstResponse | Struct | N/D | |
| firstResponseSinceLastDone | Struct | N/D | |
| lastResponse | Struct | N/D | |
| firstDone | Struct | N/D | |
| lastDone | Struct | N/D | |
| direction | String | =, !=, CONTAINS | |
| lastMessageDirection | String | N/D | |
| outboundMessageCount | Inteiro | N/D | |
| inboundMessageCount | Inteiro | N/D | |
| rev | Inteiro | N/D | |
| priority | Inteiro | =, !=, >, >=, <, <= | |
| roleGroupVersions | Lista | N/D | |
| accessOverride | Lista | N/D | |
| assistente | Struct | N/D | |
| phase | String | N/D | |
| Habilidades | Lista | N/D | |
| matchedTimeBasedRules | Lista | N/D | |
| Clientes | id | String | N/D |
| nome | String | =, !=, CONTAINS | |
| Nome de exibição | String | N/D | |
| displayColor | String | N/D | |
| displayIcon | String | N/D | |
| externalId | String | =, !=, CONTAINS | |
| externalIds | Lista | N/D | |
| sharedExternalIds | Lista | N/D | |
| emails | Lista | N/D | |
| sharedEmails | Lista | N/D | |
| phones | Lista | N/D | |
| sharedPhones | Lista | N/D | |
| whatsapps | Lista | N/D | |
| facebookIds | Lista | N/D | |
| instagramIds | Lista | N/D | |
| socials | Lista | N/D | |
| sharedSocials | Lista | N/D | |
| urls | Lista | N/D | |
| locais | Lista | N/D | |
| activeUsers | Lista | N/D | |
| observadores | Lista | N/D | |
| recentLocation | Struct | N/D | |
| locale | String | =, !=, CONTAINS | |
| timeZone | String | N/D | |
| gender | String | =, !=, CONTAINS | |
| createdAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| updatedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| modifiedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| lastActivityAt | DateTime | N/D | |
| deleted | Booleano | N/D | |
| lastConversation | Struct | N/D | |
| conversationCounts | Struct | N/D | |
| preview | Struct | N/D | |
| tags | Lista | N/D | |
| progressiveStatus | String | =, !=, CONTAINS | |
| verified | Booleano | N/D | |
| rev | Inteiro | N/D | |
| recentItems | Lista | N/D | |
| defaultLang | String | =, !=, CONTAINS | |
| satisfactionLevel | Struct | N/D | |
| roleGroupVersions | Lista | N/D | |
| accessOverride | Lista | N/D | |
| companyName | String | N/D | |
| firstName | String | N/D | |
| lastName | String | N/D | |
| Pesquisas de clientes fixadas | id | String | N/D |
| pesquisar | String | N/D | |
| createdAt | DateTime | N/D | |
| Posições das pesquisas de clientes | id | String | N/D |
| posições | Lista | N/D | |
| children | Lista | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| rev | Inteiro | N/D | |
| Hooks de e-mail | id | String | N/D |
| description | String | N/D | |
| depurar | Booleano | N/D | |
| String | N/D | ||
| eventName | String | N/D | |
| título | String | N/D | |
| hash | String | N/D | |
| key | String | N/D | |
| createdAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| Webhooks | id | String | N/D |
| description | String | N/D | |
| eventName | String | N/D | |
| hash | String | N/D | |
| url | String | N/D | |
| createdAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| título | String | N/D | |
| version | Inteiro | N/D | |
| depurar | Booleano | N/D | |
| Artigos da base de conhecimento | id | String | N/D |
| hash | String | N/D | |
| título | String | N/D | |
| origem | String | N/D | |
| status | String | N/D | |
| scope | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| deleted | Booleano | N/D | |
| deletedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| publishedAt | DateTime | N/D | |
| tags | Lista | N/D | |
| categories | Lista | N/D | |
| knowledgeBases | Lista | N/D | |
| metaTitle | String | N/D | |
| metaDescription | String | N/D | |
| metaKeywords | Lista | N/D | |
| langVersions | Struct | N/D | |
| latestLangs | Struct | N/D | |
| Categorias da base de conhecimento | id | String | N/D |
| hash | String | N/D | |
| createdAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| published | Booleano | N/D | |
| posições | Lista | N/D | |
| categoryPositions | Lista | N/D | |
| raiz | Booleano | N/D | |
| langs | Struct | N/D | |
| Formulários da base de conhecimento | id | String | N/D |
| nome | String | N/D | |
| slug | String | N/D | |
| hash | String | N/D | |
| body | String | N/D | |
| layout | Lista | N/D | |
| layoutV2 | Lista | N/D | |
| componentsV2 | Struct | N/D | |
| condições | Struct | N/D | |
| advanced | Booleano | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| publishedAt | DateTime | N/D | |
| modifiedAt | String | N/D | |
| published | Booleano | N/D | |
| snippets | Lista | N/D | |
| recaptcha | Booleano | N/D | |
| klass | String | N/D | |
| channel | String | N/D | |
| deflection | Booleano | N/D | |
| formHookEnabled | Booleano | N/D | |
| replyFrom | String | N/D | |
| wcag | Booleano | N/D | |
| Rotas da base de conhecimento | id | String | N/D |
| url | String | N/D | |
| routableType | String | N/D | |
| routableId | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| Tags da base de conhecimento | id | String | N/D |
| nome | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| Modelos da base de conhecimento | id | String | N/D |
| título | String | N/D | |
| description | String | N/D | |
| beta | Booleano | N/D | |
| manifesto | Struct | N/D | |
| jsxSnippets | Lista | N/D | |
| imagens | Lista | N/D | |
| version | String | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| Temas da base de conhecimento | id | String | N/D |
| nome | String | N/D | |
| active | Booleano | N/D | |
| padrão | Booleano | N/D | |
| lastfileUpdatedAt | DateTime | N/D | |
| personalizado | Booleano | N/D | |
| status | String | N/D | |
| templateVersionId | String | N/D | |
| templateTitle | String | N/D | |
| templateVersion | String | N/D | |
| manifesto | Struct | N/D | |
| configSnippets | Lista | N/D | |
| jsxSnippets | Lista | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| rev | Inteiro | N/D | |
| Klasses | id | String | N/D |
| nome | String | N/D | |
| icon | String | N/D | |
| color | String | N/D | |
| appDisabled | Booleano | N/D | |
| status | String | N/D | |
| updatedAt | DateTime | N/D | |
| createdAt | DateTime | N/D | |
| s3DataUrl | String | N/D | |
| KViews | id | String | N/D |
| recurso | String | N/D | |
| modelo | String | N/D | |
| context | String | N/D | |
| meta | Struct | N/D | |
| appDisabled | Booleano | N/D | |
| enabled | Booleano | N/D | |
| advanced | Booleano | N/D | |
| layout | Lista | N/D | |
| Componentes | Struct | N/D | |
| condições | Struct | N/D | |
| rev | Inteiro | N/D | |
| createdAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| Notificações | id | String | N/D |
| nome | String | N/D | |
| status | String | N/D | |
| event | Struct | N/D | |
| createdAt | DateTime | N/D | |
| updatedAt | DateTime | N/D | |
| Mensagens | id | String | N/D |
| externalId | String | N/D | |
| channel | String | =, !=, CONTAINS | |
| aplicação | String | N/D | |
| size | Inteiro | =, !=, >, >=, <, <= | |
| direction | String | =, !=, CONTAINS | |
| preview | String | N/D | |
| subject | String | N/D | |
| meta | Struct | N/D | |
| status | String | =, !=, CONTAINS | |
| directionType | String | =, !=, CONTAINS | |
| assignedTeams | Lista | N/D | |
| assignedUsers | Lista | N/D | |
| errorAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| auto | Booleano | =, != | |
| sentAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| createdAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| updatedAt | DateTime | N/D | |
| modifiedAt | DateTime | N/D | |
| redacted | Booleano | N/D | |
| createdByTeams | Lista | N/D | |
| rev | Inteiro | N/D | |
| reações | Lista | N/D | |
| intentDetections | Lista | N/D | |
| Observações | id | String | N/D |
| body | String | CONTAINS | |
| createdAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| updatedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| modifiedAt | DateTime | =, !=, <, <=, >, >=, BETWEEN | |
| createdByTeams | Lista | N/D |
Particionamento de consultas
Particionamento com base em campo
É possível fornecer as opções adicionais do Spark PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND e NUM_PARTITIONS se quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em NUM_PARTITIONS subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
PARTITION_FIELD: o nome do campo a ser usado para particionar a consulta.LOWER_BOUND: um valor limite inferior inclusivo do campo de partição escolhido.Para o campo DateTime, aceitamos o valor no formato ISO.
Exemplo de valor válido:
"2023-01-15T11:18:39.205Z"UPPER_BOUND: um valor limite superior exclusivo do campo de partição escolhido.NUM_PARTITIONS: o número de partições.
Os detalhes do suporte do campo de particionamento relativo às entidades são capturados na seguinte tabela:
| Nome da entidade | Campos de particionamento | Tipo de dados |
|---|---|---|
| Empresas | modifiedAt | DateTime |
| Conversas | createdAt, updatedAt, modifiedAt, endedAt, lastMessageAt | DateTime |
| messageCount, noteCount | BigInteger | |
| priority | Inteiro | |
| Clientes | createdAt, updatedAt, modifiedAt | DateTime |
| Mensagens | errorAt, sentAt, createdAt | DateTime |
| size | BigInteger | |
| Observações | createdAt, updatedAt, modifiedAt | DateTime |
Exemplo:
Kustomer_read = glueContext.create_dynamic_frame.from_options( connection_type="kustomer", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "conversation", "API_VERSION": "v1", "PARTITION_FIELD": "createdAt" "LOWER_BOUND": "2023-01-15T11:18:39.205Z" "UPPER_BOUND": "2023-02-15T11:18:39.205Z" "NUM_PARTITIONS": "2" }