Criação e Aprovação de Pedido Teste

Para contas de desenvolvimento/homologação é possível criar e aprovar pedidos. Esta seção traz orientações para a criação e aprovação de pedidos

As operações descritas abaixo não estão disponíveis para contas em produção.

Caso ainda não possua um ambiente de teste para a homologação de seu sistema, consulte a guia Processo de Homologação.

POST - Criando um pedido

Como descrito em Integração Pedido, durante o processo de homologação de um sistema são solicitados os passos de criação, consumo e notificação de pedidos.

Criando um pedido teste (status NEW)

Para realizar a criação de um pedido via API deverá ser utilizado o método POST para o seguinte endpoint:

https://api.skyhub.com.br/orders

Request headers:

KeyValue

X-User-Email

email_de_usuario

X-Api-Key

token_de_integracao de sua conta SkyHub

X-Accountmanager-Key

token_account único de cada Plataforma/ERP

Accept

application/json

Content-Type

application/json

Request body:

{
    "order": {
        "channel": "Marketplace",
        "items": [
            {
                "id": "{SKU da Venda}",
                "qty": 1,
                "original_price": 8.45,
                "special_price": 8.45
            }
        ],
        "customer": {
            "name": "Nome do Comprador",
            "email": "comprador@exemplo.com.br",
            "date_of_birth": "1995-01-01",
            "gender": "male",
            "vat_number": "12312312309",
            "phones": [
                "8899999999"
            ]
        },
        "billing_address": {
            "street": "Rua de Teste",
            "number": "1234",
            "detail": "Ponto de Referência",
            "neighborhood": "Bairro",
            "city": "Cidade",
            "region": "UF",
            "country": "BR",
            "postcode": "90000000"
        },
        "shipping_address": {
            "street": "Rua de teste",
            "number": "1234",
            "detail": "Ponto de referência teste",
            "neighborhood": "Bairro teste",
            "city": "Cidade de teste",
            "region": "UF",
            "country": "BR",
            "postcode": "90000000"
        },
        "payments": [
        {
            "method": "skyhub_payment",
            "description": "Skyhub",
            "parcels": 1,
            "value": 8.45
         }
        ],
        "shipping_method": "Transportadora",
        "estimated_delivery": "AAAA-MM-DD",
        "shipping_calculation_type": "Método do Cálculo",
        "shipping_cost": 0.0,
        "interest": 0.0,
        "discount": 0.0
    }
}

No objeto items é necessário informar o SKU adquirido na compra. Isto é, caso deseje simular um pedido realizado para um produto que contém variações, a criação requer que seja informado o SKU da variação e não do produto pai/agrupador.

Example request:

curl --location --request POST 'https://api.skyhub.com.br/orders' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "order": {
        "channel": "Lojas Americanas",
        "items": [
            {
                "id": "2023001",
                "qty": 1,
                "original_price": 39.90,
                "special_price": 39.90
            }
        ],
        "customer": {
            "name": "João dos Santos",
            "email": "comprador@exemplo.com.br",
            "date_of_birth": "1989-01-01",
            "gender": "male",
            "vat_number": "23455567899",
            "phones": [
                "11 99999-9999"
            ]
        },
        "billing_address": {
            "street": "Avenida Paulista",
            "number": "1234",
            "detail": "Próximo ao museu",
            "neighborhood": "Bela Vista",
            "city": "São Paulo",
            "region": "SP",
            "country": "BR",
            "postcode": "90000000"
        },
        "shipping_address": {
            "street": "Avenida Paulista",
            "number": "1000",
            "detail": "Ao lado da cafeteria",
            "neighborhood": "Bela Vista",
            "city": "São Paulo",
            "region": "SP",
            "country": "BR",
            "postcode": "90000000"
        },
        "payments": [
            {
                "method": "CREDIT_CARD",
                "description": "SkyHub",
                "parcels": 1,
                "value": 39.90
            }
        ],
        "shipping_method": "Courier",
        "estimated_delivery": "2023-03-30",
        "shipping_calculation_type": "b2wentregadirect",
        "shipping_cost": 0,
        "interest": 0,
        "discount": 0
    }
}'

É possível determinar numerações específicas para os pedidos criados. Para tal, basta incluir o campo "remote_code" no array ORDER.

Durante a criação de pedido é possível enviar o método de cálculo do frete, feito através do campo "shipping_calculation_type". O retorno dessa informação no consumo do endpoint /queues/orders será no campo "calculation_type".

Response esperado:

201 [Success] - Created

POST - Aprovando um pedido teste (status APPROVED)

O ciclo de vida de um pedido comum é iniciado com a sua criação (status NEW) e o próximo passo é a sua aprovação (status APPROVED). No ambiente de produção estes dois status (NEW e APPROVED) são gerados no marketplace, porém em homologação/ambiente de teste, além da criação, é possível realizar também a aprovação do pedido.

A aprovação em ambiente de teste requer os headers apresentados acima e se dá através de um POST no endpoint:

https://api.skyhub.com.br/orders/{code}/approval

O code deve ser substituído pelo código do pedido, visualizado após o consumo.

Request body:

{
    "status": "payment_received"
}

Example request:

curl --location --request POST 'https://api.skyhub.com.br/orders/Lojas Americanas-1000000000000/approval' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'x-accountmanager-key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
    "status": "payment_received"
}'

Response esperado:

204 [Success] - No content

POST - Criando pedido para o Fulfillment

Existem recursos disponíveis para homologação que requerem a criação de pedidos contendo campos específicos, como é o caso da homologação para o serviço Fulfillment.

Pedido Fulfillment

Criando um pedido teste para o serviço Fulfillment

Para homologação do recurso Fulfillment é imprescindível a identificação de pedidos que se enquadrem neste serviço.

No ambiente de teste é possível simular um pedido Fulfillment e para isto será necessário seguir o padrão disponibilizado na seção Criação de Pedido com atenção para o campo shipping_method:

curl --location --request POST 'https://api.skyhub.com.br/orders' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "order": {
        "channel": "Lojas Americanas",
        "items": [
            {
                "id": "2023001",
                "qty": 1,
                "original_price": 39.90,
                "special_price": 39.90
            }
        ],
        "customer": {
            "name": "João dos Santos",
            "email": "comprador@exemplo.com.br",
            "date_of_birth": "1989-01-01",
            "gender": "male",
            "vat_number": "23455567899",
            "phones": [
                "11 99999-9999"
            ]
        },
        "billing_address": {
            "street": "Avenida Paulista",
            "number": "1234",
            "detail": "Próximo ao museu",
            "neighborhood": "Bela Vista",
            "city": "São Paulo",
            "region": "SP",
            "country": "BR",
            "postcode": "90000000"
        },
        "shipping_address": {
            "street": "Avenida Paulista",
            "number": "1000",
            "detail": "Ao lado da cafeteria",
            "neighborhood": "Bela Vista",
            "city": "São Paulo",
            "region": "SP",
            "country": "BR",
            "postcode": "90000000"
        },
        "payments": [
            {
                "method": "CREDIT_CARD",
                "description": "SkyHub",
                "parcels": 1,
                "value": 39.90
            }
        ],
        "shipping_method": "B2W Fulfillment",
        "estimated_delivery": "2023-03-15",
        "shipping_calculation_type": "b2wentregadirect",
        "shipping_cost": 0,
        "interest": 0,
        "discount": 0
    }
}'

Para informações sobre a homologação do recurso Fulfillment, consulte a guia a seguir:

page> Integração Fulfillment

Last updated