Como usar a API REST do ZeroTEF?

Você está aqui:
Tempo estimado de leitura: 2 min

Autenticação

Criando uma Venda

POST /api/zerotef/v1

Campos

Obrigatórios
  • payment_method: slug do método de pagamento. Ex.: “pix”, “credit”, “debit”.
  • total: total a ser cobrado. Ex.: “49.90”
  • register_id: é o ID do caixa que está solicitando o pagamento. Serve para direcionar para a maquininha correta.
Complementares
  • billing: são os dados de faturamento do cliente
    • first_name:
    • last_name:
    • cpf_cnpj:
    • email:
    • phone:
    • address:
    • address_number:
    • address_2
    • neighborhood:
    • city:
    • state:
    • country:
    • postcode:
  • line_items: são os produtos/serviços sendo pagos
    • product_id:
    • variation_id:
    • quantity:
  • currency: é a moeda a ser considerada. Por padrão, é o real brasileiro (BRL).

Retorno

  • id: é o ID da venda, que deve ser usado para consultar o status.
  • version: é a versão em que o sistema está.
  • status: é o status em que está a venda.
  • total: é o valor total da venda.
  • currency: é a moeda em que foi feita a venda.
  • payment_methor: o slug do meio de pagamento escolhido.
  • date_created: data da criação no fuso-horário da empresa.
  • date_created_gmt: data da criação no GMT.
  • billing: são os dados de faturamento do cliente
    • first_name:
    • last_name:
    • cpf_cnpj:
    • email:
    • phone:
    • address:
    • address_number:
    • address_2
    • neighborhood:
    • city:
    • state:
    • country:
    • postcode:
  • line_items: são os produtos/serviços sendo pagos
    • product_id:
    • variation_id:
    • quantity:

Request

curl -X POST https://seudominio.com.br/api/zerotef/v1 \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "payment_method": "pix",
  "billing": {
    "first_name": "Ana",
    "last_name": "Abranches",
    "address_1": "Rua Santo Inácio",
    "address_number": "140",
    "address_2": "",
    "city": "Porto Alegre",
    "state": "RS",
    "postcode": "90570150",
    "country": "BR",
    "email": "ana.abranches@email.com",
    "phone": "5551981391215"
  },
  "line_items": [
    {
      "product_id": 93,
      "quantity": 2
    },
    {
      "product_id": 22,
      "variation_id": 23,
      "quantity": 1
    }
  ],
}'

Response

{
  "id": 727,
  "version": "1.0.0",
  "status": "awaiting_payment",
  "currency": "BRL",
  "total": "29.35",
  "date_created": "2017-03-22T16:28:02",
  "date_created_gmt": "2017-03-22T19:28:02",
  "billing": {
    "first_name": "Ana",
    "last_name": "Abranches",
    "address_1": "Rua Santo Inácio",
    "address_number": "140",
    "address_2": "",
    "city": "Porto Alegre",
    "state": "RS",
    "postcode": "90570150",
    "country": "BR",
    "email": "ana.abranches@email.com",
    "phone": "5551981391215"
  },
  "payment_method": "credit",
}

Consultando o Status da Venda

GET /api/zerotef/v1/<id>

Campos

Obrigatórios
  • payment_method: slug do método de pagamento. Ex.: “pix”, “credit”, “debit”.
  • total: total a ser cobrado. Ex.: “49.90”
  • register_id: é o ID do caixa que está solicitando o pagamento. Serve para direcionar para a maquininha correta.
Complementares
  • billing: são os dados de faturamento do cliente
    • first_name:
    • last_name:
    • cpf_cnpj:
    • email:
    • phone:
    • address:
    • address_number:
    • address_2
    • neighborhood:
    • city:
    • state:
    • country:
    • postcode:
  • line_items: são os produtos/serviços sendo pagos
    • product_id:
    • variation_id:
    • quantity:
  • currency: é a moeda a ser considerada. Por padrão, é o real brasileiro (BRL).

Retorno

  • id: é o ID da venda, que deve ser usado para consultar o status.
  • version: é a versão em que o sistema está.
  • status: é o status em que está a venda.
  • total: é o valor total da venda.
  • currency: é a moeda em que foi feita a venda.
  • payment_methor: o slug do meio de pagamento escolhido.
  • date_created: data da criação no fuso-horário da empresa.
  • date_created_gmt: data da criação no GMT.
  • billing: são os dados de faturamento do cliente
    • first_name:
    • last_name:
    • cpf_cnpj:
    • email:
    • phone:
    • address:
    • address_number:
    • address_2
    • neighborhood:
    • city:
    • state:
    • country:
    • postcode:
  • line_items: são os produtos/serviços sendo pagos
    • product_id:
    • variation_id:
    • quantity:

Request

curl -X POST https://seudominio.com.br/api/zerotef/v1 \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "payment_method": "pix",
  "billing": {
    "first_name": "Ana",
    "last_name": "Abranches",
    "address_1": "Rua Santo Inácio",
    "address_number": "140",
    "address_2": "",
    "city": "Porto Alegre",
    "state": "RS",
    "postcode": "90570150",
    "country": "BR",
    "email": "ana.abranches@email.com",
    "phone": "5551981391215"
  },
  "line_items": [
    {
      "product_id": 93,
      "quantity": 2
    },
    {
      "product_id": 22,
      "variation_id": 23,
      "quantity": 1
    }
  ],
}'

Response

{
  "id": 727,
  "version": "1.0.0",
  "status": "awaiting_payment",
  "currency": "BRL",
  "total": "29.35",
  "date_created": "2017-03-22T16:28:02",
  "date_created_gmt": "2017-03-22T19:28:02",
  "billing": {
    "first_name": "Ana",
    "last_name": "Abranches",
    "address_1": "Rua Santo Inácio",
    "address_number": "140",
    "address_2": "",
    "city": "Porto Alegre",
    "state": "RS",
    "postcode": "90570150",
    "country": "BR",
    "email": "ana.abranches@email.com",
    "phone": "5551981391215"
  },
  "payment_method": "credit",
}