PHPackages                             agenciafmd/laravel-rdstation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. agenciafmd/laravel-rdstation

ActiveLibrary[API Development](/categories/api)

agenciafmd/laravel-rdstation
============================

Integração com a RD Station

v11.x-dev(9mo ago)54.4k1[1 issues](https://github.com/agenciafmd/laravel-rdstation/issues)MITPHP

Since Aug 7Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/agenciafmd/laravel-rdstation)[ Packagist](https://packagist.org/packages/agenciafmd/laravel-rdstation)[ Docs](https://github.com/agenciafmd/laravel-rdstation)[ RSS](/packages/agenciafmd-laravel-rdstation/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Laravel - RD Station
--------------------

[](#laravel---rd-station)

[![Downloads](https://camo.githubusercontent.com/2c734306c42d26fbf21bf6ee64611f7a3ec8a591994d2622ac12decaaaabc6cf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6167656e636961666d642f6c61726176656c2d726473746174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/agenciafmd/laravel-rdstation)[![Licença](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

- Envia as conversões para o RD Station

Instalação
----------

[](#instalação)

```
composer require agenciafmd/laravel-rdstation:v11.x-dev
```

Configuração V1
---------------

[](#configuração-v1)

Para que a integração seja realizada, precisamos do **token público**

Para isso, vamos em **Perfil &gt; Integrações**

[![Perfil > Integrações](https://github.com/agenciafmd/laravel-rdstation/raw/v11/docs/screenshot01.jpg "Perfil > Integrações")](https://github.com/agenciafmd/laravel-rdstation/raw/v11/docs/screenshot01.jpg)

Agora, vamos em **Dados da Integração &gt; Token Público**

[![Dados da Integração > Token Público](https://github.com/agenciafmd/laravel-rdstation/raw/v11/docs/screenshot02.jpg "Dados da Integração > Token Público")](https://github.com/agenciafmd/laravel-rdstation/raw/v11/docs/screenshot02.jpg)

Colocamos esta chave no nosso .env

```
RDSTATION_PUBLIC_KEY=VYfa6Oo1oaCIeQ68Ase9dSOBPdgRvWtJ
```

Uso
---

[](#uso)

Envie os campos no formato de array para o SendConversionsToRdstation.

O campo **email** é obrigatório =)

Para que o processo funcione pelos **jobs**, é preciso passar os valores dos cookies conforme mostrado abaixo.

```
use Agenciafmd\Rdstation\Jobs\SendConversionsToRdstation;

$data['email'] = 'irineu@fmd.ag';
$data['nome'] = 'Irineu Junior';

SendConversionsToRdstation::dispatch($data + [
        'identificador' => 'seja-um-parceiro',
        'utm_campaign' => Cookie::get('utm_campaign', ''),
        'utm_content' => Cookie::get('utm_content', ''),
        'utm_medium' => Cookie::get('utm_medium', ''),
        'utm_source' => Cookie::get('utm_source', ''),
        'utm_term' => Cookie::get('utm_term', ''),
        'gclid_' => Cookie::get('gclid', ''),
        'cid' => Cookie::get('cid', ''),
    ])
    ->delay(5)
    ->onQueue('low');
```

---

Configuração V2
---------------

[](#configuração-v2)

Antes de começarmos, é preciso solicitar a criação de uma conta para o desenvolvedor responsável na RD Station.

Com a conta criada, vamos criar o **aplicativo**

Vá em

Agora, vamos em **Integrações** &gt; **Quero criar um app para uso privado**

[![docs/acessar-rd-station-app-store.png](docs/acessar-rd-station-app-store.png)](docs/acessar-rd-station-app-store.png)

Vá em **Meus Apps** &gt; **Criar um aplicativo**

[![docs/meus-apps-criar-aplicativo.png](docs/meus-apps-criar-aplicativo.png)](docs/meus-apps-criar-aplicativo.png)

Escolhemos um nome bem intuitivo e clicamos em **Criar App**

[![docs/criar-app.png](docs/criar-app.png)](docs/criar-app.png)

Agora é só seguir os passos.

> Atenção para a URL de redirecionamento, ela é importante para a autenticação.

É a partir dela, que vamos conseguir recuperar o **code**

[![docs/criar-app-redirect.png](docs/criar-app-redirect.png)](docs/criar-app-redirect.png)

Após a criação, copiamos o **Client ID** e o **Client Secret**

[![docs/client-secret-callback.png](docs/client-secret-callback.png)](docs/client-secret-callback.png)

Para conseguirmos o code, vamos trocar o **client\_id** e o **redirect\_uri** com os dados que recuperamos do nosso app.

```
https://api.rd.services/auth/dialog?client_id=client_id&redirect_uri=redirect_uri&state=

```

Se tudo correr bem, seremos redirecionado para a url de callback que inserimos no nosso app.

Vamos agora, copiar o **code** da url.

[![docs/code.png](docs/code.png)](docs/code.png)

Agora vamos recuperar o **access\_token** e o **refresh\_token**.

Para isso, vamos fazer uma requisição **POST** para o endpoint **/auth/token?token\_by=code**

No exemplo abaixo, vamos trocar o **client\_id**, **client\_secret** e **code** pelos valores que recuperamos do nosso app.

```
curl --request POST \
     --url 'https://api.rd.services/auth/token?token_by=code' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "client_id": "client_id",
  "client_secret": "client_secret",
  "code": "code"
}
'
```

Algo muito semelhante a isso será retornado (note que comemos um bom pedaço dos dados).

```
{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
    "expires_in": 86400,
    "refresh_token": "1-GZ7PR4V5tsS..."
}
```

Agora tem conseguimos todos os dados necessários para a configuração.

```
RDSTATION_CLIENT_ID=71d41aa9-5967-4820-aad1-9da1e753d2d1
RDSTATION_CLIENT_SECRET=a140c4683eca43d092fc2837c4efdf46
RDSTATION_REFRESH_TOKEN=1-WX7PR4V5cvSaX9K-9qvcCQm8fPOkhWSM5i6fuTkYY
```

Uso
---

[](#uso-1)

Envie os campos no formato de array para o SendConversionsToRdstationV2.

O campo **email** é obrigatório =)

Para que o processo funcione pelos **jobs**, é preciso passar os valores dos cookies conforme mostrado abaixo.

> Note que os campos **cf\_assunto\_de\_interesse** e **cf\_empreendimento** são campos customizados que criamos no RD Station e podem variar de acordo com cada cliente.

```
use Agenciafmd\Rdstation\Jobs\SendConversionsToRdstationV2;

$data['email'] = 'irineu@fmd.ag';
$data['nome'] = 'Irineu Junior';

SendConversionsToRdstationV2::dispatch($data + [
        'conversion_identifier' => 'seja-um-parceiro',
        'mobile_phone' => $data['phone'],
        'cf_assunto_de_interesse' => 'assunto',
        'cf_empreendimento' => 'nome-do-empreendimento',
        'cf_utm_campaign' => Cookie::get('utm_campaign', ''),
        'cf_utm_content' => Cookie::get('utm_content', ''),
        'cf_utm_medium' => Cookie::get('utm_medium', ''),
        'cf_utm_source' => Cookie::get('utm_source', ''),
        'gclid_' => Cookie::get('gclid', ''),
        'cid' => Cookie::get('cid', ''),
        // seria legal matar esses campos
        'traffic_source' => Cookie::get('utm_source', ''),
        'traffic_medium' => Cookie::get('utm_medium', ''),
        'traffic_campaign' => Cookie::get('utm_campaign', ''),
        'traffic_value' => Cookie::get('utm_content', ''),
        'client_tracking_id' => Cookie::get('cid', '') . '|' . Cookie::get('gclid', ''),
        // fim do seria legal matar esses campos
    ])
    ->delay(5)
    ->onQueue('low');
```

Queue
-----

[](#queue)

Note que nos nossos exemplos, enviamos o job para a fila **low**.

Certifique-se de estar rodando no seu queue:work esteja semelhante ao abaixo.

```
php artisan queue:work --tries=3 --delay=5 --timeout=60 --queue=high,default,low
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance53

Moderate activity, may be stable

Popularity24

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity22

Early-stage or recently created project

 Bus Factor1

Top contributor holds 92.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

284d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e4d60ba30f409161026fd37c5a106cc32c4e4d29411f805553623cca632dd72?d=identicon)[agenciafmd](/maintainers/agenciafmd)

---

Top Contributors

[![irineujunior](https://avatars.githubusercontent.com/u/260451?v=4)](https://github.com/irineujunior "irineujunior (12 commits)")[![ppathasbeen21](https://avatars.githubusercontent.com/u/90109291?v=4)](https://github.com/ppathasbeen21 "ppathasbeen21 (1 commits)")

### Embed Badge

![Health badge](/badges/agenciafmd-laravel-rdstation/health.svg)

```
[![Health](https://phpackages.com/badges/agenciafmd-laravel-rdstation/health.svg)](https://phpackages.com/packages/agenciafmd-laravel-rdstation)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[echolabsdev/prism

A powerful Laravel package for integrating Large Language Models (LLMs) into your applications.

2.3k388.3k10](/packages/echolabsdev-prism)[sburina/laravel-whmcs-up

WHMCS API client and user provider for Laravel

271.3k](/packages/sburina-laravel-whmcs-up)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
