/
Todo commands

Todo commands

CreateUpdateTodo

Creates or updates a todo in Microbizz.

If a todo with the given todo id already exists, then the todo will be overwritten.

If the todo provided has a todo id of 0, a new todo will be created and a new todo id will be provided.

If a toolid is provided then the tool will be attached to the todo.

Input

todo

todo

The todo to create/update

toolid

number

The ID of a tool to attach to the todo

changenote

bool

If a change note should be posted and a mail be sent etc; default is 1

Output

todo

todo

The todo object as it is in Microbizz after the update

CreateUpdateTodoByTodoNumber

Creates or updates a todo in Microbizz. The todo is identified by the number field in the todo.

If a todo with the given todo number already exists, then the todo will be overwritten, otherwise a new todo will be created and assigned the supplied todo number. Currently no test is made as to the validity of the todo number.

If a toolid is provided then the tool will be attached to the todo.

Input

todo

todo

The todo to create/update

toolid

number

The ID of a tool to attach to the todo

changenote

bool

If a change note should be posted and a mail be sent etc; default is 1

Output

todo

todo

The todo object as it is in Microbizz after the update

CloseTodoByID

Closes a todo by todo ID

The todo is only closed if close conditions are fullfilled. The command will not fail, if the todo isn't closed, but the returned object will reflect that the todo is still open

Input

todoid

number

The ID of the todo which should be closed

stateid

number

The state to which this todo should be closed to. (Obtained by GetTodoStates). Only close states is allowed here.

answer

answer

If a question form is requested on todo close, then the answers can be provided here.

note

note

A note, only the text field will be used, will be tagged with 'Solution'

Output

todo

todo

The todo object as it is in Microbizz after the update

GetTodosByLastChange

Get a collection of todos changed since a given date and time.

Input

changedate

date

Return all todo's changed on or after the provided date.

changetime

time

If this is provided only return todo's changed after the provided date and time.

resumekey

string

If a partial result is returned, provide the resumekey received along with the partial result, to get the rest of the entries

ignoreclosed

bool

If 1 then don't send todo's that current user do not have access to

onlyprojects

number

If 0 then projects are excluded if the "Hide projects in app and API" setting in MIcrobizz is enabled (this is default)

If 1 then only read projects, ignore the "Hide projects in app and API" setting

If 2 then projects are included even if the "Hide projects in app and API" setting is enabled

If 3 then projects are excluded

limitnumobjects

bool

If 1 then Microbizz will only send todo's that it thinks are particularly relevant for the user

skip_deleted

bool

If 1 then don't send deleted tasks

Output

todos

collection[todo]

A collection of the relevant todos, or an empty collection if no todosNiko was found.

resumekey

string

Sometimes the entire result cannot be returned because it's to large. In that case a resumekey is returned along with the results. Execute the command again with this resumekey to get the remaining results.

Notice that the result may be affected by the setting "Send closed tasks to the app this many days after closing". Also, if the remote agent is the Microbizz App 3 then the setting may be in a different way.

GetTodosByCustomerID

Get a collection of todos changed since a given date and time.

Input

customerid

int

finds all using this customerid

customerid

int

finds all using this customerid

ignoreclosed

bool

If 1 then don't send todo's that current user do not have access to

Output

todos

collection[todo]

A collection of the relevant todos, or an empty collection if no todos was found.

GetTodosByEAN

Get a collection of todos changed since a given date and time.

Input

EAN

int

finds all using this EAN

EAN

int

finds all using this EAN

ignoreclosed

bool

If 1 then don't send todo's that current user do not have access to

Output

todos

collection[todo]

A collection of the relevant todos, or an empty collection if no todosNiko was found.

GetTodosByRequisition

Get a collection of todos changed since a given date and time.

Input

requisition

string

finds all using this requisition

requisition

string

finds all using this requisition

ignoreclosed

bool

If 1 then don't send todo's that current user do not have access to

Output

todos

collection[todo]

A collection of the relevant todos, or an empty collection if no todosNiko was found.

GetTodoByID

Get a todo by their Microbizz todo id

If no such todo exist an empty collection will be returned.

Input

todoid

number

The microbizz todo id of the todo to fetch

Output

todos

collection[todo]

A collection either empty if no todo was found, or with exactly one element being the todo.

GetTodosByIDs

Get several todos at the same time by a set of Microbizz todo ids

Input

todoids

collection[number]

A collection of microbizz todo ids of the todos to fetch

Output

todos

collection[todo]

A collection either empty if no todos was found, or with all the found todos (in no particular order)

GetTodoByTodoNumber

Get a todo by their todo number.

If no such todo exist an empty collection will be returned.

If several todos exists with the provided todo number, only one of these (unpredicted) is returned.

Input

todonumber

string

The todo number of the customer to fetch

Output

todos

collection[ todo ]

A collection either empty if no todo was found, or with exactly one element being the todo.

GetTodosByFilterID

Get all todos which have a specific filter.

Input

filterid

number

The Microbizz ID of the filter

Output

todos

collection[ todo ]

 

GetTodoLogByID

Get the log for a todo by the ID and date.

If no such todo exist an empty collection will be returned.

If some todo exist in the log with the provided ID and date, will be returned log data.

Input

todoid

integer

The todo number of the customer to fetch

date

string

The date

logtype

string

Which log to read, either db (default) or activity

Output

result

collection[set]

A list of log lines, the contents of each set depends on the logtype parameter

Logtype = db

head

string

Log head information. Contains date, time, log level and user ID

text

string

Log text information

logname

string

Used log name

date

string

Log date

time

string

Log time

level

string

The level of the log

uid

integer

User ID

object

string

Log object data

 

Logtype = activity

userid

number

The Microbizz ID of the user who genereated this log line

customerid

number

The MB ID of a customer which may be relevant

unitid

number

The MB ID of a unit which may be relevant

projectid

number

The MB ID of a project which may be relevant

modcode

string

A code for which module generated this log line

date

date

When the log line was generated

time

time

 

text

string

The log line, may be HTML

link

string

An optional link to some page in MB which is relevant

 

GetTodosByPersonID

Get all todos which have a specific contact person.

Input

personid

number

The Microbizz ID of the contact person

Output

todos

collection[ todo ]

 

AddPhotoToTodo

Add a photo file to a todo.

Input

todoid

number

The ID of the todo to add the photo to.

title

string

A file title (not a file name)

imagedata

binary

A binary stream containing photo data in jpeg format.

onxnet

boolean

1 if the file should be visible on the extranet

createdate

date

When the photo was taken

createtime

time

When the photo was taken

tags

collection [number]

An optional collection of tags to attach to this image (tag IDs)

documentid

number

Optional ID of an existing file, to update the file instead of creating a new file

folder

string

The path of the folder, eg. "FilesFromAPI/Diagrams"

Output

document

document

A document object

 

AddFileToTodo

Add a file to a task.

Input

todoid

number

The ID of the task to add the file to.

filename

string

The name of the file, eg. “MyDocument.PDF”

filedata

binary

A binary stream. base64_encode(Required)

title

string

A file title (not a file name)

folder

string

The path of the folder, eg. "FilesFromAPI/Diagrams"

Output

None

-

-

AddAudioToTodo

Add an audio file to a todo.

Input

todoid

number

The ID of the todo to add the audio to.

title

string

A file title (not a file name)

format

string

One of: mp3 wav aac

audiodata

binary

A binary stream containing audio data in the specified format.

Output

None.

-

-

GetTodoTemplates

Get a list of all todo templates.

Input

None.

-

-

Output

templates

collection [ todotemplate ]

The available templates

GetTodoStates

Get a list of all todo states.

Input

None.

-

-

Output

states

collection [ todostate ]

The available states

CreateTodoFromTemplate

Create a todo based on a given template.

If a toolid is provided then the tool will be attached to the todo.

If tdesc or tdeschtml is set. it will overwrite the template. If none. the template description will be the description.

Input

templateid

number

The id of the template (which can be obtained by GetTodoTemplates)

title

string

A base title for the created todo

customerid

number

An id of a customer on which to attach the todo. (In some configurations this is required)

toolid

number

The ID of a tool to attach to the todo

tdesc

string

description overwritten.

tdeschtml

html

description in html format.

subtemplates

set

IDs of the subtemplates that should be used, default is all

Output

todo

todo

The primary todo created from the template. (A template can contain more than one todo)

GetDocumentsByTodoID

Get all documents on a todo by todo id

Input

todoid

number

The Microbizz todo ID

inclthumbs

bool

True to include thumbnails

inclfolders

bool

True to include folders

Output

documents

collection [ document ]

The documents present on the todo

folders

collection [ folder ]

The folders present on the todo

Product use

GetProductUseByLastChange

Get a collection of all product use since the given date.

Input

changedate

date

Return all product use on or after the provided date.

changetime

time

If this is provided only return product use changed after the provided date and time.

resumekey

string

If a partial result is returned, provide the resumekey received along with the partial result, to get the rest of the entries

include_price

bool

1 if prices should be included anyway even it set not to.

Output

productuse

collection[ todoitem ]

A collection of the relevant product use, or an empty collection if no products were used.

resumekey

string

Sometimes the entire result cannot be returned because it's to large. In that case a resumekey is returned along with the results. Execute the command again with this resumekey to get the remaining results.

GetProductUseByTodoID

Get a collection of all product use on the given todo.

Input

todoid

number

ID of todo to receive product use

include_price

bool

1 if prices should be included anyway even it set not to.

Output

productuse

collection[ todoitem ]

A collection of the relevant product use, or an empty collection if no products were used on this todo.

GetProductUseByToolID

Get a collection of all product use on the given tool.

Input

toolid

number

ID of tool to receive product use

spareparts

boolean

1 to get spareparts only, 0 to get non-spareparts only

include_price

bool

1 if prices should be included anyway even it set not to.

Output

productuse

collection[ todoitem ]

A collection of the relevant product use, or an empty collection if no products were used with this tool.

DeleteProductUseByID

Delete some product use by product use ID. The command will succeed even if the product use doesn't exist.

Notice that product use may either be deleted or offset. If the user is allowed to delete, then it is deleted, otherwise if the user is allowed to offset then the product use is  offset, otherwise you get an error.

Input

productuseid

number

ID of the product use to remove

Output

None

-

-

AddProductUse

Deprecated: Consider using CreateUpdateProductUse

Add product use to the todo specified by the given todo ID.

Input

productuse

todoitem

The product use. Even though the id field must be provided, it is ignored.

todoid

number

ID of todo to receive product use

nopricecalc

boolean

Set to 1 to disable price calculation (eg. when copying product use)

copyid

number

Optional ID of the prod.use that was copied, used for copying some details

Output

None

-

-

AddProductUseFromEDI

Add product use to a task. Discounts and profit calculations will be made on the product use and therefore override this information on the provided object.

Input

productuse

todoitem

The product use. Even though the id field must be provided, it is ignored.

Output

None

-

-

AddPartsList

Add product use to the todo specified by the given todo ID. Most of the details will be taken from the parts list setup.

Input

productuse

collection[ partuse ]