Exemplo de uma aplicação utilizando a API do ActiveCampaign para abandono de carrinho em um e-commerce. Com os comandos apresentados é possível enviar um carrinho abandonado para uma automação previamente criada no painel de administração do AC. Para mais detalhes acesse a documentação completa.
PS.: Foi utilizada a biblioteca Guzzle para fazer as requisições PHP. Para mais informações consulte a documentação.
A API é acessada usando um URL base específico da sua conta. O URL da sua API pode ser encontrado em sua conta na página Minhas configurações, na guia "Desenvolvedor". Além disso, os caminhos da URL devem começar com /api/3 para especificar a versão 3 da API. Geralmente, o URL está no formato https://.api-us1.com/api/3/. Todas as chamadas de API devem ser feitas por HTTPS.
Todas as solicitações para a API são autenticadas, fornecendo sua chave de API. A chave da API deve ser fornecida como um cabeçalho HTTP chamado Api-Token.
A API v3 usa métodos HTTP padrão para indicar a ação a ser executada em um recurso.
GET - Recupera um recurso. POST - Cria um novo recurso. PUT - Atualiza um recurso. DELETE - Remove um recurso.
Os recursos de conexão Deep Data representam um link entre uma conta do ActiveCampaign e uma conta em algum serviço externo, como o Shopify. Esta API deve ser usada por terceiros que criam integrações entre esses serviços e o ActiveCampaign. A API permite criar, excluir e atualizar conexões. Você pode recuperar conexões individuais, bem como uma lista de todas as conexões em uma conta.
PS: As conexões associadas às integrações desenvolvidas internamente pelo ActiveCampaign podem ser recuperadas, mas não modificadas pela API.
Cria uma nova conexão Parâmetros obrigatórios: connection.service (string) | connection.externalid (string) | connection.name (string) | connection.logoUrl (string) | connection.linkUrl (string)
{
"connection": {
"service": "serviceName",
"externalid": "abc123def456",
"name": "Service Test",
"logoUrl": "http://dominio.com/path/imagename.png",
"linkUrl": "http://dominio.com/foo/"
}
}
Recupera uma conexão Parâmetros obrigatórios: id (string)
Editar uma conexão Parâmetros obrigatórios: id (string)
{
"connection": {
"externalid": "email@example.com",
"name": "Name test"
}
}
Deleta uma conexão Parâmetros obrigatórios: id (string)
Lista todas as conexões
Os recursos do cliente de comércio eletrônico representam um cliente em um serviço de comércio eletrônico externo, como o Shopify. Os recursos do cliente mantêm principalmente dados agregados de comércio eletrônico associados a um contato, incluindo a receita total, o número total de pedidos e o número total de produtos pedidos. Esses dados não podem ser salvos diretamente em um objeto de cliente, mas serão atualizados quando os recursos do pedido forem criados ou atualizados para um cliente. Observe que um cliente está relacionado a um contato pelo endereço de email.
Cria um cliente Parâmetros obrigatórios: ecomCustomer.connectionid (string) | ecomCustomer.externalid (string) | ecomCustomer.email (string)
{
"ecomCustomer": {
"connectionid": "1",
"externalid": "56789",
"email": "email@example.com",
"acceptsMarketing": "1"
}
}
Recupera um cliente Parâmetros obrigatórios: id (string)
Editar um cliente Parâmetros obrigatórios: id (string)
{
"ecomCustomer": {
"externalid": "98765"
}
}
Deleta um cliente Parâmetros obrigatórios: id (string)
Lista todos os clientes
Os recursos de pedidos de comércio eletrônico representam pedidos em um serviço de comércio eletrônico externo, como o Shopify. A API permite criar, atualizar e excluir recursos do pedido. Você pode recuperar pedidos individuais, bem como uma lista de todos os pedidos. Antes de criar qualquer pedido, você deve ter criado um recurso de conexão para o serviço de comércio eletrônico e um recurso do cliente para o cliente que fez o pedido.
Sempre que os recursos do pedido são salvos por meio da API, os campos de dados agregados do recurso do cliente relacionado são atualizados automaticamente.
Cria uma ordem Parâmetros obrigatórios: ecomOrder.externalid (string) | ecomOrder.email (string) | ecomOrder.orderProducts.name (string) | ecomOrder.orderProducts.price (int32) | ecomOrder.orderProducts.quantity (int32) | ecomOrder.totalPrice (int32) | ecomOrder.currency (int32) | ecomOrder.connectionid (int32) | ecomOrder.customerid (int32) | ecomOrder.orderDate (date)
{
"ecomOrder": {
"externalid": "3246315233",
"source": "1",
"email": "alice@example.com",
"orderNumber": "1057",
"orderProducts": [
{
"externalid": "PROD12345",
"name": "Pogo Stick",
"price": "4900",
"quantity": "1",
"category": "Toys"
},
{
"externalid": "PROD23456",
"name": "Skateboard",
"price": "3000",
"quantity": "1",
"category": "Toys"
}
],
"orderUrl": "https://example.com/orders/3246315233",
"orderDate": "2016-09-13T17:41:39-04:00",
"shippingMethod": "UPS Ground",
"totalPrice": "9111",
"currency": "USD",
"connectionid": "1",
"customerid": "1"
}
}
Deleta um cliente Parâmetros obrigatórios: ecomOrderId (int32)
Lista todas as ordens
Editar uma ordem Parâmetros obrigatórios: ecomOrderId (string)
{
"ecomOrder": {
"externalid": "3246315237",
"email": "alice@example.com",
"orderProducts": [
{
"externalid": "PROD12345",
"name": "Pogo Stick",
"price": 4900,
"quantity": 1,
"category": "Toys",
"sku": "POGO-12",
"description": "lorem ipsum...",
"imageUrl": "https://example.com/product.jpg",
"productUrl": "https://store.example.com/product12345"
},
{
"externalid": "PROD23456",
"name": "Skateboard",
"price": 3000,
"quantity": 1,
"category": "Toys",
"sku": "SK8BOARD145",
"description": "lorem ipsum...",
"imageUrl": "https://example.com/product.jpg",
"productUrl": "https://store.example.com/product45678"
}
],
"externalUpdatedDate": "2016-09-15T17:41:39-04:00",
"shippingMethod": "UPS Ground",
"totalPrice": 9111,
"shippingAmount": 200,
"taxAmount": 500,
"discountAmount": 100,
"currency": "USD",
"orderNumber":"12345-1"
}
}
Os recursos de carrinho abandonado de comércio eletrônico representam carrinhos abandonados em um serviço de comércio eletrônico externo, como o Shopify. A API permite criar recursos de carrinho abandonados. Antes de criar carrinhos abandonados, você deve ter criado um recurso de conexão para o serviço de comércio eletrônico e um recurso do cliente para o cliente que abandonou o carrinho.
O carrinho de abandono de início de automação será acionado apenas se a origem do pedido de comércio eletrônico for de um webhook em tempo real, ecomOrder.source = 1. Para obter mais informações, leia este artigo.
Para criar um carrinho abandonado, use a mesma API que a criação de um pedido, mas em vez de incluir um externalid, inclua externalcheckoutid e abandoned_date.
Para marcar um carrinho abandonado existente como recuperado, atualize o carrinho existente e inclua um externalid.
Cria um carrinho abandonado Parâmetros obrigatórios: ecomOrder.externalcheckoutid (string) | ecomOrder.email (string) | ecomOrder.orderProducts.name (string) | ecomOrder.orderProducts.price (int32) | ecomOrder.orderProducts.quantity (int32) | ecomOrder.totalPrice (int32) | ecomOrder.currency (int32) | ecomOrder.connectionid (int32) | ecomOrder.customerid (int32) | ecomOrder.orderDate (date) | ecomOrder.abandoned_date (date)
{
"ecomOrder": {
"externalcheckoutid": "7777",
"source": "1",
"email": "andmferraz12@gmail.com",
"orderProducts": [
{
"externalid": "PROD12345",
"name": "Produto 1",
"price": 4900,
"quantity": 1,
"category": "Toys",
"sku": "POGO-12",
"description": "lorem ipsum...",
"imageUrl": "https://example.com/product.jpg",
"productUrl": "https://store.example.com/product12345"
},
{
"externalid": "PROD23456",
"name": "Produto 2",
"price": 3000,
"quantity": 1,
"category": "Aneis",
"sku": "SK8BOARD145",
"description": "lorem ipsum...",
"imageUrl": "https://example.com/product.jpg",
"productUrl": "https://store.example.com/product45678"
}
],
"orderUrl": "https://example.com/orders/3246315233",
"externalCreatedDate": "2019-09-06T16:03:00-03:00",
"externalUpdatedDate": "2019-09-06T16:03:00-03:00",
"shippingMethod": "UPS Ground",
"totalPrice": 9111,
"shippingAmount": 200,
"taxAmount": 500,
"discountAmount": 100,
"currency": "R$",
"connectionid": "2",
"customerid": "291",
"abandoned_date": "2019-09-06T16:03:00-03:00"
}
}
Note que na criação do carrinho, as duas únicas alterações foram a inclusão do "externalcheckoutid", que seria um id gerado pelo e-commerce para o carrinho abandonado e a "abandoned_date", referente à data em que o carrinho foi abandonado.
Os recursos do produto representam uma combinação de itens de linha e produtos em um serviço de comércio eletrônico externo, como o Shopify. A API permite consultar esses recursos, mas para criá-los, você deve criá-los como parte de um pedido.
Lista itens de produtos
Lista itens de produtos de uma ordem específica
Lista produto de uma ordem específica
- Anderson Macário Ferraz