--- tags: yube,docs,api,samples --- # Yube/Kenoby - (Osten Group) Material para criação de integração pela LinkApi Acesse https://ajuda.yube.com.br/desenvolvedores para documentação introdutória e tutoriais sobre a API da Yube. ## Autenticação Todas requisições a serem feitas na API da Yube exige o envio da "Personal Token" seguindo o padrão JWT, enviado a token no header seguindo o formato `authorization: Bearer <Personal Token>`. Token de acesso: ``` "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJoaXZlIiwiZXhwIjo0NzgzNzAyMDA3LCJpYXQiOjE2MzAxMDIwMDcsImlzcyI6ImhpdmUiLCJqdGkiOiJiZDJhMzE1NS1iNmVhLTQxOWMtOWIwMi1hODgzM2FhOTU0YzAiLCJuYmYiOjE2MzAxMDIwMDYsInN1YiI6IlVzZXI6NjkwZWQ2OTUtYjI2Ni00NjQ2LWI2MzQtNTdlNTkwY2Y5ODJhIiwidHlwIjoiYWNjZXNzIn0.lhHICTnzF0-w3XhI2w4YvficR90Apbk8Q_1vzZLA8gFpH81DtSVK7eSZ-Cw845Orsstm5696jD_gzp9_cjATMA" ``` Exemplo: ```shell= curl --request POST \ --url https://api.yube.com.br/ \ --header 'Authorization: Bearer <Personal Token>' \ --header 'Content-Type: application/json' \ --data '{"query":"query Company($companyId: ID!) {\n node(id: $companyId) {\n id\n __typename\n ... on Company {\n nickname\n corporateName\n processesTemplates {\n ...processTemplateFragment\n# documentsTemplates {\n# ...documentTemplateFragment\n# }\n groups {\n __typename\n id\n name\n }\n }\n# groups {\n# __typename\n# id\n# name\n# processesTemplates {\n# ...processTemplateFragment\n# }\n# }\n }\n }\n}\n\nfragment processTemplateFragment on ProcessTemplate {\n __typename\n id\n templateId\n category\n title\n description\n insertedAt\n updatedAt \n}\n\nfragment documentTemplateFragment on DocumentTemplate {\n __typename\n id\n documentName\n isDefault\n filledOnlyByUsers\n templateId\n updatedAt\n}\n","variables":{"companyId":"Q29tcGFuew92OGU4YTc0NC23YTUzLslNTgtODllNy1mZDYzNzQzNjhkZTU="},"operationName":"Company"}' ``` > Mais informações em https://ajuda.yube.com.br/desenvolvedores/autenticacao ## Dados Parametrizados na Yube ### Status | id | nome | | ---| -- | U3RhdHVzOjQ2MmJkYzA0LTc0ZGYtNDI0NS05NmViLWFmOTc4YjU0ZWRjNQ== | Convidado | U3RhdHVzOmM2NjZiMzgzLTM2MjEtNGEwYS05OTA1LTQ2YTk0YmVkYjk3OQ== | Pronto | U3RhdHVzOjAyNDViYTM3LTFkY2YtNGUzYS1iODFkLWNlOWVjNzM5ODYyNg== | Finalizado | U3RhdHVzOjhlYTIxZjAxLWZhMjItNDU5NS1iNGIxLTE5YmNlYjk5NzNmZA== | Em Cadastro | U3RhdHVzOmQyYTU5MjRhLTViOGItNDUzMC05YzE1LWFkZjEzMzYxMjVlNQ== | Arquivado | ### Empresas/Filiais | Empresa | ID | | -------- | -------- | | Jeep Osten | Q29tcGFueTo3NDYwNzE3ZS0zOTJlLTRhYmQtOTFmZi1jNmUwZDQzMzFmMGU=| | Centro Técnico Jeep Osten | Q29tcGFueTo3YmE2NTBlMS0yOWY5LTRjYjMtYTg4NC0wMmY4MTI1OGJhMzU=| | Osten Fleet | Q29tcGFueTphNWY1YjEyNi1iNmEwLTQyODYtYjU4OS1lNTQzY2UwZDM5Mzk=| | BMW Osten Santos | Q29tcGFueTpmNDkyMzQ4Ni04MGJkLTQ3YTUtOTYzNS1lYzA3MjVhMTI0Mzg=| | Osten Seguros | Q29tcGFueTo1YTRhOTA0OC0xMDcwLTRkNDgtYjgxOS0xZTcxZDg2Nzg5ZmI=| | Osten Perdizes | Q29tcGFueTo0M2MyMDk0NS01YmY3LTQ2ZWEtOTMwZC0zMDNkZjBhYzUzMDY=| | BMW Osten Tatuapé | Q29tcGFueTpiZmQ2OWI0ZS0yYjVhLTQ0YjAtOWU1OS0yZTMxYjU0NDUxYjA=| | BMW Osten Anália Franco | Q29tcGFueTo5NjYwN2NiNy0xYWFkLTQxYWEtODFmZS1kZTA4YTk5NTI3ZjQ=| | Osten Mobility | Q29tcGFueToyNDNmYmI2OS04ZmRmLTQ5YjEtYTFjMS01MDM5N2Y3MDhmMmQ=| | CT BMW Osten Barra Funda | Q29tcGFueTozNTgyZGQyMi03OGJlLTQ5NWYtOGM1NC1iMTg4ZGZlYjRhNjk=| | JLR Osten | Q29tcGFueToyYWU1Y2FjOS00YmRiLTQ3OGMtODA0Ny00M2I1NmFjZTc3MjU=| | BMW Osten SJC | Q29tcGFueTo1ZmI1NTUwNy1jNzkxLTQ3ZGEtODFkZC1jZGYxNjBlNTBkM2E=| | Triumph Osten | Q29tcGFueToyODg1MTViYi01Y2ZkLTQ2ZDMtYjkyYS0yZTg2YzVlY2NmZDc=| ### ProcessTemplate e Processo Na Yube, ProcessTemplates são as entidades responsáveis por agrupar a documentação e determinar que tipo de documentação vai ser enviada para preenchimento pelo colaborador e alguns casos também pelo RH. Tipos de ProcessTemplates: - ADMISSION: Lista de documentação relacionadas a admissão do Colaborador. - BENEFITS: Lista de documentação relacinoadas aos benefícios do Colaborador. Os ProcessTemplate's são as informações enviadas a serem enviadas > ATENÇÃO: O `id` da entidade **ProcessTemplate** pode mudar a cada ajuste feito na parametrização do setup do cliente. Sendo assim, a Yube recomenda que a LinkAPI utilize o `templateId` nas configurações do "De/Para", e no momento da criação do **Convite** busque o `id` do **ProcessTemplate** atualizado. #### Processos de **Admissão** > Regra padrão: Pode ser mais de 1, mas normalmente é apenas 1. | Categoria | Título | templateId | id | | -------- | -------- | -------- | -------- | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOmYwMjNhNDBjLWZlYWItNDg0YS05NDZlLWU1YTRjMjQ0ZjlhZA== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjA2NTdiMTNiLTg1NDAtNGUxYy1iMDM2LTI5MDJkNjE3MTI1Mw== | | admission | Admissão Jovem Aprendiz | UHJvY2Vzc1RlbXBsYXRlOjZmOWM5YTllLTI0YzItNDgzZS1hYzdiLTVkODI3NDFhMTJlOQ== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOmVkYTJjNWE4LTJkMjMtNDBiMC04Y2Y1LTA3NDYwZWVjNTliMQ== | | admission | Admissão PJ | UHJvY2Vzc1RlbXBsYXRlOjYyYmNjNDNjLTM2MWUtNDFiYi1hZDc0LWNiZmVkMzI2OTgxNQ== | | admission | Admissão PJ | UHJvY2Vzc1RlbXBsYXRlOjJkM2QwYmRmLTE4NTctNDdiYi05ZmQ4LWQ3ZDZlNDNlZWY2Mw== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjY3NmNlMTMzLWM5ZmQtNGFkZC1iMDE3LTFmODdkNmM4NDE3ZQ== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjRmZWZiNDdjLTM5NTUtNGUwNS1iODFiLWMxODczNTZmYWI2MA== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjRiYmU1NmEwLTEzYTQtNGY0ZC1iNzc1LTVhYzU1ZTc0YzY3NA== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjAzMjg0NWE5LThiMTEtNDk2OC04MGE4LTJlYThlMTMwOTkxMQ== | | admission | Admissão Padrão | UHJvY2Vzc1RlbXBsYXRlOjgwYzMxNmZhLTEwOTktNGRjYi04NWM0LWIxN2Y5Mjc2ZmMyYQ== | | admission | Admissão PJ | UHJvY2Vzc1RlbXBsYXRlOjQ2MjY4MTMwLTI3MjktNDIwZS1iZmRmLWI4MjU5NTcxOGQ2Ng== | | admission | Admissão PJ | UHJvY2Vzc1RlbXBsYXRlOjlmY2E3YzBjLTdkYjctNDdhNS1hYjBkLTc1NzE5ODI1Y2EzNQ== | #### Processos de **Benefícios** > Regra padrão: Pode ser mais de 1 | Categoria | Título | templateId | id | | -------- | -------- | -------- | -------- | | admission | Convênio Médico Amil | UHJvY2Vzc1RlbXBsYXRlOjM2MWI3NDk3LTEwNWEtNGE0Ni04NGJiLTQ3MGEyNGMzZmQyYQ== | | admission | Convênio Médico Amil | UHJvY2Vzc1RlbXBsYXRlOjdmNzczYTAwLTc1NTEtNDQ1MS05ZTYwLWI1NDkzOWY0NzhkZA== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjhhZjE3NzUxLWJjZTMtNDA2Mi1hMDExLTRmNjI0NDVmZmNjZg== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjQzODdhOWIzLTY1MjEtNDZiZi04MGMyLWE0MDJkOGJiOWRkYg== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjE5MWMzZTJjLTRhMTMtNDc1Zi05ZjlkLTJkZjYwMDQwNzU5YQ== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjY5OTI3NWRjLTJmNjAtNDk4NS1iMWEwLWY5YTcyMzg3ZDgwMQ== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOmJkNzA4YjdlLTg0YWMtNDE3Yy04MDFhLTgzMjE1NWUxM2NiMg== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjk5NDBiZjA3LTgwOTUtNGY2ZS05NjBmLWFkYjY4NGNiOWNjYQ== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjdmMjQ4NGU3LTMzMzgtNGQ3Ny1iZDgzLWM1ZWQ5NWZiMGM5YQ== | | admission | Convênio Médico Intermédica - São Paulo e Santos | UHJvY2Vzc1RlbXBsYXRlOjJkYzM1OGJhLWE0MzMtNDE1Ni04ODNkLWU2NGU5NDBhMmJiZg== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjM5ZjQ0ZWYzLTgxNzctNDk1Zi04NzNhLWVjZTE3ODMzOTlmYg== | | admission | Benefícios padrão | UHJvY2Vzc1RlbXBsYXRlOjZhZDk1OWE3LTVhYjAtNDY3NC1hNmZmLTkzNGY5YWIxZDZmNA== | #### Processos de **dependentes** > Regra padrão: Sempre enviar todos | Categoria | Título | templateId | id | | -------- | -------- | -------- | -------- | | dependent | Dependente: Filho entre 6 e 14 anos | UHJvY2Vzc1RlbXBsYXRlOmQyNDdhZTlkLTQ1ZjEtNDY0Ny1hMWZjLTc0ZDdiZGQ4NjcwNA== | | dependent | Dependente: Filho de 0 até 5 anos | UHJvY2Vzc1RlbXBsYXRlOjAxODAxZWFiLWJlMjQtNDliYS04Yzk3LTY1OWRhYWQ3OGVjNw== | | dependent | Cônjuge | UHJvY2Vzc1RlbXBsYXRlOmVlOGVkNmI0LTQyYmYtNGExMS05YmMxLTJiYjViZjcyZGVhOA== | | dependent | Dependente: Filho de 0 até 5 anos | UHJvY2Vzc1RlbXBsYXRlOjI4N2U0OGZkLTAwMjEtNDdkZi04NTNhLTM4ODQ1ZDUxYmMwYw== | | dependent | Dependente: Cônjuge | UHJvY2Vzc1RlbXBsYXRlOmIwOTA5MmE3LTc1ZTUtNGZlMC04NWQ5LTNkNzFiMWM0YTc4NA== | | dependent | Dependente: Filho entre 15 a 24 anos anos | UHJvY2Vzc1RlbXBsYXRlOjQ0OGI4YjZmLTEwZjItNGExMS1hYjg3LWUzN2RiNGVjNmM4OQ== | | dependent | Dependente: Filho entre 15 a 24 anos | UHJvY2Vzc1RlbXBsYXRlOjIyZmJjNzc4LTQ2NzMtNGNhZS1iMjRiLWMyYzZjMGUxZmFhYQ== | | dependent | Dependente: Filho entre 6 e 14 anos anos | UHJvY2Vzc1RlbXBsYXRlOmVjMGY0OTRhLWRmNjgtNDNjNy04YzQ4LTdjMDlkNWI3N2M4ZQ== | ## Criando Convites A criação de **Convites** é o fluxo de inicialização da Admissão dos **Colaboradores** selecionados dentro da plataforma da Yube. ### Dados do Convite Para a criação de 1 ou mais convites é necessário o envio das seguintes informações: | Campo | Tipo do dado | Obrigatório | Descrição | | --- | --- | --- | --- | | companyId | ID! | sim | Id da Empresa que o colaborador fará a admissão. | | dueDate | Date | não | Data limite para envio da documentação. ex: `2021-06-01` | | referenceCode | String | não | Código de referências externa. Recomendação: Id do colaborador na plataforma Kenoby | | invitees | [InputInvited!]! | sim | Lista de colaboradores que a serem admitidos. Veja [Dados do Colaborador](#Dados-do-Colaborador) | | processesTemplates | [ID] | sim | Lista de id dos ProcessTemplate's a serem solicitados ao Colaborador | | statusId | ID! | sim | Status inicial do convite. Usar sempre `<STATUS ID>` | | notificationChannels | [NotificationChannel!] | sim | Sempre utilizar `["EMAIL"]` | > ATENÇÃO 1: Apenas colaboradores que irão receber a mesma lista de `processesTemplates` podem ser enviados juntos na criação do Convite. > ATENÇÃO 2: Não enviar mais que 20 colaboradores por criação de Convite. ### Dados do Colaborador | Campo | Tipo do dado | Obrigatório | Descrição | | --- | --- | --- | --- | | email | String! | sim | Email do colaborador | | mobilePhone | String! | sim | Número de celular | | name | String! | sim | Nome do colaborafor | > Exemplo de request para criação de convite em https://ajuda.yube.com.br/desenvolvedores/criando-convites ### A listagem de ProcessTemplates Para buscar a listagem de `ProcessTemplate`'s disponível para a Empresa utilize a query e variables a seguir: ```graphql= query Company($companyId: ID!) { node(id: $companyId) { id __typename ... on Company { nickname corporateName processesTemplates { ...processTemplateFragment } } } } fragment processTemplateFragment on ProcessTemplate { __typename id templateId category title description insertedAt updatedAt } ``` Variables ```json= { "companyId": "<ID da Empresa>" } ```