yampi/anymarket-php-sdk

There is no license information available for the latest version (v1.1) of this package.

Biblioteca não oficial de integração com a API da Anymarket

v1.1 2019-04-26 15:11 UTC

README

Biblioteca que realiza integração com a API da Anymarket

Maintainability

Documentação oficial da API http://developers.anymarket.com.br/

Instalação via composer

$ composer require yampi/anymarket-php-sdk

Serviços

Este SDK suporta os seguintes serviços:

Configuração

Para utilizar este SDK, será necessário utilizar o token de acesso (GumgaToken) de sua conta na Anymarket, e setar qual o ambiente que será usado: sandbox ou production;

use Yampi\Anymarket\Anymarket;
use Yampi\Anymarket\Services\Environment;
use Yampi\Anymarket\Exceptions\AnymarketException;
use Yampi\Anymarket\Exceptions\AnymarketValidationException;

// Ambiente de sandbox
$anymarket = new Anymarket('SEU_TOKEN', Environment::sandbox());

// Ambiente de produção
$anymarket = new Anymarket('SEU_TOKEN', Environment::production());

Produtos

Buscar todos os produtos com um limite de 50 registros por página

$product = $anymarket->product()->get(0, 50);

Buscar produto

$product = $anymarket->product()->find('ID_PRODUTO');

Criar produto

$product = $anymarket->product()->create([
    'title '=>  'string',
    'description '=>  'string',
    'category '=> [
        'id '=> 0,
        'name '=>  'string',
        'path '=>  'string'
    ],
    'brand '=> [
        'id '=> 0,
        'name '=>  'string',
        'partnerId '=>  'string'
    ],
    'nbm '=> [
        'id '=>  'string'
    ],
    'origin '=> [
        'id '=> 0
    ],
    'model '=>  'string',
    'videoUrl '=>  'string',
    'gender '=>  'string',
    'warrantyTime '=> 0,
    'warrantyText '=>  'string',
    'height '=> 0,
    'width '=> 0,
    'weight '=> 0,
    'length '=> 0,
    'priceFactor '=> 0,
    'calculatedPrice '=> true,
    'definitionPriceScope '=>  'string',
    'characteristics '=> [
        [
            'index '=> 0,
            'name '=>  'string',
            'value '=>  'string'
        ]
    ],
    'images '=> [
        [
            'main '=> true,
            'url '=>  'string',
            'variation '=>  'string'
        ]
    ],
    'skus '=> [
        [
            'title '=>  'string ',
            'partnerId '=>  'string ',
            'ean '=>  'string ',
            'amount '=> 0,
            'price '=> 0,
            'additionalTime '=> 0,
            'variations '=> [
                    'variationName '=>  'VariationValue '
            ]
        ]
    ],
    'allowAutomaticSkuMarketplaceCreation '=> true
]);

Atualizar produto

$product = $anymarket->product()->update('ID_PRODUTO', [
  'title' => 'string',
  'description' => 'string',
  'category' => [
    'id' => 0,
    'name' => 'string',
    'path' => 'string'
  ],
  'brand' => [
    'id' => 0,
    'name' => 'string',
    'partnerId' => 'string'
  ],
  'nbm' => [
    'id' => 'string'
  ],
  'origin' => [
    'id' => 0
  ],
  'model' => 'string',
  'videoUrl' => 'string',
  'gender' => 'string',
  'warrantyTime' => 0,
  'warrantyText' => 'string',
  'height' => 0,
  'width' => 0,
  'weight' => 0,
  'length' => 0,
  'priceFactor' => 0,
  'calculatedPrice' => true,
  'definitionPriceScope' => 'string',
  'characteristics' => [
    [
      'index' => 0,
      'name' => 'string',
      'value' => 'string'
    ]
  ],
  'images' => [
    [
      'main' => true,
      'url' => 'string',
      'variation' => 'string'
    ]
  ],
  'skus' => [
    [
      'title' => 'string',
      'partnerId' => 'string',
      'ean' => 'string',
      'amount' => 0,
      'price' => 0,
      'variations' => [
        'variationName' => 'VariationValue'
      ]
    ]
  ],
  'allowAutomaticSkuMarketplaceCreation' => true
]);

Atualizar título de um produto

$product = $anymarket->product()->updateTitle('ID_PRODUTO', 'TÍTULO');

Skus

É necessario utlizar setProduct para utlizar esse recurso

$anymarket->sku()->setProduct('ID_PRODUTO');

Buscar SKUS de um produto

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->get(0, 50);

Buscar SKU de um produto

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->find('ID_SKU');

Criar um SKU

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->create([
    'title' => 'string',
    'partnerId' => 'string',
    'ean' => 'string',
    'amount' => 0,
    'price' => 0,
    'additionalTime' => 0,
    'variations' => [
        'variationName' => 'VariationValue'
    ]
]);

Atualizar um SKU

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->update('ID_SKU', [
     'title ' =>  'string ',
     'partnerId ' =>  'string ',
     'ean ' =>  'string ',
     'price ' => 0,
     'sellPrice ' => 0
]);

Atualizar título de um SKU

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->updateTitle('ID_SKU', 'TÍTULO')

Atualizar preço de um SKU

$sku = $anymarket->sku()->setProduct('ID_PRODUTO')->updatePrice('ID_SKU', 12.00, 10.00);

Variações

Buscar todas as variações

Para realizar a busca de variações é necessário passar os parâmetros offset e limit

$variation = $anymarket->variation()->get(0, 50);

Buscar variação

$variation = $anymarket->variation()->find('ID_VARIAÇÃO');

Criar variação

$variation = $anymarket->variation()->create([
    'name' => 'string',
    'partnerId' => 'string',
    'visualVariation' => true,
    'values' => [
        [
          'description' => 'string'
        ]
    ]
]);

Atualizar variação

$variation = $anymarket->variation()->update('ID_VARIAÇÃO', [
    'name' => 'string',
    'partnerId' => 'string',
    'visualVariation' => true
]);

Excluir uma variação

$variation = $anymarket->variation()->delete('ID_VARIAÇÃO');

Valores de uma variação

É necessário utilizar o método setVariation() neste recurso

$anymarket->variationValue()->setVariation('ID_VARIAÇÃO')

Buscar valores de uma variação

$value = $anymarket->variationValue()->setVariation('ID_VARIAÇÃO')->get(0, 50);

Buscar um valor de variação

$value = $anymarket->variationValue()->setVariation('ID_VARIAÇÃO')->find('ID_VALOR');

Criar um valor para uma variação

$value = $anymarket->variationValue()->setVariation('ID_VARIAÇÃO')->create([
    'description' => 'string',
    'partnerId' => 'string'
])

Atualizar valor de uma variação

$value = $anymarket->variationValue()->setVariation('ID_VARIAÇÃO')->update('ID_VALOR', [
    'description' => 'string',
    'partnerId' => 'string'
]);

Excluir valor de uma variação

$value = $anymarket->variationValue()->setVariation('ID_VARIAÇÃO')->find('ID_VALOR');

Estoques

Criar estoque

$stock = $anymarket->stock()->create([
     'id '=> 0,
     'partnerId '=> 0,
     'quantity '=> 0,
     'cost '=> 0,
     'additionalTime '=> 0,
     'stockLocalId '=> 0
]);

Atualizar estoque

$stock = $anymarket->stock()->update('ID_SKU', [
     'id '=> 0,
     'partnerId '=> 0,
     'quantity '=> 0,
     'cost '=> 0,
     'additionalTime '=> 0,
     'stockLocalId '=> 0
]);

Atualizar quantidade em estoque

$stock = $anymarket->stock()->updateStockQuantity('ID_SKU', 10);

Atualizar preço de estoque

$stock = $anymarket->stock()->updatePrice('ID_SKU', 100.00);

Buscar locais de estoque

$stock = $anymarket->stock()->getLocals()

Marcas

Buscar todas as marcas

Para realizar a busca das marcas é necessario passar os parâmetros offset e limit

$brands = $anymarket->brand()->get(0, 50);

Buscar marca

$brands = $anymarket->brand()->find('ID_MARCA');

Criar marca

$brand = $anymarket->brand()->create([
    'name' => 'Nome da marca',
    'partnerId' => 'ID da marca no parceiro'
]);

Atualizar marca

$brand = $anymarket->brand()->update('ID_MARCA', [
    'name' => 'Atualização de marca'
]);

Excluir marca

$brand = $anymarket->brand()->delete('ID_MARCA');

Categorias

Buscar todas as categorias

Para realizar a busca das categorias é necessario passar os parâmetros offset e limit

$category = $anymarket->category()->get(0, 50);

Buscar categoria

$category = $anymarket->category()->find('ID_CATEGORIA');

Criar categoria

$category = $anymarket->category()->create([
    'name' => 'Categoria',
    'partnerId' => '123',
    'priceFactor' => 1,
    'calculatedPrice' => true,
    'definitionPriceScope' => 'SKU'
]);

Atualizar categoria

$category = $anymarket->category()->update('ID_CATEGORIA', [
    'name' => 'Atualizar categoria',
    'partnerId' => '1234',
    'priceFactor' => 1,
    'calculatedPrice' => true,
    'definitionPriceScope' => 'SKU'
]);

Excluir categoria

$category = $anymarket->category()->delete('ID_CATEGORIA');

Pedidos

Buscar todos os pedidos

Para realizar a busca dos pedidos é necessario passar os parâmetros offset e limit

$orders = $anymarket->order()->get(0, 50);

Buscar pedido

$orders = $anymarket->order()->find('ID_PEDIDO');

Atualizar status do pedido

$orders = $anymarket->order()->updateStatus('ID_PEDIDO', [
    'status' => 'string',
    'invoice' => [
        'accessKey' => 'string',
        'series' => 'string',
        'number' => 'string',
        'date' => '2019-04-23T13=>25=>53Z',
        'cfop' => 'string',
        'companyStateTaxId' => 'string'
    ]
]);

Consultar feed de pedidos

$orders = $anymarket->order()->feed()

Atualizar feed de pedidos

$orders = $anymarket->order()->feedUpdate('ID_FEED', 'TOKEN_FEED');

Callbacks

Buscar todas as callbacks

Para realizar a busca das callbacks é necessário passar os parâmetros offset e limit

$callbacks = $anymarket->callback()->get(0, 50);

Buscar callback

$callback = $anymarket->callback()->find('ID_CALLBACK');

Criar callback

$callback = $anymarket->callback()->create([
    'url' => 'URL de callback',
]);

Atualizar callback

$callback = $anymarket->callback()->update('ID_CALLBACK', [
    'url' => 'URL de callback'
]);

Excluir callback

$callback = $anymarket->callback()->delete('ID_CALLBACK');