handsondigital / lib.php.admin.idplugger
# Introdução Bem-vindo à documentação oficial da API da Plataforma de Promoção IdPlugger exclusiva para administradores da API! Se você está procurando a documentação destinada ao cliente da Plataforma de Promoção IdPlugger [acesse clicando aqui!](/docs/v3/promotion)</a> # Sobre a API Esta API é
Package info
github.com/handsondigital/lib.php.admin.idplugger
pkg:composer/handsondigital/lib.php.admin.idplugger
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
README
Introdução
Bem-vindo à documentação oficial da API da Plataforma de Promoção IdPlugger exclusiva para administradores da API!
Se você está procurando a documentação destinada ao cliente da Plataforma de Promoção IdPlugger acesse clicando aqui!
Sobre a API
Esta API é baseada em REST, proporcionando uma arquitetura flexível e de fácil integração.
Começando
Para começar a explorar e utilizar a API da Plataforma de Promoção IdPlugger, recomendamos que você siga os seguintes passos:
-
Postman: Baixe a collection do postman, instale o postman na sua máquina e importe a collection.
-
Autenticação: Obtenha suas credenciais de autenticação ('username' e 'password') de administrador, para acessar a API.
-
Explorar Endpoints: Navegue pela lista de endpoints disponíveis e suas respectivas funcionalidades.
-
Experimentar: Utilize os exemplos de solicitação fornecidos para testar os endpoints e compreender melhor seu funcionamento.
-
Integrar: Integre a API da Plataforma de Promoção IdPlugger em seus próprios projetos e sistemas para aproveitar ao máximo suas capacidades.
Autenticação
Todos os endpoints requerem token de autenticação válido, que pode ser obtido através de requisição à API enviando as credenciais obtidas.
Este token é do tipo bearer e deve ser enviado no header da requisição no seguinte formato:
| Header | Valor |
|---|---|
| Authorization | bearer {token} |
Substitua {token} pelo token obtido na autenticação.
IMPORTANTE: O bearer token tem um tempo de validade, o ideal é armazenar o bearer token e solicitar um novo token apenas quando o seu token expirar. A validade do token é enviada junto com o token na resposta do endpoint de autenticação.
Configurações de Promoção
Pull Configurations
O primeiro passo para configurar uma promoção na API é puxar a parametrização da promoção criada. Para isto, libere o servidor da API para acesso ao banco de dados da promoção e informe os dados de conexão através da rota Pull Configuration
Steps
Após puxar as configurações na etapa anterior, configure as steps da promoção. Steps são as partes de código que serão executadas para cada promoção. Cada promoção pode ter uma configuração diferente de steps.
- Para consultar quais steps estão disponíveis, utilize este endpoint
- Para ativar steps em uma promoção, utilize este endpoint
- Para desativar steps em uma promoção, utilize este endpoint
- Para consultar quais steps estão ativas, utilize o endpoint de ativação sem passar nenhuma step
Algumas steps são configuradas por padrão ao fazer o pull configuration, para saber quais confira o parâmetro default na resposta do endpoint de consulta de steps. Este endpoint também retorna a descrição do que a step faz e se ela depende que outra esteja ativada ou desativada.
Criar Usuário da API
Para que um cliente possa utilizar a API, é necessário criar um usuário para ele.
Para isto, após fazer o pull configuration e a parametrização de steps, utilize este endpoint para criar um usuário da API. Este endpoint cria o usuário e retorna uma senha para este usuário.
Permissões do usuário da API
Após criar o usuário, é necessário dar as permissões para que ele possa atuar na promoção. Para isso, utilize este endpoint.
Atenção: Selecione bem as permissões, deixando apenas as necessárias.
Teste
Utilize as credenciais do usuário criado para testar se a API está respondendo para a promoção configurada.
Postman Collection
<img src="https://run.pstmn.io/button.svg" alt="Run In " style="width: 128px; height: 32px;">\n\n# Limite de Frequência (Rate Limit)\n\nA resposta da API Idplugger quando o limite de frequência (rate limit) é atingido é um código de status HTTP 429 (Too Many Requests).\n\nDetalhes do retorno:\n\n1. Código de Status HTTP: 429 Too Many Requests.\n2. Corpo da Resposta (Body): Um JSON contendo a mensagem de erro: {\"message\": \"Too Many Requests\"}.\n3. Cabeçalhos HTTP (Headers):\n - X-RateLimit-Limit: O limite total permitido.\n - X-RateLimit-Remaining: Quantidade de requisições restantes.\n - Retry-After: Segundos a esperar antes da próxima tentativa.\n - X-RateLimit-Reset: Timestamp de quando o limite será zerado.
Installation & Usage
Requirements
PHP 8.1 and later.
Composer
To install the bindings via Composer, add the following to composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/handsondigital/lib.php.admin.idplugger.git"
}
],
"require": {
"handsondigital/lib.php.admin.idplugger": "*@dev"
}
}
Then run composer install
Manual Installation
Download the files and include autoload.php:
<?php require_once('/path/to/handsondigital/lib.php.admin.idplugger/vendor/autoload.php');
Getting Started
Please follow the installation procedure and then run the following:
<?php require_once(__DIR__ . '/vendor/autoload.php'); $apiInstance = new IdpluggerPromotionAdmin\Api\ApiLogsApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client() ); $path = 'path_example'; // string | Filter by request path (partial match) $method = 'method_example'; // string | Filter by HTTP method (GET, POST, PUT, DELETE, etc.) $status = 56; // int | Filter by HTTP status code $username = 'username_example'; // string | Filter by API username $from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Filter by start date (YYYY-MM-DD) $to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Filter by end date (YYYY-MM-DD) $page = 1; // int | Page number for pagination $_per_page = 15; // int | Number of items per page try { $result = $apiInstance->adminLogsGet($path, $method, $status, $username, $from, $to, $page, $_per_page); print_r($result); } catch (Exception $e) { echo 'Exception when calling ApiLogsApi->adminLogsGet: ', $e->getMessage(), PHP_EOL; }
API Endpoints
All URIs are relative to https://api.idplugger.com
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ApiLogsApi | adminLogsGet | GET /admin/logs | List API logs |
| ApiLogsApi | adminLogsIdGet | GET /admin/logs/{id} | Get specific API log |
| AuthApi | adminAuthRequestToken | POST /admin/auth/request-token | Solicita envio de token de login por email |
| AuthApi | authLogin | POST /v3/login | Login na API |
| AuthApi | authLoginByToken | POST /admin/auth/login | Login na API via e-mail e token |
| AuthApi | authMe | GET /v3/me | Dados na API |
| AuthApi | authRefreshToken | POST /admin/auth/refresh | Renova o do token de autenticação |
| ConfigsApi | adminPromotionConfigsIndex | GET /v3/admin/promotion/{promotion_id}/configs | Listar configurações de uma promoção |
| ConfigsApi | adminPromotionConfigsShow | GET /v3/admin/promotion/{promotion_id}/configs/{key} | Buscar configuração por chave |
| ConfigsApi | adminPromotionConfigsStore | POST /v3/admin/promotion/{promotion_id}/configs | Criar nova configuração |
| ConfigsApi | adminPromotionConfigsUpdate | PUT /v3/admin/promotion/{promotion_id}/configs/{key} | Atualizar configuração por chave |
| ConfigsApi | adminPromotionConfigsUpsert | POST /v3/admin/promotion/{promotion_id}/configs/upsert | Criar ou atualizar configuração por chave (upsert) |
| ConfigsApi | adminPromotionConfigsValidKeys | GET /v3/admin/promotion/{promotion_id}/configs/valid-keys | Listar chaves válidas do ConfigKeyEnum |
| CustomerServiceApi | adminServiceCustomerApplications | GET /admin/service/customer/applications/{client_id} | Listar aplicações de um cliente no serviço de atendimento ao cliente |
| CustomerServiceApi | adminServiceCustomerBrands | GET /admin/service/customer/brands/{client_id} | Listar marcas de um cliente do serviço de atendimento ao cliente |
| CustomerServiceApi | adminServiceCustomerCampaigns | GET /admin/service/customer/campaigns/{client_id} | Listar campanhas de um cliente no serviço de atendimento ao cliente |
| CustomerServiceApi | adminServiceCustomerClients | GET /admin/service/customer/clients | Listar clientes do serviço de atendimento ao cliente |
| ErrorReportsApi | adminErrorsGet | GET /admin/errors | List error reports |
| ErrorReportsApi | adminErrorsIdDelete | DELETE /admin/errors/{id} | Delete error report |
| ErrorReportsApi | adminErrorsIdGet | GET /admin/errors/{id} | Get specific error report |
| ErrorsApi | adminErrorsDestroy | DELETE /v3/admin/errors/{id} | Deletar relatório de erro |
| ErrorsApi | adminErrorsIndex | GET /v3/admin/errors/ | Listar relatórios de erro |
| ErrorsApi | adminErrorsShow | GET /v3/admin/errors/{id} | Visualizar erro específico |
| LogsApi | adminLogsIndex | GET /v3/admin/logs/ | Listar logs de requisições da API |
| LogsApi | adminLogsShow | GET /v3/admin/logs/{id} | Visualizar log específico |
| MetricsApi | metrics | GET /v3/metrics | Devolve as métricas da promoção |
| PermissionsApi | adminPermissionsByAction | GET /v3/admin/permissions/action | Buscar permissões por ação |
| PermissionsApi | adminPermissionsByCategory | GET /v3/admin/permissions/category | Buscar permissões por categoria |
| PermissionsApi | adminPermissionsCategories | GET /v3/admin/permissions/categories | Listar todas as categorias de permissões |
| PermissionsApi | adminPermissionsGrouped | GET /v3/admin/permissions/grouped | Listar permissões agrupadas por categoria |
| PermissionsApi | adminPermissionsIndex | GET /v3/admin/permissions/ | Listar todas as permissões |
| PermissionsApi | adminPermissionsShow | GET /v3/admin/permissions/{key} | Buscar permissão específica por chave |
| PromotionApi | adminPromotionCacheClear | POST /v3/admin/promotion/{promotion_id}/cache/clear | Renova o cache de uma promoção na API |
| PromotionApi | adminPromotionLuckyNumbersReset | POST /v3/admin/promotion/{promotion_id}/lucky-numbers/reset | Resetar números da sorte de uma promoção |
| PromotionApi | promotionPullConfiguration | POST /v3/admin/pullconfiguration | Adicionar/Atualizar configurações de uma promoção ao orquestrador |
| PromotionApi | promotionSetup | POST /v3/admin/promotion/setup | Setup automatizado de ambiente de promoção |
| PromotionApi | promotionStart | POST /v3/admin/promotion/start | Iniciar uma promoção na API |
| RolesApi | rolesAttachPermissions | POST /v3/admin/roles/{id}/permissions | Atualizar permissões de uma role |
| RolesApi | rolesDestroy | DELETE /v3/admin/roles/{id} | Remover role |
| RolesApi | rolesIndex | GET /v3/admin/roles | Listar roles |
| RolesApi | rolesPermissions | GET /v3/admin/roles/{id}/permissions | Listar permissões de uma role |
| RolesApi | rolesShow | GET /v3/admin/roles/{id} | Exibir detalhes da role |
| RolesApi | rolesStore | POST /v3/admin/roles | Criar role |
| RolesApi | rolesUpdate | PATCH /v3/admin/roles/{id} | Atualizar role |
| StepsApi | stepsAllow | POST /v3/steps/allow | Inclui uma Step em um determinado endpoint |
| StepsApi | stepsIndex | GET /v3/steps | Retorna todas as steps existentes |
| StepsApi | stepsUnallow | POST /v3/steps/disallow | Remove uma Step de um determinado endpoint |
| UserApi | adminUsersList | GET /v3/admin/user | Listar usuários da API |
| UserApi | userGrantPermissions | POST /v3/admin/user/grantpermissions | Dar permissões a um usuário na API |
| UserApi | userRegister | POST /v3/admin/user/register | Registrar usuário na API |
| UserApi | userResetPassword | POST /v3/admin/user/resetpassword | Resetar senha do usuário na API |
| UserApi | userShow | GET /v3/admin/user/{uuid} | Visualizar dados do usuário na API |
| UserApi | userUpdate | PATCH /v3/admin/user/{uuid} | Atualizar nome do usuário na API |
Models
- AdminAuthRequestToken200Response
- AdminAuthRequestTokenRequest
- AdminErrorsDestroy200Response
- AdminErrorsIndex200Response
- AdminErrorsIndex200ResponseContentInner
- AdminErrorsShow200Response
- AdminErrorsShow200ResponseContent
- AdminLogsIndex200Response
- AdminLogsIndex200ResponseContentInner
- AdminLogsShow200Response
- AdminLogsShow200ResponseContent
- AdminPermissionsByAction200Response
- AdminPermissionsByCategory200Response
- AdminPermissionsByCategory200ResponseContentInner
- AdminPermissionsCategories200Response
- AdminPermissionsGrouped200Response
- AdminPermissionsGrouped200ResponsePermissionsValueInner
- AdminPermissionsIndex200Response
- AdminPermissionsIndex200ResponseContentInner
- AdminPermissionsIndex200ResponseContentInnerRolesInner
- AdminPermissionsShow200Response
- AdminPermissionsShow200ResponseContent
- AdminPromotionCacheClear200Response
- AdminPromotionCacheClear200ResponseContent
- AdminPromotionCacheClear500Response
- AdminPromotionConfigsIndex200Response
- AdminPromotionConfigsIndex200ResponseCategoriesInnerValue
- AdminPromotionConfigsIndex200ResponseConfigsValue
- AdminPromotionConfigsIndex200ResponseConfigsValueMetadata
- AdminPromotionConfigsIndex500Response
- AdminPromotionConfigsShow200Response
- AdminPromotionConfigsShow200ResponseConfig
- AdminPromotionConfigsShow404Response
- AdminPromotionConfigsStore201Response
- AdminPromotionConfigsStoreRequest
- AdminPromotionConfigsUpdate200Response
- AdminPromotionConfigsUpdateRequest
- AdminPromotionConfigsUpsert200Response
- AdminPromotionConfigsValidKeys200Response
- AdminPromotionConfigsValidKeys200ResponseValidKeysInner
- AdminPromotionLuckyNumbersReset200Response
- AdminPromotionLuckyNumbersReset500Response
- AdminServiceCustomerApplications200Response
- AdminServiceCustomerApplications200ResponseContentInner
- AdminServiceCustomerApplications200ResponseContentInnerClient
- AdminServiceCustomerApplications200ResponseContentInnerProduct
- AdminServiceCustomerApplications200ResponseContentInnerProductOneOf
- AdminServiceCustomerApplications200ResponseContentInnerProgrammingInner
- AdminServiceCustomerApplications200ResponseContentInnerPromotionsInner
- AdminServiceCustomerApplications200ResponseContentInnerWorkflowSchedulesInner
- AdminServiceCustomerApplications200ResponseContentInnerWorkflowSchedulesInnerWorkflow
- AdminServiceCustomerBrands200Response
- AdminServiceCustomerBrands200ResponseContentInner
- AdminServiceCustomerCampaigns200Response
- AdminServiceCustomerCampaigns200ResponseContentInner
- AdminServiceCustomerClients200Response
- AdminServiceCustomerClients200ResponseContentInner
- AdminServiceCustomerClients200ResponsePaging
- AdminUsersList200Response
- AdminUsersList200ResponsePagination
- AdminUsersList200ResponseUsersInner
- AdminUsersList500Response
- ApiLog
- ApiLogPaginated
- AuthLogin200Response
- AuthLogin401Response
- AuthLoginByToken200Response
- AuthLoginByTokenRequest
- AuthLoginRequest
- AuthMe200Response
- AuthMe200ResponsePromotionsInner
- AuthRefreshTokenRequest
- ErrorReport
- ErrorReportPaginated
- ErrorResponse
- Metrics200Response
- Metrics200ResponseUsersInner
- Metrics400Response
- Pagination
- PaginationLinksInner
- PromotionPullConfiguration200Response
- PromotionPullConfiguration500Response
- PromotionPullConfigurationRequest
- PromotionPullConfigurationRequestDb
- PromotionSetup202Response
- PromotionSetup422Response
- PromotionSetup500Response
- PromotionSetupRequest
- PromotionSetupRequestAdminUsersInner
- PromotionSetupRequestDb
- PromotionStart200Response
- PromotionStart200ResponseUser
- PromotionStartRequest
- PromotionStartRequestUser
- RolesAttachPermissions200Response
- RolesAttachPermissions422Response
- RolesAttachPermissionsRequest
- RolesDestroy400Response
- RolesIndex200Response
- RolesIndex200ResponseRolesInner
- RolesIndex500Response
- RolesPermissions200Response
- RolesShow200Response
- RolesShow200ResponsePermissionsInner
- RolesShow200ResponseRole
- RolesStore201Response
- RolesStore201ResponseRole
- RolesStore422Response
- RolesStoreRequest
- RolesUpdate200Response
- RolesUpdateRequest
- StepsAllow201Response
- StepsAllow409Response
- StepsAllowRequest
- StepsIndex200Response
- StepsIndex200ResponseStepsValueValue
- StepsUnallow201Response
- StepsUnallow409Response
- SuccessResponse
- UserGrantPermissions200Response
- UserGrantPermissions200ResponseUserInner
- UserGrantPermissions500Response
- UserGrantPermissionsRequest
- UserRegister200Response
- UserRegister200ResponseUser
- UserRegister500Response
- UserRegisterRequest
- UserResetPassword200Response
- UserResetPassword200ResponseUser
- UserResetPassword500Response
- UserResetPasswordRequest
- UserShow200Response
- UserShow200ResponseUser
- UserShow404Response
- UserShow500Response
- UserUpdate200Response
- UserUpdate200ResponseUser
- UserUpdate404Response
- UserUpdate422Response
- UserUpdate500Response
- UserUpdateRequest
Authorization
Authentication schemes defined for the API:
bearerAuth
- Type: Bearer authentication (JWT)
Tests
To run the tests, use:
composer install vendor/bin/phpunit
Author
About this package
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
3.0.0- Generator version:
7.13.0
- Generator version:
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen