SelectwinDOCS

Shipping

O objeto Shipping na API Selectwin representa as informações de entrega associadas a uma transação. Esta estrutura permite armazenar e gerenciar todos os detalhes logísticos de uma venda, desde o ende

Visão Geral

O objeto Shipping na API Selectwin representa as informações de entrega associadas a uma transação. Esta estrutura permite armazenar e gerenciar todos os detalhes logísticos de uma venda, desde o endereço de entrega até o status de rastreamento, proporcionando visibilidade completa sobre o processo de envio.


Estrutura do Objeto Shipping

O objeto Shipping está disponível dentro do objeto Transaction e contém os seguintes campos:

{
  "shipping": {
    "customerCost": "R$ 100,00",
    "internalCost": "R$ 50,00",
    "recipientName": "João da Silva",
    "recipientDocument": "12345678900",
    "recipientDocumentType": "cpf",
    "recipientPhone": "5511999999999",
    "trackingSiteUrl": "https://www.correios.com.br/rastreamento",
    "trackingCode": "BR123456789BR",
    "addressIsValid": "true",
    "deliveryStatus": "in_transit",
    "deliveryDate": "2023-11-15",
    "deliveryTimeWindow24h": "10h/12h",
    "packageWeight": "1.5kg",
    "packageDimensions": "30x20x15",
    "instructions": "Deixar com o porteiro",
    "geolocationLatitude": "-23.5505",
    "geolocationLongitude": "-46.636108",
    "insurance": true,
    "method": "SEDEX",
    "address": {
      "id": "addr_1234567890",
      "street": "Avenida Paulista",
      "complement": "Conjunto 1501",
      "district": "Bela Vista",
      "number": "1000",
      "city": "São Paulo",
      "state": "SP",
      "country": "BR",
      "postcode": "01310-100"
    }
  }
}

Campos do Objeto Shipping

CampoTipoDescrição
customerCoststringCusto de entrega cobrado do cliente (ex: "R$ 100,00")
internalCoststringCusto interno de entrega (valor pago à transportadora) (ex: "R$ 50,00")
recipientNamestringNome completo do destinatário
recipientDocumentstringNúmero do documento do destinatário
recipientDocumentTypestringTipo do documento do destinatário (cpf, cnpj, passport)
recipientPhonestringTelefone do destinatário no formato internacional (55 seguido de 10-11 dígitos)
trackingSiteUrlstringURL do site de rastreamento da transportadora
trackingCodestringCódigo de rastreamento fornecido pela transportadora
addressIsValidstringIndicador se o endereço foi validado ("true" ou "false")
deliveryStatusstringStatus atual da entrega (ex: "pending", "in_transit", "delivered")
deliveryDatestringData prevista ou efetiva de entrega (formato YYYY-MM-DD)
deliveryTimeWindow24hstringJanela de horário para entrega no formato 24h (ex: "10h/12h")
packageWeightstringPeso do pacote com unidade (ex: "1.5kg")
packageDimensionsstringDimensões do pacote no formato LxAxP (ex: "30x20x15")
instructionsstringInstruções especiais para entrega
geolocationLatitudestringLatitude da geolocalização do endereço de entrega
geolocationLongitudestringLongitude da geolocalização do endereço de entrega
insurancebooleanIndica se o envio possui seguro
methodstringMétodo/serviço de entrega utilizado (ex: "SEDEX", "PAC")

Objeto Address dentro de Shipping

CampoTipoDescrição
idstringIdentificador único do endereço
streetstringNome da rua/avenida
complementstringComplemento do endereço (apto, sala, etc.)
districtstringBairro
numberstringNúmero do endereço
citystringCidade
statestringEstado/província (sigla)
countrystringPaís (código ISO 3166-1 de 2 letras)
postcodestringCEP/código postal (formato: 12345-678 ou 12345678)

Status de Entrega

O campo deliveryStatus pode conter os seguintes valores:

StatusDescrição
pendingEnvio registrado, mas ainda não processado
shippedEncomenda entregue ao destinatário

Como Utilizar o Objeto Shipping

1. Criando uma Transação com Dados de Shipping

// Exemplo: Criando uma transação com informações de entrega
const axios = require('axios');

async function createTransactionWithShipping() {
  const response = await axios({
    method: 'post',
    url: 'https://api.selectwin.io/v1/transactions',
    headers: {
      'SelectKey': 'sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ',
      'Content-Type': 'application/json'
    },
    data: {
      ... Data
      shipping: {
        customerCost: "R$ 15,90",
        method: "SEDEX",
        recipientName: "Maria Silva",
        recipientDocument: "12345678900",
        recipientDocumentType: "cpf",
        recipientPhone: "5511987654321",
        packageWeight: "0.5kg",
        packageDimensions: "20x15x10",
        instructions: "Entregar somente ao destinatário",
        insurance: true,
        address: {
          street: "Rua das Flores",
          number: "123",
          complement: "Apto 45",
          district: "Jardim Primavera",
          city: "São Paulo",
          state: "SP",
          country: "BR",
          postcode: "04567-890"
        }
      }
    }
  });
  
  return response.data;
}

Melhores Práticas

1. Validação de Endereços

Para evitar problemas de entrega:

  • Sempre valide o CEP/código postal antes de confirmar o endereço
  • Utilize o campo addressIsValid para indicar se o endereço foi validado
  • Consulte o endpoint /utils/validate-postcode/:code para validar CEPs

2. Dados do Destinatário

Para garantir entregas bem-sucedidas:

  • Forneça sempre o nome completo do destinatário
  • Inclua um documento válido para identificação na entrega
  • Disponibilize um telefone de contato atualizado

3. Rastreamento

Para melhorar a experiência do cliente:

  • Forneça a URL correta do site de rastreamento da transportadora
  • Mantenha o status de entrega atualizado com base nas informações da transportadora

On this page