Skip to content

Commit 46381e9

Browse files
author
Crhistian Ramirez
committed
✏️ update docs to include information on error handling
1 parent 1d2343e commit 46381e9

43 files changed

Lines changed: 165 additions & 143 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ The OrderCloud SDK for Javascript is a modern client library for building soluti
1212
- [Filtering](#🔍-filtering)
1313
- [Impersonation](#👬-impersonation)
1414
- [Typescript Support](#typescript-support)
15+
- [Handling Errors](#handling-errors-🐛)
1516
- [License](#📄-license)
1617
- [Contributing](#🤝-contributing)
1718
- [Getting Help](#🆘-getting-help)
@@ -277,6 +278,30 @@ Categories.List<MyCategory>('mock-catalog-id')
277278

278279
This is nicer and especially preferable for models like `Order` which have many nested models each with their own `xp` fields that must be defined at the top level. For example: `Order<OrderXp, FromUserXp, BillingAddressXp>`. Declaring those 3 xp types once on a custom `MyOrder` class is far cleaner than declaring them on every call to `Orders.Get` or `Orders.List`.
279280

281+
## Handling Errors 🐛
282+
283+
The SDK uses a custom error ([`OrderCloudError`](https://ordercloud-api.github.io/ordercloud-javascript-sdk/classes/orderclouderror.html)) to provide rich and useful information in the case of an error.
284+
285+
```typescript
286+
Products.Get('my-product')
287+
.catch(error => {
288+
if(error.isOrderCloudError) {
289+
// the request was made and the API responded with a status code
290+
// that falls outside of the range of 2xx, the error will be of type OrderCloudError
291+
// https://ordercloud-api.github.io/ordercloud-javascript-sdk/classes/orderclouderror.html
292+
console.log(error.message);
293+
console.log(error.errors);
294+
} else if (error.request) {
295+
// the request was made but no response received
296+
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of http.ClientRequest in node.js
297+
console.log(error.request);
298+
} else {
299+
// Something happened in setting up the request that triggered an Error
300+
console.log('Error', error.message);
301+
}
302+
})
303+
```
304+
280305
## 📄 License
281306

282307
OrderCloud's Javascript SDK is an open-sourced software licensed under the [MIT license](./LICENSE).

docs-templates/partials/type.hbs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,13 @@
3131
{{/with}}
3232
{{else}}
3333
{{#if types}}
34-
type
3534
{{#each types}}
3635
{{#if @index}}
3736
<span class="tsd-signature-symbol"> {{#ifCond ../type '==' 'intersection'}}&amp;{{else}}|{{/ifCond}} </span>
3837
{{/if}}{{> type}}
3938
{{/each}}
4039
{{else}}
4140
{{#if elements}}
42-
elements
4341
{{#compact}}
4442
<span class="tsd-signature-symbol">[</span>
4543

docs/classes/addresses.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,10 @@ <h5><span class="tsd-flag ts-flagOptional">Optional</span> page<wbr>Size<span cl
312312
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5>
313313
</li>
314314
<li class="tsd-parameter">
315-
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<wbr>On<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
315+
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<wbr>On<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
316316
</li>
317317
<li class="tsd-parameter">
318-
<h5><span class="tsd-flag ts-flagOptional">Optional</span> sort<wbr>By<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Phone"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Phone"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
318+
<h5><span class="tsd-flag ts-flagOptional">Optional</span> sort<wbr>By<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Phone"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Phone"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
319319
</li>
320320
</ul>
321321
</li>

docs/classes/adminaddresses.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,10 @@ <h5><span class="tsd-flag ts-flagOptional">Optional</span> page<wbr>Size<span cl
236236
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5>
237237
</li>
238238
<li class="tsd-parameter">
239-
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<wbr>On<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
239+
<h5><span class="tsd-flag ts-flagOptional">Optional</span> search<wbr>On<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
240240
</li>
241241
<li class="tsd-parameter">
242-
<h5><span class="tsd-flag ts-flagOptional">Optional</span> sort<wbr>By<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Phone"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Phone"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
242+
<h5><span class="tsd-flag ts-flagOptional">Optional</span> sort<wbr>By<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">"ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"Phone"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!AddressName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!ID"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!DateCreated"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!CompanyName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!FirstName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!LastName"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Street2"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!City"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!State"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Zip"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Country"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"!Phone"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
243243
</li>
244244
</ul>
245245
</li>

0 commit comments

Comments
 (0)