Skip to content
💙 Conta Azul - Unofficial Node.js bindings to the ContaAzul API
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
bin
src
test/resources
.eslintrc.json
.gitignore
LICENSE 🚦 Code Climate and Badges! Jan 25, 2020
README.md
package-lock.json
package.json

README.md

ContaAzul logo
npm install contaazul --save

Unofficial Node.js bindings to the ContaAzul API - https://developers.contaazul.com/

Field Control ♥ Maintainability Test Coverage

Built with ❤︎ by FieldControl and contributors


Installation

This client is intended for server side use only.

npm install contaazul --save

Playground

You can run and watch everything working fine at bin/playground.js script

Note: You must enter your accessToken before running:

node bin/playground.js

Usage

const ContaAzul = require('contaazul')
const client = new ContaAzul({
  accessToken: 'Wx15BlcpBbQyl15y64I0vDfVPWbsTdNX<3'
})

Resources

Product

// Create a product
const response = await client.products.create({
  name: 'Game Atari ET',
  value: 100,
  cost: 80,
  code: 'Game-1',
  barcode: '501234567890',
  available_stock: 1000,
  ncm_code: '96140000',
  cest_code: '0100300',
  net_weight: 10,
  gross_weight: 15
})
// {
//   "status": 201,
//   "data": {
//     "id": "58a5471a-c121-4c0a-b2f4-1a22d9a34ef9",
//     "name": "Game Atari ET",
//     "value": 100,
//     "cost": 80,
//     "code": "Game-1",
//     "barcode": "501234567890",
//     "available_stock": 1000,
//     "ncm_code": "96140000",
//     "cest_code": "0100300",
//     "net_weight": 10,
//     "gross_weight": 15,
//     "category": {
//       "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//       "name": "Kitchen utensils"
//     }
//   }
// }
// Get a product
const response = await client.products.get('c7288c09-829d-48b9-aee2-4f744e380587')
// {
//   "status": 200,
//   "data": {
//     "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//     "name": "Game Atari ET",
//     "value": 100,
//     "cost": 80,
//     "code": "Game-1",
//     "barcode": "501234567890",
//     "available_stock": 1000,
//     "ncm_code": "96140000",
//     "cest_code": "0100300",
//     "net_weight": 10,
//     "gross_weight": 15,
//     "category": {
//       "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//       "name": "Kitchen utensils"
//     }
//   }
// }
// Update a product
const response = await client.products.update('6c91422c-51f4-4f25-8980-a2c0b9295742', {
  name: 'Game Atari ET',
  value: 100,
  cost: 80,
  code: 'Game-1',
  barcode: '501234567890',
  available_stock: 1000,
  ncm_code: '96140000',
  cest_code: '0100300',
  net_weight: 10,
  gross_weight: 15
})
// {
//   "status": 200,
//   "data": {
//     "id": "58a5471a-c121-4c0a-b2f4-1a22d9a34ef9",
//     "name": "Game Atari ET",
//     "value": 100,
//     "cost": 80,
//     "code": "Game-1",
//     "barcode": "501234567890",
//     "available_stock": 1000,
//     "ncm_code": "96140000",
//     "cest_code": "0100300",
//     "net_weight": 10,
//     "gross_weight": 15,
//     "category": {
//       "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//       "name": "Kitchen utensils"
//     }
//   }
// }
// List products
const response = await client.products.list({
  name: 'Game Atari ET'
})
// {
//   "status": 200,
//   "data": [
//     {
//       "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//       "name": "Game Atari ET",
//       "value": 100,
//       "cost": 80,
//       "code": "Game-1",
//       "barcode": "501234567890",
//       "available_stock": 1000,
//       "ncm_code": "96140000",
//       "cest_code": "0100300",
//       "net_weight": 10,
//       "gross_weight": 15,
//       "category": {
//         "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//         "name": "Kitchen utensils"
//       }
//     }
//   ]
// }
// Delete a product
const response = await client.products.delete('f059d668-a4e3-45e8-9cac-be30e6ea3b53')
// {
//   "status": 204
// }
// List product categories
const response = await client.products.listCategories({
  name: "Kitchen utensils",
  page: 1,
  size: 1
})
// {
//   "status": 200,
//   "data": [{
//     "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//     "name": "Kitchen utensils"
//   }]
// }
// Get product category
const response = await client.products.getCategory('c7288c09-829d-48b9-aee2-4f744e380587')
// {
//   "status": 200,
//   "data": {
//     "id": "c7288c09-829d-48b9-aee2-4f744e380587",
//     "name": "Kitchen utensils"
//   }
// }

Service

// Create a service
const response = await client.services.create({
  name: 'Fix car engine',
  value: 100,
  cost: 80,
  code: 'FIX-ENG-001'
})
// {
//   "status": 201,
//   "data": {
//     "id": "5b25d45f-0364-49de-b626-e277752a082d",
//     "name": "Fix car engine",
//     "value": 100,
//     "cost": 80,
//     "code": "FIX-ENG-001"
//   }
// }
// Get a service
const response = await client.services.get('5b25d45f-0364-49de-b626-e277752a082d')
// {
//   "status": 200,
//   "data": {
//     "id": "5b25d45f-0364-49de-b626-e277752a082d",
//     "name": "Fix car engine",
//     "value": 100,
//     "cost": 80,
//     "code": "FIX-ENG-001"
//   }
// }
// Update a service
const response = await client.services.update('5b25d45f-0364-49de-b626-e277752a082d', {
  name: 'Fix car engine',
  value: 100,
  cost: 80,
  code: 'FIX-ENG-001'
})
// {
//   "status": 200,
//   "data": {
//     "id": "5b25d45f-0364-49de-b626-e277752a082d",
//     "name": "Fix car engine",
//     "value": 100,
//     "cost": 80,
//     "code": "FIX-ENG-001"
//   }
// }
// List services
const response = await client.services.list({ 
  name: 'Fix car engine'
})
// {
//   "status": 200,
//   "data": [
//     {
//       "id": "5b25d45f-0364-49de-b626-e277752a082d",
//       "name": "Fix car engine",
//       "value": 100,
//       "cost": 80,
//       "code": "FIX-ENG-001"
//     }
//   ]
// }
// Delete a service
const response = await client.services.delete('6dafd126-be9b-4b58-934f-f2137c1f6489')
// {
//   "status": 204
// }

Customer

// Create a customer
const response = await client.customers.create({
  name: 'John C.',
  company_name: 'John Company',
  email: 'john.company@johncompany.com',
  business_phone: '99 99999-9999',
  mobile_phone: '99 99999-9999',
  person_type: 'NATURAL',
  document: '00011122233',
  identity_document: '00011122233',
  state_registration_number: '00011122233',
  state_registration_type: 'NO_CONTRIBUTOR',
  city_registration_number: '00011122233',
  date_of_birth: '1988-12-23T08:32:10.118-05',
  notes: 'Important customer, always wears a green hat',
  contacts: [
    {
      name: 'John C.',
      business_phone: '99 9999-9999',
      email: 'John.C@johncompany.com',
      job_title: 'Developer'
    }
  ],
  address: {
    zip_code: '79106-330',
    street: 'Rua Parma',
    number: '224',
    complement: 'Apartamento 2058',
    neighborhood: 'Jardim Itália'
  }
})
// {
//   "status": 201,
//   "data": {
//     "id": "45165503-45ac-4f58-8739-74f9a1049d66",
//     "name": "John C.",
//     "company_name": null,
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": null,
//     "date_of_birth": "1988-12-23T13:32:10.118Z",
//     "notes": "Important customer, always wears a green hat",
//     "created_at": "2020-01-25T15:04:03.690Z",
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// List customers
const response = await client.customers.list({
  document: '00011122233'
})
// {
//   "status": 200,
//   "data": [{
//     "id": "45165503-45ac-4f58-8739-74f9a1049d66",
//     "name": "John C.",
//     "company_name": null,
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": null,
//     "date_of_birth": "1988-12-23T13:32:10.118Z",
//     "notes": "Important customer, always wears a green hat",
//     "created_at": "2020-01-25T15:04:03.690Z",
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }]
// }
// Get a customer
const response = await client.customers.get('45165503-45ac-4f58-8739-74f9a1049d66')
// {
//   "status": 200,
//   "data": {
//     "id": "45165503-45ac-4f58-8739-74f9a1049d66",
//     "name": "John C.",
//     "company_name": null,
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": null,
//     "date_of_birth": "1988-12-23T03:00:00.000Z",
//     "notes": "Important customer, always wears a green hat",
//     "created_at": "2020-01-25T03:00:00.000Z",
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// List customer contacts
const response = await client.customers.listContacts('45165503-45ac-4f58-8739-74f9a1049d66')
// {
//   "status": 200,
//   "data": [
//     {
//       "name": "John C.",
//       "business_phone": "99 9999-9999",
//       "email": "John.C@johncompany.com",
//       "job_title": "Developer"
//     }
//   ]
// }
// Update a customer
const response = await client.customers.update('45165503-45ac-4f58-8739-74f9a1049d66', {
  name: 'John C.',
  company_name: 'John Company',
  email: 'john.company@johncompany.com',
  business_phone: '99 99999-9999',
  mobile_phone: '99 99999-9999',
  document: '00011122233',
  identity_document: '00011122233',
  state_registration_number: '00011122233',
  state_registration_type: 'NO_CONTRIBUTOR',
  city_registration_number: '00011122233',
  date_of_birth: '1988-12-23T08:32:10.118-05',
  notes: 'Important customer, always wears a green hat',
  enabled: true,
  address: {
    zip_code: '79106-330',
    street: 'Rua Parma',
    number: '224',
    complement: 'Apartamento 2058',
    neighborhood: 'Jardim Itália'
  }
})
// {
//   "status": 200,
//   "data": {
//     "id": "45165503-45ac-4f58-8739-74f9a1049d66",
//     "name": "John C.",
//     "company_name": null,
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": null,
//     "date_of_birth": "1988-12-23T13:32:10.118Z",
//     "notes": "Important customer, always wears a green hat",
//     "created_at": "2020-01-25T03:00:00.000Z",
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// Inactivate a customer
const response = await client.customers.inactivate('45165503-45ac-4f58-8739-74f9a1049d66')
// {
//   "status": 204
// }
// Delete a customer
const response = await client.customers.delete('45165503-45ac-4f58-8739-74f9a1049d66')
// {
//   "status": 204
// }

Supplier beta

// Create a supplier
const response = await client.suppliers.create({
  name: 'John C.',
  company_name: 'John C. Company',
  email: 'john.company@johncompany.com',
  business_phone: '99 99999-9999',
  mobile_phone: '99 99999-9999',
  person_type: 'NATURAL',
  document: '00011122233',
  identity_document: '00011122233',
  state_registration_number: '00011122233',
  state_registration_type: 'NO_CONTRIBUTOR',
  city_registration_number: '00011122233',
  date_of_birth: '1988-12-23T08:32:10.118-05',
  notes: 'Supplier with two cnpj',
  foreignId: '1234',
  contactName: 'Randy Orton',
  address: {
    zip_code: '79106-330',
    street: 'Rua Parma',
    number: '224',
    complement: 'Apartamento 2058',
    neighborhood: 'Jardim Itália'
  }
})
// {
//   "status": 201,
//   "data": {
//     "id": "da6fc701-222b-4752-93b1-ad95c43d5034",
//     "name": "John C.",
//     "company_name": "John C. Company",
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": "00011122233",
//     "date_of_birth": "1988-12-23T13:32:10.118Z",
//     "notes": "Supplier with two cnpj",
//     "foreign_id": null,
//     "contact_name": null,
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// List suppliers
const response = await client.suppliers.list({
  company_name: 'John C. Company'
})
// {
//   "status": 200,
//   "data": [
//     {
//       "id": "da6fc701-222b-4752-93b1-ad95c43d5034",
//       "name": "John C.",
//       "company_name": "John C. Company",
//       "email": "john.company@johncompany.com",
//       "business_phone": "99 99999-9999",
//       "mobile_phone": "99 99999-9999",
//       "person_type": "NATURAL",
//       "document": "00011122233",
//       "identity_document": "00011122233",
//       "state_registration_number": "00011122233",
//       "state_registration_type": "NO_CONTRIBUTOR",
//       "city_registration_number": "00011122233",
//       "date_of_birth": "1988-12-23T03:00:00.000Z",
//       "notes": "Supplier with two cnpj",
//       "foreign_id": null,
//       "contact_name": null,
//       "address": {
//         "street": "Rua Parma",
//         "number": "224",
//         "complement": "Apartamento 2058",
//         "zip_code": "79106-330",
//         "neighborhood": "Jardim Itália",
//         "city": {
//           "name": "Campo Grande"
//         },
//         "state": {
//           "name": "MS"
//         }
//       }
//     }
//   ]
// }
// Get a supplier
const response = await client.suppliers.get('da6fc701-222b-4752-93b1-ad95c43d5034')
// {
//   "status": 200,
//   "data": {
//     "id": "da6fc701-222b-4752-93b1-ad95c43d5034",
//     "name": "John C.",
//     "company_name": "John C. Company",
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": "00011122233",
//     "date_of_birth": "1988-12-23T03:00:00.000Z",
//     "notes": "Supplier with two cnpj",
//     "foreign_id": null,
//     "contact_name": null,
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// Update a supplier
const response = await client.suppliers.update('da6fc701-222b-4752-93b1-ad95c43d5034', {
  name: 'John C.',
  company_name: 'John C. Company',
  email: 'john.company@johncompany.com',
  business_phone: '99 99999-9999',
  mobile_phone: '99 99999-9999',
  document: '00011122233',
  identity_document: '00011122233',
  state_registration_number: '00011122233',
  state_registration_type: 'NO_CONTRIBUTOR',
  city_registration_number: '00011122233',
  date_of_birth: '1988-12-23T08:32:10.118-05',
  notes: 'Supplier with two cnpj',
  foreignId: '1234',
  contactName: 'Randy Orton',
  address: {
    zip_code: '79106-330',
    street: 'Rua Parma',
    number: '224',
    complement: 'Apartamento 2058',
    neighborhood: 'Jardim Itália'
  }
})
// {
//   "status": 200,
//   "data": {
//     "id": "da6fc701-222b-4752-93b1-ad95c43d5034",
//     "name": "John C.",
//     "company_name": "John C. Company",
//     "email": "john.company@johncompany.com",
//     "business_phone": "99 99999-9999",
//     "mobile_phone": "99 99999-9999",
//     "person_type": "NATURAL",
//     "document": "00011122233",
//     "identity_document": "00011122233",
//     "state_registration_number": "00011122233",
//     "state_registration_type": "NO_CONTRIBUTOR",
//     "city_registration_number": "00011122233",
//     "date_of_birth": "1988-12-23T13:32:10.118Z",
//     "notes": "Supplier with two cnpj",
//     "foreign_id": null,
//     "contact_name": null,
//     "address": {
//       "street": "Rua Parma",
//       "number": "224",
//       "complement": "Apartamento 2058",
//       "zip_code": "79106-330",
//       "neighborhood": "Jardim Itália",
//       "city": {
//         "name": "Campo Grande"
//       },
//       "state": {
//         "name": "MS"
//       }
//     }
//   }
// }
// Delete a supplier
const response = await client.suppliers.delete('da6fc701-222b-4752-93b1-ad95c43d5034')
// {
//   "status": 204
// }

Contract beta

// Create a contract
const response = await client.contracts.create({
  number: 12,
  emission: '2020-01-25T14:17:22.725Z',
  status: 'COMMITTED',
  customer_id: '9cf6612f-7401-4944-8cff-986eaf99f3a5',
  products: [
    {
      description: 'Game Atari ET',
      quantity: 800,
      product_id: '89fadd16-ae13-49af-a0fc-c5ae5b3aaace',
      value: 10
    }
  ],
  services: [
    {
      description: 'Fix car engine',
      quantity: 800,
      service_id: '8278d6c4-cac2-4ee5-8f70-deed86384059',
      value: 80
    }
  ],
  discount: {
    measure_unit: 'VALUE',
    rate: 5
  },
  due_day: 5,
  duration: 10,
  notes: 'Contract for house rent',
  shipping_cost: 10
})
// {
//   "status": 201,
//   "data": {
//     "id": "a333a635-a026-44cf-9783-00d9b0c75a49",
//     "number": 1,
//     "emission": "2020-01-25T03:00:00.000Z",
//     "status": "COMMITTED",
//     "customer_id": "9cf6612f-7401-4944-8cff-986eaf99f3a5",
//     "discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "product_discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "service_discount": null,
//     "due_day": 5,
//     "duration": 10,
//     "payment_terms": null,
//     "notes": "Contract for house rent",
//     "shipping_cost": 10
//   }
// }
// Get a contract
const response = await client.contracts.get('a333a635-a026-44cf-9783-00d9b0c75a49')
// {
//   "status": 200,
//   "data": {
//     "id": "a333a635-a026-44cf-9783-00d9b0c75a49",
//     "number": 1,
//     "emission": "2020-01-25T03:00:00.000Z",
//     "status": "COMMITTED",
//     "customer_id": "9cf6612f-7401-4944-8cff-986eaf99f3a5",
//     "discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "product_discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "service_discount": null,
//     "due_day": 5,
//     "duration": 10,
//     "payment_terms": null,
//     "notes": "Contract for house rent",
//     "shipping_cost": 10
//   }
// }

Sale

// Create a sale
const response = await client.sales.create({
  number: 12,
  emission: '2020-01-25T16:05:57.212Z',
  status: 'COMMITTED',
  customer_id: '19b2b240-7740-4e6e-b1b6-d44d1b206e1d',
  products: [
    {
      description: 'Game Atari ET',
      quantity: 2,
      product_id: '4563c1a4-c030-4aa9-8401-5b176e6e155e',
      value: 50
    }
  ],
  services: [
    {
      description: 'Fix car engine',
      quantity: 1,
      service_id: 'c64c78b4-579a-4c3c-8633-945d957de05c',
      value: 200
    }
  ],
  discount: {
    measure_unit: 'VALUE',
    rate: 5
  },
  payment: {
    type: 'CASH',
    installments: [
      {
        number: 1,
        value: 305,
        due_date: '2020-01-25T16:05:57.212Z',
        status: 'PENDING'
      }
    ]
  },
  notes: 'Sale made by noon',
  shipping_cost: 10
})
// {
//   "status": 201,
//   "data": {
//     "id": "968150ce-d57a-4a97-ab6c-4da83b255f79",
//     "number": 12,
//     "emission": "2020-01-25T03:00:00.000Z",
//     "status": "COMMITTED",
//     "scheduled": false,
//     "customer_id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//     "customer": {
//       "id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//       "name": null,
//       "company_name": null,
//       "email": null,
//       "person_type": null
//     },
//     "discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "product_discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "service_discount": null,
//     "payment": {
//       "type": "CASH",
//       "installments": [
//         {
//           "number": 1,
//           "value": 305,
//           "due_date": "2020-01-25T16:05:57.212Z",
//           "status": "PENDING"
//         }
//       ]
//     },
//     "payment_terms": null,
//     "notes": "Sale made by noon",
//     "shipping_cost": 10,
//     "total": 305,
//     "seller": {
//       "id": null,
//       "name": null
//     }
//   }
// }
// List sales
const response = await client.sales.list({
  status: 'COMMITTED',
  customer_id: '19b2b240-7740-4e6e-b1b6-d44d1b206e1d'
})
// {
//   "status": 200,
//   "data": [
//     {
//       "id": "968150ce-d57a-4a97-ab6c-4da83b255f79",
//       "number": 12,
//       "emission": "2020-01-25T03:00:00.000Z",
//       "status": "COMMITTED",
//       "scheduled": false,
//       "customer_id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//       "customer": {
//         "id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//         "name": "John C.",
//         "company_name": null,
//         "email": null,
//         "person_type": "NATURAL"
//       },
//       "discount": {
//         "measure_unit": "VALUE",
//         "rate": 5
//       },
//       "product_discount": {
//         "measure_unit": "VALUE",
//         "rate": 5
//       },
//       "service_discount": null,
//       "payment": {
//         "type": "CASH",
//         "installments": [
//           {
//             "number": 1,
//             "value": 305,
//             "due_date": "2020-01-25T03:00:00.000Z",
//             "status": "PENDING"
//           }
//         ]
//       },
//       "payment_terms": null,
//       "notes": "Sale made by noon",
//       "shipping_cost": 10,
//       "total": 305,
//       "seller": {
//         "id": "f38da1e5-6151-45d0-b108-d7f22d0eaac7",
//         "name": "Luiz Freneda"
//       }
//     }
//   ]
// }
// Get a sale
const response = await client.sales.get('968150ce-d57a-4a97-ab6c-4da83b255f79')
// {
//   "status": 200,
//   "data": {
//     "id": "968150ce-d57a-4a97-ab6c-4da83b255f79",
//     "number": 12,
//     "emission": "2020-01-25T03:00:00.000Z",
//     "status": "COMMITTED",
//     "scheduled": false,
//     "customer_id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//     "customer": {
//       "id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//       "name": "John C.",
//       "company_name": null,
//       "email": null,
//       "person_type": "NATURAL"
//     },
//     "discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "product_discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "service_discount": null,
//     "payment": {
//       "type": "CASH",
//       "installments": [
//         {
//           "number": 1,
//           "value": 305,
//           "due_date": "2020-01-25T03:00:00.000Z",
//           "status": "PENDING"
//         }
//       ]
//     },
//     "payment_terms": null,
//     "notes": "Sale made by noon",
//     "shipping_cost": 10,
//     "total": 305,
//     "seller": {
//       "id": null,
//       "name": "Luiz Freneda"
//     }
//   }
// }
// Update a sale
const response = await client.sales.update('968150ce-d57a-4a97-ab6c-4da83b255f79', {
  number: 12,
  emission: '2020-01-25T16:05:57.212Z',
  status: 'COMMITTED',
  customer_id: '19b2b240-7740-4e6e-b1b6-d44d1b206e1d',
  products: [
    {
      description: 'Game Atari ET',
      quantity: 2,
      product_id: '4563c1a4-c030-4aa9-8401-5b176e6e155e',
      value: 50
    }
  ],
  services: [
    {
      description: 'Fix car engine',
      quantity: 1,
      service_id: 'c64c78b4-579a-4c3c-8633-945d957de05c',
      value: 200
    }
  ],
  discount: {
    measure_unit: 'VALUE',
    rate: 5
  },
  payment: {
    type: 'CASH',
    installments: [
      {
        number: 1,
        value: 305,
        due_date: '2020-01-25T16:05:57.212Z',
        status: 'PENDING'
      }
    ]
  },
  notes: 'Sale made by noon',
  shipping_cost: 10
})
// {
//   "status": 200,
//   "data": {
//     "id": "968150ce-d57a-4a97-ab6c-4da83b255f79",
//     "number": 12,
//     "emission": "2020-01-25T03:00:00.000Z",
//     "status": "COMMITTED",
//     "scheduled": false,
//     "customer_id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//     "customer": {
//       "id": "19b2b240-7740-4e6e-b1b6-d44d1b206e1d",
//       "name": "John C.",
//       "company_name": null,
//       "email": null,
//       "person_type": "NATURAL"
//     },
//     "discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "product_discount": {
//       "measure_unit": "VALUE",
//       "rate": 5
//     },
//     "service_discount": null,
//     "payment": {
//       "type": "CASH",
//       "installments": [
//         {
//           "number": 1,
//           "value": 305,
//           "due_date": "2020-01-25T16:05:57.212Z",
//           "status": "PENDING"
//         }
//       ]
//     },
//     "payment_terms": null,
//     "notes": "Sale made by noon",
//     "shipping_cost": 10,
//     "total": 305,
//     "seller": {
//       "id": "f38da1e5-6151-45d0-b108-d7f22d0eaac7",
//       "name": "Luiz Perez"
//     }
//   }
// }
// Get sale's items
const response = await client.sales.listItems('968150ce-d57a-4a97-ab6c-4da83b255f79', {
  description: 'Fix car engine'
})
// {
//   "status": 200,
//   "data": [
//     {
//       "description": "Fix car engine",
//       "quantity": 1,
//       "item": {
//         "id": "59b18bc4-b360-4bde-99ac-9da3183db14e",
//         "name": "Fix car engine",
//         "value": 100,
//         "cost": 80
//       },
//       "itemType": "SERVICE",
//       "value": 200
//     }
//   ]
// }
// Get sale's installments
const response = await client.sales.getInstallment({
  id: '968150ce-d57a-4a97-ab6c-4da83b255f79',
  number: 1
})
// {
//   "status": 200,
//   "data": {
//     "number": 1,
//     "value": 305,
//     "due_date": "2020-01-25T03:00:00.000Z",
//     "status": "PENDING"
//   }
// }
// Update sale's installment status
const response = await client.sales.updateInstallment({
  id: '968150ce-d57a-4a97-ab6c-4da83b255f79',
  number: 1,
  status: 'ACQUITTED'
})
// {
//   "status": 200,
//   "data": {
//     "number": 1,
//     "value": 305,
//     "due_date": "2020-01-25T03:00:00.000Z",
//     "status": "ACQUITTED"
//   }
// }
// Delete a sale
const response = await client.sales.delete('968150ce-d57a-4a97-ab6c-4da83b255f79')
// {
//   "status": 204
// }

Pull Requests

  • Add tests! Your patch won't be accepted if it doesn't have tests.
  • Document any change in behaviour. Make sure the README and any other relevant documentation are kept up-to-date.
  • Create topic branches. Don't ask us to pull from your master branch.
  • One pull request per feature. If you want to do more than one thing, send multiple pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.





Open source, from Field Control with ❤

You can’t perform that action at this time.